본문 바로가기
Computer Science

[Operating System] OS Structure

by Henry Cho 2022. 3. 4.
728x90

OS Structure


포스트 난이도: HOO_Middle

 

[Notice] 포스트 난이도에 대한 설명

안녕하세요, HOOAI의 Henry입니다. Bro들의 질문에 대한 내용을 우선적으로 포스팅이 되다 보니 각각의 포스트에 대한 난이도가 달라서 난이도에 대한 부분을 작성하면 좋겠다는 의견을 들었습니다

whoishoo.tistory.com


 

# Monolithic Systems

Monolithic systems는 Single 프로그램으로 Kernel mode 안에 있다.

그렇다 보니 관리하는데 어려움이 있으며 보완에 취약한 특징을 가지고 있다.

Procedures들이 하나로 연결되어 있으며 Proecdures들이 각각 확인이 가능하다.


# Layered Systems

Layered system은 계층적 구조를 가지고 있다.

예를 들어 아래와 같은 Layers들로 구성되어 있다.

Layer Function
5 The operator
4 User programs
3 I/O management
2 Operator-process communication
1 Memory and drum management
0 Processor allocation and multiprogramming

# Microkernels

Kernel의 Minimizes인 OS 구조로 아래와 같은 특징을 가지고 있다.

  • Less buggy
  • Less catastrophic
  • High reliability
  • Better security

Microkernel은 interrupts, processes scheduling, IPC를 중점적으로 다루며, 나머지는 User mode에서 다룬다.


# Client-server Model

Client-server model은 Network를 통해서 client를 서버로 전달하는 OS 구조이다.

Client, File server, Process sever, Terminal server가 각기 다른 Machine에 있기 때문에 Network를 통해서 Messages들을 전달한다.

한마디로 하나의 kernel에 모든 것이 존재하는 것이 아니라 Network를 통해서 다른 Kernel들과 정보를 공유하여 전달한다는 것이다.


# Virtual Machines

Virtual machines은 각기 다른 OS에서 운영이 이루어지며, Time sharing과 Multiprogramming이 되는 특징을 가지고 있다.

Virtual machines은 Bare hardware 작업을 수행하게 된다.

Virtual machines에서 OS를 사용하는 type은 서로 다른 OS를 사용하는 type 1 hypervisor과 guest OS와 Host OS가 존재하는 type 2 hypervisor가 있다.

Multiple OS나 Hosting OS가 존재하는 이러한 types들은 보안성이 좋다는 장점을 가지고 있다.

 


728x90

댓글