Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 폰노이만구조
- 커널
- Swift
- API
- closure
- 멀티스레드
- 하버드구조
- 멀티프로세스
- 버퍼
- 컴퓨터구조
- 단일형 구조 커널
- sdk
- 인터럽트
- IODevice
- Components
- 야곰아카데미
- 코딩
- kernel
- 마이크로 커널
- 계층형 구조 커널
- 스풀
- 부트캠프
- bus
- 폴링
- 프로세스
- 스레드
- 운영체제
- 앱개발
- 폰노이만
- 캐시
Archives
- Today
- Total
생각, 고민, 문제해결의 기록
커널의 구성 본문
커널이란?
커널은 운영체제 중 항상 메모리에 상주하는 운영체제의 핵심 부분으로써
하드웨어와 응용프로그램 사이에서 인터페이스를 제공하는 역할을 하며 컴퓨터 자원을 관리하는 역할을 한다.
커널의 핵심 기능
- 프로세스 관리: 프로세스에 CPU를 배분하고 작업에 필요한 환경을 제공한다.
- 메모리 관리: 프로세스에 작업 공간을 배치하고 실제 메모리보다 큰 가상 공간을 제공한다.
- 파일 시스템 관리: 데이터를 저장하고 접근할 수 있는 인터페이스를 제공한다.
- 입출력 관리: 필요한 입력과 출력 서비스를 제공한다.
- 프로세스간 통신 관리: 공동 작업을 위한 각 프로세스간 통신(IPC) 환경을 제공한다.
커널의 유형
1. 단일형 구조 커널 (Monolithic Kernel)
단일형 구조 커널은 초창기 운영체제 구조로 커널의 핵심 기능을 구현하는 모듈들이 구분 없이 하나로 구성되어 있다.
UNIX, Linux등이 모두 단일형 구조 커널을 기반으로 만들어졌다.
장점
1. 모듈이 거의 분리되지 않았기 때문에 모듈 간의 통신비용이 줄어들고, 효율적인 운영이 가능하다.
2. 속도가 빠르다
단점
1. 모든 모듈이 하나로 묶여있어서, 한 모듈에만 장애가 생겨도 전체에 영향을 끼친다.
2. 단일형 구조는 수정이 어려워서 이식성(portability)이 떨어진다.
3. 크고 복잡한 현대 운영체제는 구현이 어렵다.
2. 계층형 구조 커널
계층형 구조 커널은 비슷한 기능을 가진 모듈을 묶어서 하나의 계층으로 만들고, 계층 간의 통신을 통해 운영체제를 구현하는 방식이다.
마이크로 소프트의 윈도우 등 대부분의 운영체제 구현 방식이다.
장점
1. 비슷한 기능을 모아 모듈화시켰기 때문에 단일형 구조보다 버그나 오류를 디버깅하기 쉽다.
3. 마이크로 구조 커널 (Micro Kernel)
마이크로 구조 커널의 운영체제는 프로세스 관리, 메모리 관리, IPC 등 가장 기본적인 기능만 제공한다.
이외의 다른 기능(파일 시스템 관리, 입출력 관리 등)은 커널 영역이 아니라 사용자 영역에 구현함으로써 커널의 크기를 줄인 구조다.
커널은 메모리 관리와 프로세스간 동기화 서비스를 제공하며, 이 두 모듈은 IPC로 연결되어있다.
따라서, 두 모듈은 서로 나뉘어져 있고, IPC를 통해 정보교환이 이루어진다.
장점
1. 필수 기능만 제공하기 때문에 커널이 가볍고 낮은 사양의 CPU에서도 설치 가능하다.
2. 한 부분의 문제가 전체시스템에 영향을 주지 않는다.
3. 이식성이 뛰어나다.
단점
1. 모듈 간 프로세스 통신(IPC)이 발생하기 때문에 단일 커널에 비해 속도가 느리다.
2. 프로세스 간 통신 발생을 최소화하여야 한다.
'CS > 운영체제' 카테고리의 다른 글
PCB와 컨텍스트 스위칭(Context Switching) (0) | 2022.08.10 |
---|---|
프로세스와 스레드 (0) | 2022.08.10 |
컴퓨터 성능 향상 기술 (0) | 2022.08.08 |
운영체제의 역할과 구조 (0) | 2022.08.02 |