task_struct가 가장 중요한 자료구조.
task_struct는 fork가 될 때 마다 하나씩 만들어진다.
init : 커널 초기화 , 부팅과정에서 수행되는 함수
kernel : task 생성 , 스케줄링
fs : 파일시스템 => Ext2,3,4
mm : 가상 메모리 구현 (페이지 , 세그멘테이션)
drivers : block디바이스 드라이버 , 캐릭터 디바이스 드라이버
net : 통신 프로도톡
arch : 아키텍쳐 - cpu에 종속적 => 특정 cpu의 하위디렉토리에 다시 자료구조가 존재
ipc : inter process communication : 메시지 , shm
include : 헤더파일이 모여있음
block : 블럭 디바이스들을 통합해서 관리 : i/o요청
se : 시큐리티
crypto : 암호화 알고리즘이 구현됨
certs : 접근 제어
sound : 사운드카드 관리
tools : 커널에서 사용하는 도구들
virt : 가상화 지원 코드 ex) KVM
lib : 커널에서 사용하는 라이브러리
usr : 램디스크같은 파일시스템 이미지들이 들어있다.
script : 커널 컴파일시 스크립트
sample : 커널에서 다이나믹 커널모듈이라 부르는 모듈 프로그램 지원(예제)
document : 커널에 대한 문서
firmware : 바이너리 수준에서 제공되는 부분들