강좌 & 팁
커널 버전은 3.8.2 ( 현재 stable 버전 ) 기준으로 작성 하였습니다.
Documentation
- 커널 과 관련된 다양한 종류의 문서들
arch
- 하드웨어 아키텍처에 의존 적인 내용
block
- 블록 레이어 처리( 블록 디바이스 및 파일 시스템 ) 와 관련된 핵심적인 내용
crypto
- 암호화 처리와 관련된 내용
drivers
- 드라이버들 구현
- 문자 (character) 드라이버 들 ( char )
- 블록 (Block) 드라이버 들 ( block )
- 네트웍 (Network) 드라이버 들 ( driver/net )
- 기타 다양한 종류의 드라이버들 ( bluetooth, cdrom, hid, input, gpio, misc, tty, usb, video )
firmware
- 각각 디바이스들에 필요한 펌 웨어 로딩 처리 및 펌 웨어 이미지로 구성
fs
- 다양한 파일 시스템들 (cifs, cramfs, ext2, fat, jffs2, nfs, ntfs , proc, sysfs, ubifs, yaffs2 등 )
include
- 커널에서 사용하는 헤더 파일들
init
- 초기화 처리와 관련된 부분 으로, 커널의 메인 시작 함수 구현
ipc
- 커널이 지원하는 프로세스간 통신 ( 시스템콜, 메시지큐, 공유메모리 등 ) 기능 구현
- 참고, 파이프는 fs, 시그널은 kernel, 소켓은 net 에 구현되어 있음
kernel
- 프로세스, 타이밍, 시그널, event, irq, schedule 등의 커널 의 핵심 동작에 관련된 기능 구현
lib
- 커널에서 공통으로 사용하는 라이브러리들의 모음
mm
- 메모리 모델 및 메모리 관리자 ( 가상 메모리, Task 마다 할당되는 메모리 객체 관리, 커널 메모리 할당자 등 ) 구현
net
- 다양한 네트워크 처리와 관련된 부분 구현
- 다양한 통신 프로토콜 ( TCP/IP, IPX/SPX, AppleTalk, WAN Networking, PPP, Amateur Radio 등 ) 구현
- bluetooth, can, ethernet, wireless 등과 같은 다양한 유무선 통신 방식 구현
- router, bridge, masquerade, tunnelling 등과 같은 다양한 네트워크 구현
samples
- 샘플 커널 코드를 빌드 하고 테스트
scripts
- 커널 구성 및 컴파일 할 때 이용되는 스크립트
security
- 다양한 보안 처리와 관련 부분을 구현
sound
- 사운드 관련 드라이버 및 코덱 ( AC97, OSS 등 )과 관련된 내용
tools
- 다양한 종류의 유틸리티 툴( cpupower, firewire, perf, usb, vm 등 ) 제공
usr
- 초기 사용자 처리와 관련된 코드
virt
- 가상머신 처리와 관련된 코드