단일형 커널(Monolithic Kernel)
초기에 생겨난 가장 보편적인 형태이다. 커널의 다양한 서비스 및 높은 수준의 하드웨어 추상화를 하나의 주소 공간으로 묶은 것이다.
모든 모듈이 같은 주소공간에서 실행되기 떄문에 코드의 집적도는 조밀하고 수정하기 어려우며, 한 모듈의 버그가 시스템 전반을 멈추게 할 수 있다. 하지만, 구현이 신뢰할 수 있을 정도로 완성되면 구성 요소의 내부 집적이 내부의 시스템 이용을 효과적이게 하여 높은 효율을 보인다.
초기 유닉스, 리눅스, 도스 등이 대표적이다.
마이크로 커널(Micro Kernel)
마이크로 커널은 컴퓨터 과학에서 운영체제에 추가되어야 하는 메커니즘을 최소한으로 제공하는 초소형 커널이다.
낮은 수준의 주소 공간 관리, 스레드 관리, 프로세스간 통신(IPC)을 포함한다.
일반적으로 커널이 제공하는 네트워킹과 같은 다른 서비스들은 사용자 공간 프로그램인 서버로 구현된다.
모놀리식 커널에 비해 문맥교환이 잦아 오버헤드가 비교적 크게 일어난다.
혼합형 커널(Hybrid Kernel)
본질적으로 마이크로 커널을 따르나, 일부 커널의 비본질적 기능이더라도 사용자 레벨에서 수행될 때 성능상 느린 코드들을 커널 레벨에서 수행하도록 수정한것을 말한다.
엑소 커널
엑소 커널은 말단 이론을 따르는 수직 구조의 운영체제이다.
엑소 커널을 강제적인 추상화를 줄여 개발자에게 하드웨어 추상화에 대해 선택지를 다양하게 하는것이다.
'운영체제' 카테고리의 다른 글
[운영체제 공부] 스레드 (0) | 2020.02.06 |
---|---|
[운영체제 공부] 프로세스 (0) | 2020.02.05 |
[운영체제 공부] 운영체제의 서비스 (0) | 2020.02.04 |
[운영체제 공부] 운영체제의 유형 (0) | 2020.02.03 |
[운영체제 공부] 버퍼링과 스풀링 (0) | 2020.01.21 |