Unix & Linux/Kernel

리눅스 커널 소스의 구조 ( Linux Kernel Structure )

LEEHANDS 2022. 7. 7. 15:35
반응형

arch

아키텍처별로 동작하는 커널 코드가 있음

- arm : 32bit 계열 arm 아키텍쳐

- arm64 : 64bit 계열 Arm 아키텍쳐

- x86 : 인텔 x86 아키텍쳐

 

include

커널 코드 빌드에 필요한 헤더

 

Documentation

커널 기술문서

 

kernel

커널의 핵심 코드가 있는 폴더 다음과 같은 하위 디렉토리

irq

인터럽트 관련

sched

스케쥴링 코드

power

커널 파워매니지먼트

locking

커널 동기화 관련코드

printk

커널 콘솔 관련 코드

trace

ftrace 관련 코드

 

위 디렉토리에는 아키텍처와 무관한 커널 공통 코드가 있고, 아키텍쳐 별로 동작하는 커널 코드는 arch/*/kernel 에 있습니다.

라즈비안의 경우 ARMv7 아키텍쳐 관련 코드는 arch/arm/kernel 에서 확인

 

mm

메모리 매니지먼트

이것역시 아키텍쳐별로 동작하는 메모리 관리 코드는 arch/*/mm 에 있다.

 

drivers

시스템의 디바이스 드라이버 코드가 있습니다.

하부 디렉토리에 드라이버 종류별 소스가 들어있습니다.

 

fs

모든 파일시스템 코드가 있다.

fs 폴더에 있는 파일에는 시스템 공통함수가 들어있고, 시스템 별로 하나씩 세분화된 폴더 볼 수 있다.

 

lib

커널에서 제공하는 라이브러리 코드

아키텍처에 종속적인 라이브러리는 arch/*/lib/ 에 있다.

반응형