본문 바로가기

전체 글

[Linux Kernel] 리눅스 커널 개발 가이드: Posting Patches 와 휴가 나가고 나서 격리때문에 블로그 글을 하나도 못썼다. 얼른 이 시리즈 마저 번역(이라기엔 야매지만)하고 다른 주제도 글 써야겠다. 5. Posting patches — The Linux Kernel documentation Sooner or later, the time comes when your work is ready to be presented to the community for review and, eventually, inclusion into the mainline kernel. Unsurprisingly, the kernel development community has evolved a set of conventions and procedures which www.kernel.or.. 더보기
[Linux Kernel] 리눅스 커널 개발 가이드: Getting the code right 4. Getting the code right — The Linux Kernel documentation 4.1.1. Coding style The kernel has long had a standard coding style, described in Linux kernel coding style. For much of that time, the policies described in that file were taken as being, at most, advisory. As a result, there is a substantial amount of co www.kernel.org 커뮤니티와 함께 설계를 하는 것도 할 이야기가 많지만, 모든 커널 개발 프로젝트의 증명은 결과적으로 코드가 한다. 다른 .. 더보기
[Linux Kernel] 리눅스 커널 개발 가이드: Early-stage planning 3. Early-stage planning — The Linux Kernel documentation When contemplating a Linux kernel development project, it can be tempting to jump right in and start coding. As with any significant project, though, much of the groundwork for success is best laid before the first line of code is written. Some time spent www.kernel.org 리눅스 커널 개발을 할때, 바로 코딩부터 시작하려는 욕심이 들 수도 있다. 하지만 대부분의 중요한 프로젝트가 그렇듯, 프로젝트.. 더보기
[Linux Kernel] 리눅스 커널 개발 가이드: How the development process works 2. How the development process works — The Linux Kernel documentation Linux kernel development in the early 1990’s was a pretty loose affair, with relatively small numbers of users and developers involved. With a user base in the millions and with some 2,000 developers involved over the course of one year, the kernel has s www.kernel.org 1990년대 초반의 리눅스 커널 개발은 꽤 느슨했고, 상대적으로 적은 수의 사용자와 개발자만이 참여했다... 더보기
[Linux Kernel] 리눅스 커널 개발 가이드: Introduction A guide to the Kernel Development Process — The Linux Kernel documentation © Copyright The kernel development community. www.kernel.org Introduction 이 문서는 커널 개발 프로세스와 개발자나, 고용주들이 개발에 참여하면서 겪는 좌절에 대해 다룬다. 커널 코드가 “mainline”에 머지되어야 할 이유는 많다. 코드가 mainline에 머지되어야 사용자들이 편하게 사용할 수 있고, 기여한 코드가 커뮤니티로부터 유지보수 받고, 커널 개발의 방향에 영향을 줄 수 있다. 리눅스 커널에 기여된 코드는 반드시 GPL 호환 라이선스여야 한다. 1.1 Executive summary (링크는 번역 후 추.. 더보기
[LWN.net] bdflush() 시스템 호출의 삭제 Bye-bye bdflush() [LWN.net] Did you know...?LWN.net is a subscriber-supported publication; we rely on subscribers to keep the entire operation going. Please help out by buying a subscription and keeping LWN on the net. By Jonathan Corbet July 5, 2021 The addition of system calls to t lwn.net 리눅스 커널에는 종종 시스템 호출이 추가된다. 거의 모든 merge window마다 시스템 호출이 추가된다. 하지만 시스템 호출이 제거되는 경우는 훨씬 적다. 근데 이제 시스템 호출 하나가.. 더보기
[KNK 정리] 7장: Basic Types 요약/정리 integer types integer type은 말 그대로 정수를 데이터로 하는 변수의 타입이다. signed와 unsigned로 나누는데, signed의 경우 첫 번째 비트(MSB, Most Significant Bit)를 부호 비트로 사용한다. MSB가 1이면 음수, MSB가 0이면 양수이다. unsigned의 경우는 항상 0보다 크거나 같은 정수만 표현할 수 있으며, MSB를 부호 비트로 사용하지 않는다. 기본적으로 C에서 integer type은 별도로 명시하지 않는 한 signed이다. 가장 일반적인 integer type은 앞의 글에서도 많이 사용했단 int이다. 그 외에 필요에 따라 long int, short int도 사용할 수 있다. long int, short int는 lo.. 더보기
[KNK 정리] 6장: Loops 요약/정리 반복문(Loop)는 정해진 구문을 반복적으로 실행하는데 사용된다. C에는 반복문으로 for, while, do가 있다. while statement 형식 : while ( expression ) statement while문은 expression이 거짓이 될때까지 statement를 실행한다. 먼저 expression을 evaluate하고, 참이라면 statement를 실행한다. 일반적으로 statement를 실행하다보면 특정 시점에서 expression이 거짓이 되어 while문이 종료된다. 그렇지 않은 경우에는 무한 루프에 빠지거나, break나 goto로 빠져나와야 한다. 일부러 expression에 1처럼 상수를 넣어서 무한루프를 만드는 경우도 있다. do statement 다른데선 d.. 더보기