리눅스 커널 아키텍처

리눅스 커널 아키텍처 An architecture diagram generated by Archify. 애플리케이션 · 일반 응용 프로그램 · 사용자 공간 애플리케이션 일반 응용 프로그램 셸 · Bash, Zsh · 사용자 공간 셸 Bash, Zsh 시스템 라이브러리 · 사용자 공간 시스템 라이브러리 시스템 호출 인터페이스 · System Call Interface · 커널 공간 시스템 호출 인터페이스 System Call Interface 프로세스 관리 · 커널 공간 › 커널 서브시스템 프로세스 관리 메모리 관리 · 커널 공간 › 커널 서브시스템 메모리 관리 파일 시스템 · 커널 공간 › 커널 서브시스템 파일 시스템 네트워킹 · 커널 공간 › 커널 서브시스템 네트워킹 보안 · 커널 공간 › 커널 서브시스템 보안 장치 드라이버 · 커널 공간 장치 드라이버 하드웨어 · CPU · 메모리 · 스토리지 · 네트워크 카드 · Architecture component 하드웨어 CPU · 메모리 · 스토리지 · 네트워크 카드 시스템 호출 하드웨어 장치와 통신 사용자 공간 커널 공간 커널 서브시스템 Legend 사용자 공간 구성 요소 커널 구성 요소 보안 서브시스템 하드웨어

사용자 공간

  • • 일반 응용 프로그램이 실행되는 메모리 영역
  • • 시스템 호출(fork, exec, open, read, write, socket, clone)로 커널 서비스에 접근

커널의 역할

  • • 하드웨어와 소프트웨어 사이의 중개자
  • • 프로세스 생성·스케줄링·종료, 가상 메모리와 물리 메모리 할당
  • • 장치 관리: 하드웨어 장치와의 통신

하드웨어

  • • CPU · 메모리 · 스토리지 · 네트워크 카드
  • • 장치 드라이버를 통해서만 커널 서브시스템과 연결