모노리틱 커널, 마이크로 커널
태그 :
- 개념
- 마이크로 커널 정의 프로세스/메모리 관리 등 핵심 기능만을 커널에 구현, 나머지 기능은 독립적 서비스 모듈로 구현하여 제공하는 운영체제 구조
I. 마이크로 커널 개요
가. 마이크로 커널 정의
- 프로세스/메모리 관리 등 핵심 기능만을 커널에 구현, 나머지 기능은 독립적 서비스 모듈로 구현하여 제공하는 운영체제 구조
나. 마이크로 커널 요구조건
- 프로세스 관리, 메모리 관리, 프로세스 간 메시지 전달 기능
- C/C++ 로 작성, 하드웨어 종속성을 최소화 하고 이기종 컴퓨터 간 이식성 확보
II. 마이크로 커널 구성 및 Monolithic Kernel 과의 비교
가. 마이크로 커널 구성
구성요소 |
주요기능 |
Process Manager |
프로세스 생성/자원할당/상태관리/스케줄링 |
Thread Manager |
스레드 생성/자원할당/상태관리/스케줄링 |
Memory Manager |
물리/캐시/가상메모리 관리 |
Communication Manager |
Inter Process Communication 메커니즘 제공 |
Supervisor |
하드웨어/소프트웨어 인터럽트 및 예외사항 관리 |
- Process/Thread Manager 는 스케줄링 시 Context Switching 지원/관리
나. Monolithic Kernel 과의 비교
구분 |
Monolithic Kernel |
Micro Kernel |
특징 |
|
|
장점 |
|
|
단점 |
|
|
III. Monolithic Kernel 및 마이크로 커널 단점 극복을 위한 하이브리드 커널
가. 커널 개념도 비교
Monolithic Kernel |
Micro Kernel |
Hybrid Kernel |
Kernel
Software |
Kernel
Servers Software |
Servers Kernel
Software |
- Software : User Application
- Servers : Kernel 및 User Application에 독립적인 서비스 모듈
나. 상용 운영체제로서의 하이브리드 커널
- 마이크로 커널의 구조적 성능저하 현상으로 인하여, 상용운영체제에서 사용이 곤란
- Monolithic Kernel의 사용자 편이성과 마이크로 커널의 확장/이식성의 장점을 모두 수용하고자 함
- 유닉스는 전통적으로 Monolithic Kernel 구조, 현재 대부분의 상용 유닉스 운영체제에 동적 설정 가능 커널 파라미터와 모듈의 개수가 증가하는 추세이며, 이는 마이크로 커널의 동적 재구성 가 능 특성을 수용하는 것임
- 마이크로 커널 구조는 현재 임베디드 실시간 운영체제에서 많이 사용