커널 소스 디렉토리 구조

markyang92·2023년 1월 29일
0

kernel

목록 보기
1/2

커널 소스 구조

  • arch 하부 디렉토리는 아키텍처별로 동작하는 커널 코드가 있다.
    • arm: 32bit ARM 아키텍처 코드
    • arm64: 64bit ARM 아키텍처 코드
    • x86: x86 아키텍처 코드
  • include
    • include에는 커널 코드 빌드에 필요한 헤더파일 존재
  • Documentation
    • 커널 기술 문서가 있음
    • 커널 시스템에 대한 기본 동작을 설명하는 문서를 찾을 수 있음
  • kernel
    • 커널의 핵심 코드가 있는 디렉토리로, 다음과 같은 하위 디렉토리를 확인할 수 있음
      • irq: 인터럽트 관련 코드
      • sched: 스케줄링 코드
      • power: 커널 파워 매니지먼트 코드
      • locking: 커널 동기화 관련 코드
      • printk: 커널 콘솔 관련 코드
      • trace: frace 관련 코드
    • 위는 아키텍처와 무관한 커널 공통 코드가 있으며, 아키텍처별로 동작하는 커널 코드는 arch/*/kernel/에 있다. ARMv7 라즈비안의 경우 아키텍처 관련 코드를 arch/arm/kernel/에서 확인할 수 있음
  • mm
    • Memory Management의 약자로 가상 메모리 및 페이징 관련 코드가 있음
    • 아키텍처별로 동작하는 메모리 관리 코드는 arch/*/mm 아래에 있음
    • 라즈비안의 경우 ARMv7 아키텍처 관련 코드를 arch/arm/mm에서 확인할 수 있음
  • drivers
    • 모든 시스템의 디바이스 드라이버 코드가 있음. 하부 디렉토리에 드라이버 종류별 소스가 들어있음
  • fs
    • 모든 파일 시스템 코드가 담긴 폴더이다. fs 폴더에 있는 파일 시스템 공통 함수가 들어있고 파일 시스템별 하나씩 세분화된 폴더를 볼 수 있다.
  • lib
    • lib 디렉토리에는 커널에서 제공하는 라이버리 코드가 있다. 아키텍처에 종속적인 라이브러리 코드는 arch/*/lib/에 있다.
profile
pllpokko@alumni.kaist.ac.kr

0개의 댓글