본문 바로가기
반도체 그 다음 학문/운영체제 (OS)

운영체제 System Services ( 운영체제 구조, Momolithic Structure, layered approache, Micro kernel, Module Structure )

by 전컴반 2022. 4. 13.
반응형
System Services

 

- System Services를 구현하는데 생각해야 할 부분이 2가지가 있다.

 

첫 번째, policy = 어떤 일들을 수행해야 하는가? 즉, 목표, 예를 들면 100초마다 인터럽트가 생겨야 한다. 

두 번째, mechanism = 어떤 게 policy를 디자인할 수 있을까? 구현 예를 들면 타이머

 

이런 걸 고민하여 System Services를 구현하는 구조를 알아보자.

 

1. Momolithic Structure

- 여러 기능의 kernel 파일이 하나의 static binary로 저장돼 있는 구조이다.

단점은 디버깅하기 어렵다. 코드 중복이 심하다. 즉 계층적인 구조가 아니었다.

 

이에 계층 구조적 접근을 하게 됐다.

 

 

 

2. layered approache

- layered approache를 하게 되면 디버깅의 장점과 동작별 구현의 기능을 제공한다는 장점과 더 낮은 층의 구현에 대한 이해가 필요하지 않다는 점이 장점이다. 하지만 층별 이동의 문제가 단점이다. 오래 걸리기 때문이다. 

 

 

 

즉, 층이 많은 것보다. 적은 층이 필요했다. 그렇게 나온 계층이 1개인 Micro kernel이다. 

 

 

3. Micro kernel

중요한 기능들만 kernel에 놓고 나머지는 다 user level에 올렸다. 이러니 보안에도 더 강하게 됐다 왜냐면, 코드의 사이즈가 줄었기 때문이다. (코드가 클수록 보안이 취약하다.)

하지만 역시 overhead 문제가 발생했다. 왜냐면 여전히 많은 정보를 자주 교류해야 하기 때문이다. 

 

 

 

이래서 나온 게 Module Structure인데 이게 현대의 운영체제 구조이다.

 

 

4. Module Structure

조금 수정하면 Monolithc과 결합된 형태이다. 모듈의 만들어서 객체로 접근하는 방법을 구현한 것이다. 

 

 

 

반응형

댓글