커널의 구성

seunghyun lee·2022년 8월 3일
0

Computer Science

목록 보기
19/19

커널

  • 운영체제의 주요 구성 요소이며 컴퓨터 하드웨어와 프로세스를 잇는 핵심 인터페이스이다.
  • 전원이 켜짐과 동시에 메모리 위에 올라간다.
  • 운영체제가 하드웨어에 있는 자원에 접근할 수 있게 한다.

커널의 핵심 기능

  • CPU제어(스케쥴링)
  • 프로세서 관리
  • 프로세스 관리
  • 메모리 관리
  • 파일 시스템 관리
  • 디바이스 제어
  • 네트워크 관리

단일형 구조 커널

  • 커널의 핵심 기능을 구현하는 모듈을 구분없이 하나로 구성하여 운영체제를 구현하는 방식
  • 커널 내부에서 서비스들이 서로 시스템 자원을 공유하며 효율적으로 관리할 수 있게 한다.
  • OS서비스들을 시스템 콜 형태로 사용할 수 있게 한다.
  • 초기의 커널은 단일모듈로 구성되어 유지관리가 어려웠지만 최신의 커널은 여러개의 모듈로 구성되어 유지관리가 쉬워졌다.
  • 버그나 오류 발생시 상호 의존성이 높아 처리가 까다롭고 구현이 어렵다.
  • 성능이 좋다.

ex) 유닉스, BSD, 리눅스, 솔라리스, . . .


계층형 구조 커널

  • 기능별로 모듈을 계층화하고 계층 간 통신을 통해 운영체제를 구현하는 방식이다.
  • 단일형 구조보다 버그나 오류를 쉽게 처리할 수 있고 디버깅이 쉽다.
  • 하나의 계층에 문제가 생기면 주변 계층도 동작하지 않을 수 있다.
  • 운영체제가 커지고 복잡해질수록 많은 계층들이 발생하게 되어 커널의 크기가 커지고 하드웨어 용량이 늘어난다.

마이크로 구조 커널

  • 프로세스 관리, 메모리 관리, IPC 관리 등 기본적인 기능만 제공하고 다른 부분들은 사용자 영역에 맡기는 운영체제 구현 방식이다.
  • 즉, 커널 모드가 아닌 유저 모드에서 처리하는 커널 구조이다.
  • 프로세스가 각각의 서버 영역에서 수행되어 하나의 서비스가 오작동 하여도 시스템에 문제가 생기지 않는다.
  • 하나의 커널로 다수의 운영체제를 동시에 수행시킬 수 있다.
  • 이식성이 좋다.
  • 잦은 통신이 필요하기 때문에 성능이 저하 될 수 있다.

혼합형 커널

  • 성능 향상을 위해 추가적인 코드를 커널 공간에 넣은 것이다.
  • 순수 마이크로커널과 비슷하여 수정 마이크로커널이라고도 한다.

나노 커널

  • 모든 커널 코드의 양이 매우 작은 커널이다.
  • 실질적으로 모든 서비스를 책임진다.

0개의 댓글