Post

커널

커널은 운영 체제의 핵심으로, 리소스 및 프로세스 관리, 메모리 관리, 장치 제어와 같은 중요한 작업을 관리한다.

커널의 역할

  • 리소스 관리: CPU, 메모리, 디스크 공간과 같은 시스템 리소스를 관리하여 프로세스와 사용자에게 효율적으로 할당한다.
  • 프로세스 관리: 프로세스의 생성, 실행, 종료를 처리한다.
  • 메모리 관리: 커널은 메모리 할당 및 사용 방법을 제어한다.
  • 장치 관리: 시스템의 하드웨어와 소프트웨어 구성 요소 간의 중재자 역할을 한다.
  • 보안 및 액세스 제어: 커널은 보안 정책을 시행하고 사용자 액세스 제어를 관리하여 권한이 없는 사용자가 제한된 시스템 리소스에 액세스할 수 없도록 한다.

커널 유형

  • 모놀리식(Monolithic) 커널
    • 정의: 프로세스 관리, 메모리 관리, 파일 시스템, 장치 드라이버 등과 같은 모든 기본 시스템이 커널에 통합된다.
    • 특성
      • 크기: 일반적으로 다양한 서비스를 포함하기 때문에 비교적 크다.
      • 성능: 모든 서비스가 동일한 메모리 공간에서 실행되므로 컨텍스트 전환 오버헤드가 적어 비교적 빠르다.
      • 모듈화: 비교적 덜 모듈화되어 있다. 한 서비스의 변경은 잠재적으로 전체 커널에 영향을 미칠 수 있다.
    • 예시: Linux, FreeBSD 및 이전 버전의 Windows(예: Windows 98)

monolithic-kernel

  • 마이크로커널
    • 정의: 프로세스 간 통신 및 스케줄링과 같은 기본 시스템만 커널의 포함된다. 장치 드라이버, 파일 시스템 관리 등과 같은 기타 서비스는 사용자 공간에서 실행된다.
    • 특성
      • 크기: 비교적 크기가 더 작다.
      • 성능: 사용자 공간과 커널 공간 간의 컨텍스트 전환이 늘어나 속도가 느려질 수 있다.
      • 모듈화: 고도의 모듈화가 가능하며, 한 서비스의 변경이 전체 시스템에 영향을 주지 않는다.
      • 예시: Minix, QNX

microkernel

  • 하이브리드 커널
    • 정의: 하이브리드 커널은 모놀리식 디자인과 마이크로커널 디자인의 조합이다. 성능과 모듈성 사이의 균형을 제공하는 것을 목표로 한다.
      • 특성
        • 디자인: 성능상의 이유로 마이크로커널에 비해 커널 공간에 더 많은 기능을 포함하지만 여전히 모듈성을 유지하려고 노력한다.
        • 성능: 일반적으로 순수 마이크로커널보다 빠르다.
        • 유연성: 모놀리식 커널에 비해 더 유연하다.
        • 예시: Windows NT, XNU(macOS 및 iOS에서 사용)
This post is licensed under CC BY 4.0 by the author.

© zwoong. Some rights reserved.