Programming

[OS] os architecture

JMob 2014. 3. 27. 23:04
728x90
반응형

OS의 architecture는 5가지로 나눌수 있다.

- simple structure

- Layered

- Microkernel

- Module

- Hybrid systems

하나씩 정리를 하면...


1. simple structure

simple structure은 모든 커널을 메인 메모리에 올리는 방식이다. 대표적인 예로 MS-DOS, 초기 UNIX가 있다. 하지만 MS-DOSUNIX는 커널 내부적으로 구조가 다르기 때문에 simple structure을 두 가지(simple structure, non simple structure)로 나누어서 정리하겠다.

MS-DOS(simple structure) :


MS-DOS는 인터페이스와 기능 계층이 잘 분리되어 있지 않다. 이러한 구조는 보안을 취약하게 만들었으며 심각한 경우에는 애플리케이션의 문제로 시스템이 죽는 경우도 있었다.


UNIX(Non simple structure) :

위의 구조는 처음의 유닉스 구조로 시스템 호출 인터페이스와 하드웨어 위의 공간을 모두 커널로 구성되어 있다. 그래서 시스템 호출을 통해서 파일 시스템, CPU 스케줄링, 메모리 관리 등의 기능을 제공한다.

 

장점 :

simple structure의 장점은 속도가 빠르다는 것이다. 커널의 모든 부분이 메인 메모리에 올라가 있기 때문에 다른 구조들 보다 빠른 속도를 제공해준다.

 

단점 :

커널이 모두 메모리에 올라가 있기 때문에 용량이 크다. 특히 기능을 추가하면 추가할수록 메인 메모리에서 차지하는 비율이 커진다. 또한 모듈화가 되어 있기 않기 때문에 보안성이 매우 취약하다.



2. Layered approach

 

simple structure 다음으로 나온 방법이 Layer approach 방식이다. 이 계층적 접근 방식은 OS를 여러 개의 계층으로 분할하여 각각의 계층은 독립적인 서비스와 기능을 사용하도록 설계하는 것이다


장점 :

설계와 구현이 단순하여 각 계층별로 독립적이기 때문에 구축과 디버깅이 단순해진다. 또한 각 계층에서 문제가 생겼을 경우 문제가 생긴 계층만 해결하면 된다.

 

단점

OS를 계층별로 분류할 수 있는 기준이 없기 때문에 계층을 나누기에 애매하다. 또한 계층별로 자원관리가 어려우며 시간도 오래걸린다. 또한 인터페이스 설계가 어렵다.



3. Microkernel


MicrokernelOS의 기능이 많아지면서 크기가 커져가는 문제를 해결하기 위해서 나온 방법이다. 커널에서 제공하는 많은 서비스와 기능들을 유저영역으로 빼고 가장 기본적인 메모리 관리와 CPU 스케줄링 그리고 서비스간의 통신을 관리한다.


장점 : 

마이크로커널은 많은 기능들이 유저 영역으로 빠졌기 때문에 가벼우며 확장성이 크다. 또한 다른 운영체제에 이식가능하며, 커널이 작은 만큼 안정적이다.

 

단점 :

많은 서비스들이 유저영역으로 빠짐으로 각 서비스간의 통신이 많아 성능 저하의 문제가 있다. 하지만 인터넷을 참고해보니 이런 성능 저하의 문제가 분석 오류라는 이야기도 있었다.

 


4. Module


모듈 구조는 마이크로 커널에서 메시지 통신이 너무 빈번하게 일어나는 문제를 해결 하기 위해 커널의 핵심 기능 외에도 자주 사용하는 서비스들을 커널에 포함시킨 모델이다. 예를들어 디바이스 드라이버, 파일 시스템 등등이 있다. 각 서비스들이 모듈화 되어있다는 점에서 Simple structure과는 차이가 있다.


 

장점 :

커널의 각 부분이 정의되고 보호된 인터페이스를 가진다는 점에서 Layered approach 방식과 유사하지만 모듈은 임의의 모듈을 호출할 수 있다는 점에서 Layered approach 보다 유연하며 중심 모듈은 다른 모듈들의 적재 방법과 모듈들과의 통신을 관리한다는 점에서 Microkernel과 유사하지만 메시지 통신을 사용하지 않기 때문에 성능 저하 또한 없다는 점이 장점이다.

 


 


5. Hybrid system


마이크로 커널과 모듈 커널 둘을 합신 구조의 커널 구조이다. 대표적인 예로는 애플의 MAC OS X가 있다. 하지만 이것도 모듈 구조와 비슷한 점이 많아서 단지 비즈니스적인 용어일뿐이라고 하기도 한다


장점 : 하이브리드 커널은 마이크로 커널과 모듈 커널을 합친 형태이며 이들의 장점을 모두 취하고 있다.

 

단점 : 하지만 이 형태 또한 모듈 커널과 크게 차이가 없다는 이야기가 많으며 단지 마케팅의 일환이라는 의견이 있어서 새로운 형태라고 정확히 이야기 할 수 있는지가 의문이다.

 



 

 

728x90
반응형

'Programming' 카테고리의 다른 글

[Security/BOF] [펌]shell code(쉘 코드) 만드는법  (0) 2014.03.30
[Security] Stack fream  (0) 2014.03.29
[OS] Multiprogramming  (0) 2014.03.16
[Security] Register  (0) 2014.03.14
[OS] OS의 의미와 역할  (0) 2014.03.06