kernel

태스크 관리자가 구현된 디렉토리. 문맥 교환(context switch)과 같은 하드웨어 종속적인 태스크 관리 부분은 arch/$(ARCH)$/kernel 디렉토리에 구현되어 있다.


arch

리눅스 커널 기능 중 하드웨어 종속적인 부분들이 구현된 디렉토리.


fs

리눅스에서 지원하는 다양한 파일시스템과 open(), read(), write() 등의 시스템 호출이 구현된 디렉토리. 현재 리눅스에는 약 50가지 정도의 파일시스템이 구현되어 있으며 계속 새로운 파일시스템이 개발중이다. 다양한 파일시스템을 일관된 인터페이스로 접근할 수 있도록 하기 위해 리눅스가 도입한 가상 파일시스템(virtual file system)도 이 디렉토리에 존재한다.


mm

메모리 관리자가 구현된 디렉토리.


driver

리눅스에서 지원하는 디바이스 드라이버가 구현된 디렉토리.


net

리눅스 커널 소스 중 상당히 많은 양을 차지하는 이 디렉토리는 리눅스가 지원하는 통신 프로토콜이 구현된 디렉토리다.


ipc

리눅스 커널이 지원하는 프로세스간 통신 기능이 구현된 디렉토리. 이 디렉토리에는 message passing, shared memory, semaphone가 구현되어 있다.
파이프는 fs 디렉토리에, 시그널은 kernel 디렉토리에, 소켓은 net 디렉토리에 구현되어 있다.


init

커널 초기화 부분, 즉 커널의 메인 시작 함수가 구현된 디렉토리. 하드웨어 종속적인 초기화가 arch/$(ARCH)$/kernel 디렉토리 하위에 있는 head.S와 mics.c에서 이뤄지고 나면, 이 디렉토리에 구현되어 있는 start_kernel() 이라는 C함수로 제어가 넘어 온다.


include

리눅스 커널이 사용하는 헤더 파일들이 구현된 디렉토리. 헤더 파일 중에서 하드웨어 독립적인 부분은 include/linux 하위 디렉토리에 정의되어 있으며, 하드웨어 종속적인 부분은 include/asm-$(ARCH) 디렉토리에 정의되어 있다.


others

Documentation - 리눅스 커널 및 명령어들에 대한 자세한 문서 파일들이 존재하는 디렉토리
lib - 커널 라이브러리 함수들이 구현된 디렉토리
scripts - 커널 구성 및 컴파일 시 이용되는 스크립트 들이 존재하는 디렉토리


+ Recent posts