3학년 1학기/운영체제 (OS)

[ 운영체제 ] 3. OS Structure ( 디자인,Implementation )

쫑알bot 2024. 3. 19. 15:40
728x90

OS  Design and Implemetation

 

● User Goal = 사용하기 쉬워야 한다.

● System Goal = Design과 Implement, Maintain이 간편해야 한다.

 

 

Design할 때 고려해야하는 것

● Policy = 어떤 게 되어야 하는가? = What

● Mechanism = 어떻게 구현할 것인가? = How

 

 


OS Structure

 

● Monolithic

특징 1) 단조로운 구조 , Hardware의 기능이 제한적임

특징 2) System program / Kernel 영역이 나누어져 있다.

 

 


● Layered Approach

: 가장 중심부 ( layer 0 )  = Hardware

  가장 높은 곳 ( layer N ) = User Interface

 

특징 1) 만들기 단순하다. + 현재 층에서는 아래 층에 대한 Detail을 알 필요가 없다.

 

특징 2) 각 층에서 자기보다 아래 층에(하드웨어 쪽에 가까운) 기능들을 사용한다.

 

 

 


● Microkernel

: 중요하지 않은 component들은 Kernel에서 실행되지 않는다.

  대신 System/user 레벨에서 실행된다.

 

Kernel - 프로세스/메모리 관리를 한다. + System call을 message 전달로 구현함.

 

장점 

1) 확장하기 간편하다.

2) 다른 architecture에 OS를 연결하기 좋다.

3) reliable ( Kernel에서 실행되는 게 적기 때문에 )

4) 안전함.

 

단점

퍼포먼스 Overhead

 


 

● Modules

주로 Loadable Kernel Modules( LKM ) 로 구현된다.

 

특징 1) 객체지향 사용

특징 2) 중요한 Component는 분리되어 있음

특징 3) 필요한건 Kernel 안에서만 Loadable하다.

 

장점

 1)      동적으로 구현 가능 ( 객체지향이니까 )

 2)      Layer랑 비슷한 게 좀 있는데 더 유연함

 3)      MicroKernel이랑 차이는 message passing이 필요없음.

 

 


System Boot

 

Booting

: Kernel을 로딩하면서 컴퓨터를 시작하는 것

 

 

 전원이 들어오면, 지정된 메모리 위치서 Execution을 시작한다.

 따라서, OS는 Hardware가 작동할 수 있어야 하므로, Hardware도 사용하게 만들어져야한다.

 

 

 

 

(출처)

한동대학교 고윤민교수님 - OS

댓글수0