자료구조

TAEWOO HA·2023년 8월 25일
0

Data Structure 자료구조

  • task_struct가 가장 중요한 자료구조.

  • task_struct는 fork가 될 때 마다 하나씩 만들어진다.

    • pid
    • mm => 메모리 => vmarea => text segment
    • pgd => 페이지테이블 => 페이지프레임
    • files => fd => 파일 테이블 => inode , op ,pos
    • fs_struct
    • signal => signal strcut
    • se(scheduling entity) => sched_entity
    • thread => thread_struct (문맥교환 저장) (특정 cpu의 레지스터 정보)
    • NUMA

  • init : 커널 초기화 , 부팅과정에서 수행되는 함수

  • kernel : task 생성 , 스케줄링

  • fs : 파일시스템 => Ext2,3,4

  • mm : 가상 메모리 구현 (페이지 , 세그멘테이션)

  • drivers : block디바이스 드라이버 , 캐릭터 디바이스 드라이버

  • net : 통신 프로도톡

  • arch : 아키텍쳐 - cpu에 종속적 => 특정 cpu의 하위디렉토리에 다시 자료구조가 존재

    • cpu 아래의 mm은 의존적 , 커널 트리 바로 아래의 mm은 비의존적
  • ipc : inter process communication : 메시지 , shm

  • include : 헤더파일이 모여있음

  • block : 블럭 디바이스들을 통합해서 관리 : i/o요청

  • se : 시큐리티

  • crypto : 암호화 알고리즘이 구현됨

  • certs : 접근 제어

  • sound : 사운드카드 관리

  • tools : 커널에서 사용하는 도구들

  • virt : 가상화 지원 코드 ex) KVM

  • lib : 커널에서 사용하는 라이브러리

  • usr : 램디스크같은 파일시스템 이미지들이 들어있다.

  • script : 커널 컴파일시 스크립트

  • sample : 커널에서 다이나믹 커널모듈이라 부르는 모듈 프로그램 지원(예제)

  • document : 커널에 대한 문서

  • firmware : 바이너리 수준에서 제공되는 부분들

0개의 댓글