티스토리 뷰

#1. 커널이 하는 일

1. 프로세스 관리 : 프로세스에 CPU를 배분하고 작업에 필요한 제반 환경을 제공한다

2. 메모리 관리 : 프로세스에 작업 공간을 배치하고 실제 메모리보다 큰 가상공간을 제공한다

3. 파일 시스템 관리 : 데이터를 저장하고 접근할 수 있는 인터페이스를 제공한다

4. 입출력 관리 : 필요한 입력과 출력 서비스를 제공한다

5. 프로세스간 통신 관리 : 공동 작업을 위한 각 프로세스간 통신(IPC) 환경을 제공한다

 

 

#2. 커널의 구조

1. 단일형 구조 커널 (Monolithic Kernel) - 모놀리식 커널

 

단일형 구조 커널은 초창기 운영체제의 구조로, 커널의 핵심 기능을 구현하는 모듈들이 구분 없이 하나로 구성되어 있다.

유닉스, 리눅스 등이 모두 단일형 구조 커널을 기반으로 만들어졌다.

 

장점

1. 모듈이 거의 분리되지 않았기 때문에 모듈간의 통신비용이 줄어들고, 효율적인 운영이 가능하다.

2. 빠르다. 

 

단점

1. 모든 모듈이 하나로 묶여있기 때문에, 한 모듈에 장애가 생기면 전체에 영향이 끼친다.

2. 이식성이 떨어진다. 단일형 구조는 수정이 어렵기 때문이다.

3. 매우 크고 복잡한 현대의 운영체제를 구현하기는 어렵다.

 

 

2. 마이크로 구조 커널 (microKernel)

 

마이크로 구조 커널의 OS는 프로세스 관리, 메모리 관리, IPC 등 가장 기본적인 기능만 제공한다.

이외의 다른 기능(파일 시스템 관리, 입출력 관리 등)은 커널 영역이 아니라 사용자 영역에 구현함으로써 커널의 크기를 줄인 구조이다.

 

커널은 메모리 관리와 프로세스간 동기화 서비스를 제공하며, 이 두 모듈은 IPC 모듈로 연결되어있다. 따라서, 두 모듈은 서로 나뉘어져 있고, IPC를 통해 정보교환이 이뤄진다.

 

[장점]

1. 각 모듈은 독립적으로 작동하기 때문에 한 모듈에 장애가 생겨도 전체에 영향을 주지 않는다

2. 이식성이 뛰어나다

3. 커널이 작고 가벼워 사양이 낮은 CPU에도 설치 가능

 

[단점]

1. 모듈 간의 프로세스 통신(IPC)가 발생하여 느리다.

 

 

3. 계층형 구조 커널 (개선된 단일구조?)

비슷한 기능을 가진 모듈을 묶어서 하나의 계층으로 만들고, 계층간의 통신을 통해 운영체제를 구현하는 방식.

- 비슷한 기능을 모아 모듈화 했기 때문에 단일형 구조보다는 디버깅에 용이하다.

- 대부분의 운영체제가 계층형 구조를 이루고 있다.

 

(공룡책에서는 계층형 구조라는 말이 딱히 없는 것 같은데 잘 모르겠다. 모놀리식 vs 마이크로식 두가지가 대표적인 것 같다. 계층형이라는거 자체가 개선된 단일형 구조이기 때문에 모놀리식으로 퉁쳐도 무방하지 않을까 생각된다.)

 

부록) 윈도우의 커널 구조는 무엇인가?

윈도우 NT 커널

 

윈도우의 커널 구조는 단일형(Monolithic) 구조를 기반으로 하면서 마이크로 구조를 섞은 하이브리드 구조이다.

 

 

 

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
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 31
글 보관함