[OS] 커널
Updated:
개요
- 운영체제의 심장이자 이를 규정짓는 소프트웨어
- 역할
- 하드웨어 자원 관리, 프로세스 제어, 메모리 제어, 보안
- 운영 체제의 정체성을 결정하기에 중요
- 페도라, 우분투 등 리눅스 커널을 사용하기에 리눅스로 묶임
종류
- 단일형 커널(monolithic kernel)
- 하나의 커널이 운영 체제에서 일어나는 모든 서비스를 처리하는 설계 방식
- 장점
- 속도
- 단점
- 안정성
- 커널의 크기
- 리눅스, 유닉스, MS-DOS, Windows 9x, macOS
- 마이크로커널(microkernel)
- 커널과 소프트웨어 사이에 서버라는 응용 프로그램 계층을 두어
커널 <-> 서버 <-> 소프트웨어
형태의 설계 방식 - 장점
- 안정성
- 보안
- 단점
- 성능
- AmigaOS, Amoeba, L4, 심비안
- 커널과 소프트웨어 사이에 서버라는 응용 프로그램 계층을 두어
- 혼합형 커널(hybrid kernel)
- 마이크로커널에 단일형 커널의 장점을 혼합해 만든 설계 방식
- 성능이 필요한 운영 체제 서비스는 커널이 처리
- NT,
- 엑소커널(exokernel)
- 낮은 수준의 하드웨어 접근을 위한 최소한(보호와 다중화)의 추상화를 제공
- 커널이 아닌 라이브러리가 단일형 커널 수준의 추상을 제공
- 나노커널(nanokernel)
- 코드의 양이 매우 작은 커널