개요
커널은 운영 체제의 핵심이 되는 부분으로 응용 프로그램 수행에 필요한 여러 가지 서비스를 제공한다.
커널은 컴퓨터 하드웨어와 프로세스의 보안을 책임지고, 한정된 자원을 관리하여 프로세스 처리기에 할당한다. (스케줄링) 또한 인터페이스를 통해 하드웨어를 쉽게 사용할 수 있도록 돕는다.
커널의 종류에는 대표적으로 마이크로 커널과 모놀리틱 커널이 있다.
마이크로 커널 (Micro Kernel)
마이크로 커널은 꼭 필요한 기능만 커널에 구현하고, 필수적이지 않은 기능들은 사용자 모드의 우선순위가 높은 애플리케이션 프로그램으로 만든다.
장점
개발이 용이하고 기능 변경이 쉽다.
한 부분에서 일어난 문제점이 다른 부분에 영향을 미치지 않으므로 유지보수가 쉽다.
커널 내부에서 일어나는 지연이 적고, 예측 가능하기 때문에 실시간 시스템(Real-time system)에서 효과적이다.
단점
모놀리틱 커널에서는 단순히 함수 호출이면 될 것을 마이크로 커널에서는 운영 체제의 수행이 필요하기 때문에 Trap을 걸어야 한다. 따라서 오버헤드가 존재해 모놀리틱 커널보다는 속도가 느리다.
모놀리틱 커널 (Monolithic Kernel)
모놀리틱 커널은 운영 체제의 모든 기능을 한 곳에 뭉쳐서 개발한다.
장점
모듈이 같은 주소 공간에서 실행되기 때문에 신뢰할 수 있을 정도로 구현을 잘 한다면 효율성이 높다.
단점
한 부분을 고쳐야 할 때 다른 나머지 것들도 모두 고쳐야 하므로 유지 보수가 힘들다.
출처
https://ko.wikipedia.org/wiki/%EC%BB%A4%EB%84%90_(%EC%BB%B4%ED%93%A8%ED%8C%85)
https://ko.wikipedia.org/wiki/%EB%A7%88%EC%9D%B4%ED%81%AC%EB%A1%9C%EC%BB%A4%EB%84%90
'CS > OS' 카테고리의 다른 글
[OS] 프로세스 (0) | 2022.08.02 |
---|---|
[OS] 시스템 프로그램 (0) | 2022.08.01 |
[OS] Paging (0) | 2022.06.13 |
[OS] VMM (0) | 2022.05.29 |
[OS] 시스템 콜 (0) | 2022.05.05 |