본문 바로가기
카테고리 없음

운영체제의 구조

by BenKangKang 2020. 9. 6.

1. 커널

- 운영체제의 성능을 좌우

- 운영체제의 핵심적인 기능을 모아놓은 것

 

구성

- 프로세스 관리: 프로세스에 CPU 배분

- 메모리 관리: 프로세스가 작업 배치, 가상공간 제공

- 파일 시스템 관리: 데이터 접근 저장 인터페이스 제공

- 입출력 관리; 필요한 입 출력 서비스 제공

- 프로세스 통신 관리: 공동 작업을 위한 프로세스 간 통신 환경 제공

 

종류

1. 단일형(Monolithic architecture)

- 초창기 운영체제 구조

- 모듈둘이 구분 없이 구성

- main에 모든 기능을 구현한 형태

 

2 계층형(Layered architecture)

- 비슷한 기능을 모아 모듈화

- 계층간의 통신을 통해 운영체제 구현

- 윈도우 비롯한 대부분의 운영체제는 이 구조

 

3. 마이크로 구조(Micro architecture)

- 각 모듈이 세분화 되어 존재하고 모듈 간 정보 교환은 프로세스 간 통신을 통해 이루어짐

- 운영체제 마하(OS X, iOS 의 커널)

 

 

 

2. 인터페이스

- 커널에 사용자의 명령을 전달하고 결과를 사용자에게 알려주는 역할

 

3. 시스템 호출(System Call)

- 응용프로그램과 커널의 인터페이스

- 커널이 자신을 보호하기 위해 만든 인터페이스

- 사용자가 자원에 직접 접근하는 것을 막고 시스템 관련 서비스들을 모아 제공한다

- 커널이 제공하는 시스템 자원의 사용과 연관된 함수이다.

- 응용프로그램이 하드웨어 자원에 접근하거나 운영체제가 제공하는 서비스를 이용하려고 할때 필요하다

 

* API (Application Programing Interaface) : 응용 프로그램이 자신과 연관된 프로그램을 만들 수 있도록 제공하는 인터페이스

* SDK (System Developer's Kit): 개발자를 위한 종합 선물세트 (Android SDK -> Android Stdio)

 

4. 드라이버

- 하드웨어와 커널의 인터페이스

- 디바이스 드라이버: 하드웨어 제작자가 만든 프로그램

댓글