티스토리 뷰

OS

커널의 종류

LDobac 2017. 2. 8. 23:55

이 포스팅은 위키백과를 보고 참조하여 작성한 포스팅입니다.

제가 공부용으로 싸질러 놓은 이런 순도99퍼센트 따라만든 포스팅 보지 마시고 직접 가서 보시는걸 추천 드립니다.


커널의 종류

게임이라고 해도 한 가지 게임만 있는것이 아닌 여러 종류의 장르가 있고 그 장르에 따라 게임이 있드시 커널도 마찬가지로 여러 종류의 커널이 있다.


단일형 커널(Monolithic Kernel)

단일형 커널은 모놀리틱 커널이라고도 하며 커널의 다양한 서비스 및 높은 수준의 하드웨어 추상화를 하나의 덩어리로 묶어 놓은 구조 입니다.

하드웨어 위에 높은 수준의 가상 계층을 정의 하며, 높은 수준의 가상 계층은 기본 연산 집합, 관리자 모드에 작동하는 모듈인 프로세스 관리, 동시성, 메모리 관리 등의 운영 체제 서비스를 구현 하기 위한 시스템 콜로 이루어져 있습니다.

이러한 구조 이다보니 연산들을 제공하는 모듈이 분리 되어 있더라도 같은 주소, 메모리 공간 내에서 실행 되기 때문에 코드의 집적도가 매우 조밀하며, 한 모듈의 버그가 시스템 전반을 다운 시킬 수 있습니다.

그러나 구현도가 높고 신뢰성이 높아지면 시스템 이용을 효과적이게 하여 높은 효율을 보여 줍니다.

(모놀리틱 커널의 구조)


마이크로 커널(Micro Kernel)

하드웨어 추상화에 대한 간결한 작은 집합을 제공하고 더 많은 기능은 서버라고 불리는 응용 소프트웨어를 통해 제공됩니다.

마이크로 커널은 하드웨어 위에 매우 간결한 추상화를 정의하며 기본 연산 집합과 운영 체제 서비스를 구현한 스레드 관리, 주소 공간, 프로세스 간의 통신의 작은 시스템 콜로 이루어져 있습니다.

일반적으로 커널이 제공하는 네트워킹과 같은 다른 서비스들은 사용자 공간 프로그램인 서버로 구현됩니다.

운영 체제는 서버를 다른 일반적인 프로그램 처럼 간단히 켜고 끌 수 있으며, 네트워킹 지원이 필요없는 경우 서버를 끄면 됩니다.

일반적으로는 마이크로 커널과 단일형 커널은 정반대의 모습을 지니고 있어 많이 대조 됩니다.










(마이크로 커널의 구조)


혼합형 커널(Hybrid Kernel)

혼합형 커널은 본질적으로는 마이크로 커널을 따르고 있으나, 비 본질적인 기능이더라도 사용자 레벨에서 수행 될때 성능상 느린 코드들을 커널 레벨에서 수행 하도록 수정한 것을 말한다.

하이브리드 커널은 다양한 운영 체제 개발자들이 마이크로 커널 기반의 운영 체제 개발을 하다 마이크로 커널의 한계를 느끼고 타협한 결과 입니다.

(혼합형 커널의 구조)


엑소 커널(Exo Kernel)

낮은 수준의 하드웨어 접근을 위한 최소한의 추상화를 제공합니다.

엑소커널의 기본 아이디어는 개발자에게 가장 낮은 수준의 추상화를 제공 함으로써 개발자들이 하드웨어와 관련해 가능한 많은 결정권을 가지도록 만든 것 입니다.

엑소커널은 보호와 다중화만 제공 하므로 크기가 매우 작고 마이크로 커널의 메시지 전달이나 단일형 커널의 추상 계층에 비해 훨씬 간단합니다.

엑소커널 에서 구현된 애플리케이션은 라이브러리 운영 체제 라고 불리는데, 이 라이브러리 운영 체제는 특정 메모리 영역, 디스크 블럭등의 자원을 엑소 커널에게 요청 할 수 있습니다.









(엑소 커널의 구조)

'OS' 카테고리의 다른 글

문맥 교환(Context Switching)  (0) 2017.02.09
프로세스란 무엇인가  (1) 2017.02.09
커널의 기능들 - 2  (0) 2017.02.08
커널의 기능들 - 1  (0) 2017.02.07
운영체제란?  (0) 2017.02.07
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2024/04   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
글 보관함