arch/
- CPU 종속적인 부분, 각 처리기 마다 하위 디렉터리로 구성(arch/i386, arch/alpha, arch/arm...)
- arch/arm/kernel/
하드웨어 종속적인 커널 관리 루틴
트랩, 인터럽트 처리 루틴
문맥교환 루틴
장치 구성, 초기화 루틴
- arch/arm/mm
하드웨어 종속적인 메모리 관리 루틴
init/
- 하드웨어 독립적인 커널 초기화 루틴(start_kernel)
- 태스크 0 (init_task or task[0]) 생성
- 태스크 1, 2, 3 등 데몬 프로세스 생성
kernel/
- 리눅스 커널의 가장 중심적인 디렉터리 (central section of the kernal)
- 하드웨어 독립적인 커널관리 루틴(하드웨어 종속적인 커널관리 루틴은 arch/arm/kernel 디렉터리에 존재)
- fork, exit 등 태스크 관련 시스템 호출 처리 루틴
- 스케줄러(scheduler) 루틴
- 시그널 처리(signal handling) 루틴
- 시간 관리(time management) 루틴
mm/
- 하드웨어 독립적인 메모리 관리 루틴(하드웨어 종속적인 메모리 관리 루틴은 arch/arm/mm 디렉터리에 존재)
- 가상 메모리 관리 루틴
- 페이징(paging), 스와핑(swapping)
fs/
- 가상 파일 시스템(virtual file system) 관리 루틴
- open, read 등 태스크 관련 시스템 호출 처리 루틴
- 특정 파일 시스템 관리 루틴은 하위 디렉터리에 존재(ext2, proc, nfs, msdos, coda,...)
drivers/
- 장치 드라이버 루틴
- drivers/block/ : 블록 장치 드라이버. 예를 들어 IDE디스크(hd)
- drivers/char/ : 문자 장치 드라이버. 예를 들어 serial ports, tty, modem, ..
- drivers/net : 네트웍 장치 드라이버. 예를들어 3C509,...
- drivers/pci: PCI bus 제어
- drivers/cdrom: CD-ROM 드라이버
- drivers/scsi: SCSI 인터페이스 관리
sound/
ipc/
- 프로세스간 통신 루틴
- 세마포어(semaphores), 공유 메모리(shared memory), 메시지 큐(message queues)
net/
- TCP/IP, ARP(Address Resolution Protocol) 등 네트웍 통신 프로토콜(네트웍 장치 드라이버는 drivers/net에 존재)
- 소켓 인터페이스
include/
- 커널 헤더
- 하드웨어 독립적인 헤더: include/linux
- 하드웨어 종속적인 헤더: include/asm-*** (예를 들어 Intel CPU 종속적인 헤더를 include/asm-i386/ 디렉터리에 존재)
lib/
- 커널 라이브러리 루틴
documentation/
- 커널 문서 디렉터리
'서버운영 (TA, ADMIN) > 리눅스' 카테고리의 다른 글
[리눅스] 시스템 구성 정보 확인하기 (0) | 2019.12.29 |
---|---|
[리눅스] 데몬(Disk And Execution MONitor) (0) | 2017.12.10 |
[리눅스] 커널이란? (0) | 2017.10.28 |
[리눅스] IPC의 종류와 특징 (0) | 2017.10.28 |
[리눅스] RAID란? RAID의 종류와 구성방식 (0) | 2017.10.27 |