본문 바로가기
Computer Science/Operating System

[운영체제] 운영체제의 구조

by 9루트 2021. 11. 2.

전체적인 컴퓨터 시스템 구조

응용프로그램 & 유틸리티
인터페이스
시스템 호출 ↕
커널
드라이버(일부만 지원) ↕
하드웨어(CPU, 메모리, 마우스, 모니터, 하드디스크 등)

 

1. 커널과 인터페이스

1.1 커널

프로세스 관리, 메모리 관리, 저장 장치 관리와 같은 운영체제의 핵심적인 기능 모아놓음

= 자동차의 엔진(성능을 좌우함)

안드로이드와 IOS 모두 유닉스 운영체제 커널을 이용한다.

 

1.2 인터페이스(GUI)

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

= 자동차의 계기판

 

 

2. 시스템 호출과 디바이스 드라이버

2.1시스템 호출

인터페이스와 커널 사이 연결 담당

  • 직접 접근
  • 시스템 호출을 통한 접근

 

2.2 디바이스 드라이버

커널과 하드웨어 사이 연결 담당

 

 

3. 커널의 구성

3.1 단일형 구조 커널

과거에 이용했던 운영체제 구조로 다양한 모듈을 구분 없이 하나에 다 때려넣은 구조

모듈이 하나로 묶여 있기 때문에 빠르지만 버그 처리하기 어렵고,

기능 간의 상호 의존성이 높아 작은 결함이 시스템 전체로 확산될 수 있음

 

3.2 계층형 구조 커널

오늘날의 대부분의 운영체제 구조로 비슷한 기능을 가진 모듈을 계층별로 나눠서 구현

 

3.3 마이크로 구조 커널

커널의 크기가 커지고 복잡해짐에 따라 운영체제의 많은 부분을 사용자 영역에 구현

계층별로가 아닌 각 모듈이 독립적으로 작동(기본적인 기능만 제공)

대표적인 운영체제: 마하(Mach)가 있으며 애플의 OS에 사용

 

 

4. 가상머신

운영체제 간의 호환성의 문제를 해결한 JAVA: 프로그래밍을 하면 대부분의 운영체제에서 작동함

원리는 다양한 운영체제 위에 가상머신(JAVA Virtual Machine, JVM)을 입혀 응용 프로그램이 동일한 환경에서 작동하는 것처럼 보인다.

단, 가상머신을 사용하면 호환성이 높아지는 반면, 느려진다는 단점이 있다.

'Computer Science > Operating System' 카테고리의 다른 글

리눅스 기본  (0) 2023.02.17