[쉽게 배우는 운영체제] 1-3. 운영체제의 구조
2022. 5. 16. 20:00ㆍ03. Resources/Operating System
728x90
반응형
Chapter 1-3. 운영체제의 구조
커널과 인터페이스
커널
- 프로세스 관리, 메모리 관리, 저장장치 관리와 같은 운영체제의 핵심적인 기능을 모아놓은 것
- 운영체제의 성능을 좌우
인터페이스
- 커널에 사용자의 명령을 전달하고 실행 결과를 사용자와 응용 프로그램에게 알려주는 역할
시스템 호출과 디바이스 드라이버
시스템 호출
- 운영체제는 커널이 제공하는 서비스를 시스템 호출로 제한하고 다른 바법으로 커널에 들어오지 못하게 막음으로써 컴퓨터 자원을 보호
- 시스템 호출은 커널이 제공하는 서비스를 위한 인터페이스이며 , 함수형태로 제공된다. 사용자가 자발적으로 커널 영역에 진입할 수 있는 유일한 수단
- 직접 접근
- 사용자가 직접 컴퓨터 자원에 접근하여 작업하는 방식
- 사용자가 모든 것을 처리해야 함
- 시스템 호출을 통한 접근
- 사용자나 응용프로그램이 하드웨어와 같은 시스템 자원을 사용할 수 있도록 인터페이스를 제공
드라이버
- 커널과 하드웨어의 인터페이스를 담당
- 커널 - 입출력의 기본적인 부분만 제작
- 디바이스 드라이버 - 하드웨어의 특성을 반영한 소프트웨어, 커널이 실행될 때 함께 실행
커널의 구성
- 프로세스 관리, 메모리 관리, 파일 시스템 관리, 입출력 관리, 프로세스 간 통신 관리 등의 기능을 함
- 프로세스 관리: 프로세스에 CPU를 배분하고 작업에 필요한 제반 환경을 제공한다.
- 메모리 관리: 프로세스에 작업 공간을 배치하고 실제 메모리보다 큰 가상공간을 제공한다.
- 파일 시스템 관리: 데이터를 저장하고 접근할 수 있는 인터페이스를 제공한다.
- 입출력 관리: 필요한 입력과 출력 서비스를 제공한다.
- 프로세스 간 통신 관리: 공동 작업을 위한 각 프로세스 간 통신 환경을 지원한다.
- 커널 기능의 구현에 따라 구분
- 단일형 구조 커널
- 계층형 구조 커널
- 마이크로 구조 커널
단일형 구조 (Monolithic architecture) 커널
- 초창기의 운영체제 구조
- 핵심 기능을 구현하는 모듈들이 구분 없이 하나로 구성
- 대표적인 운영체제: MS-DOS, VMS, 초기의 유닉스 운영체제
- 장점
- 모듈이 거의 분리되지 않았기 때문에 모듈 간의 통신 비용이 줄어들어 효율적인 운영이 가능
- 단점
- 모든 모듈이 하나로 묶여 있기 때문에 버그나 오류를 처리하기 어려움
- 모듈간 상호 의존성이 높기 때문에 기능 상의 작은 결함이 시스템 전체로 확산될 수 있음
- 다양한 환경의 시스템에 적용하기 어려움
- 현대의 운영체제는 기능이 워낙 많아서 단일형 구조를 적용하기 어려움
계층형 구조 (Layered architecture) 커널
- 단일형 구조 커널이 발전된 형태
- 비슷한 기능을 가진 모듈을 묶어 하나의 계층으로 만듦 → 계층 간의 통신을 통해 운영체제를 구현하는 방식
- 대표적인 운영체제: MS Windows 등 오늘날의 대부분의 운영체제
마이크로 구조 (Micro architecture) 커널
- 프로세스 관리, 메모리 관리, 프로세스 간 통신 관리 등 가장 기본적인 기능만 제공
- 운영체제의 많은 부분이 사용자 영역에 구현되어 있음
- 각 모듈이 독립적으로 작동 → 하나의 모듈이 실패하더라도 전체 운영체제가 멈추지 않음
- 많은 컴퓨터에 이식하기 쉽고 커널이 가벼워 CPU 용량이 작은 시스템에도 적용 가능
반응형
'03. Resources > Operating System' 카테고리의 다른 글
[맥북/맥OS] 맥북 스크린샷 찍는 방법, 스크린샷 저장 위치 바꾸는 법 (2) | 2022.08.28 |
---|---|
[쉽게 배우는 운영체제] 1-2. 운영체제의 역사 (0) | 2021.08.30 |
[쉽게 배우는 운영체제] 1-1. 운영체제의 개요 (0) | 2021.08.28 |