반응형
250x250
Notice
Recent Posts
Recent Comments
Link
관리 메뉴

짧은코딩

커널의 구성 본문

CS/운영체제

커널의 구성

5_hyun 2023. 3. 1. 22:13

커널

커널은 운영체제의 핵심 기능을 모아놓은 것이다. 커널은 복잡하게 얽혀 있으며 단일형, 계층형, 마이크로 구조 커널로 구분된다.

커널이 하는 일

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

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

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

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

5. 프로세스 간 통신 관리: 공동 작업을 위한 프로세스 간 통신 환경을 지원

단일형 구조 커널(monolithic architecture)

단일형 구조 커널은 초창기 OS 구조이다. 그리고 초기에는 기능 구현에 바빠서 커널의 핵심 기능을 구현하는 모듈들이 구분 없이 하나로 구성되어 있다. 단일형 구조를 웹 사이트에 비유하면 app.js에 모든 기능을 다 때려 넣는 것과 비슷하다.

 

-장점

모듈들이 분리되어 있지 않아서 통신 비용이 줄어든다.

 

-단점

1. 모든 모듈이 하나여서 버그나 오류 처리가 어려움

2. 서로 의존성이 높아 작은 결함이 시스템 전체에 영향을 끼침

3. 여러 종류의 컴퓨터에 이식하려면 수정이 필요한데, 수정이 어려워 이식성이 낮음

4. 현대 OS는 매우 복잡하여 단일형 구조 운영체제를 구현하기 여러움

계층형 구조 커널(layered architecture)

계층형 구조 커널은 비슷한 기능을 가진 모듈을 묶어서 하나의 계층으로 만들어 구현했다. 비슷한 기능을 모아 모듈화했기 때문에 단일형 구조 커널에 비해 버그나 오류를 쉽게 처리할 수 있고 디버깅하기 쉽다. 현대 OS는 대부분 계층현 구조 커널로 이루어져 있다.

마이크로 구조 커널

마이크로 구조 커널은 계속 커지는 커널의 크기와 하드웨어 용량이 늘어나서 에러 처러를 제대로 하지 못하는 계층형 구조를 개선하기 위해 개발되었다. 마이크로 구조 커널의 OS는 프로세스 관리, 메모리 관리, 프로세스 간 통신 관리 등 가장 기본적인 기능만 제공한다. 각 모듈은 세분화되어 있어 프로세스 간 통신을 이용해 정보 교환이 이루어진다. 또 커널은 메모리 관리와 프로세스 간의 동기화 서비스를 제공하고 운영체제의 많은 부분이 사용자 영역에 구현되어 있다.

 

-장점

1. 마이크로 구조에서는 각 묘듈이 독립적으로 작동해서 하나의 모듈이 실패해도 운영체제가 멈추지 않는다.

2. 컴퓨터에 이식성이 좋고 커널이 가벼워 CPU 용량이 작아도 동작한다.

728x90
반응형
Comments