커널(kernel)

  • 운영 체제의 핵심적인 부분으로, 하드웨어와 소프트웨어 사이의 인터페이스 역할
  • 시스템의 다양한 자원과 관련된 기본적인 서비스와 관리 기능을 제공하며, 이를 통해 사용자나 응용 프로그램에 안정적인 환경을 제공

커널의 주요 기능과 특징

  1. 프로세스 관리: 커널은 프로세스의 생성, 스케줄링, 종료 등과 관련된 다양한 기능을 담당합니다. 이를 통해 멀티태스킹, 병렬 처리 등의 기능을 지원합니다.
  2. 메모리 관리: 커널은 물리적 메모리의 할당, 가상 메모리의 관리, 페이지 교체 전략 등 메모리 관리와 관련된 기능을 수행합니다.
  3. 장치 드라이버 인터페이스: 커널은 다양한 하드웨어 장치와 통신하기 위해 장치 드라이버를 통합하거나 지원합니다. 장치 드라이버는 특정 하드웨어 장치를 컨트롤하는데 필요한 코드를 포함하고 있습니다.
  4. 파일 시스템 관리: 커널은 파일의 생성, 삭제, 읽기, 쓰기 등의 기본적인 파일 작업과 관련된 기능을 제공합니다.
  5. 네트워크 관리: 몇몇 커널은 네트워킹과 관련된 기본적인 기능과 프로토콜 스택을 포함하고 있습니다.
  6. 시스템 호출 인터페이스: 커널은 응용 프로그램이 핵심 시스템 서비스에 액세스할 수 있도록 시스템 호출 인터페이스를 제공합니다.

커널의 디자인 방식에 따른 분류

  1. 모노리식 커널(Monolithic Kernel): 이 방식에서는 모든 시스템 서비스(스케줄러, 파일 시스템, 네트워크 프로토콜 등)가 단일 큰 프로그램 내에 통합되어 있습니다.
  2. 마이크로 커널(Microkernel): 이 방식에서는 기본적인 시스템 서비스만 커널에 포함되며, 나머지 서비스(파일 시스템, 네트워크 서비스 등)는 사용자 모드에서 독립적으로 실행됩니다.

참고

  • ChatGPT-4.0

보완/복습

  • 2023.10.10 복습

태그:

카테고리:

업데이트: