[OS] Operating System Structure

2020. 6. 7. 20:05OS

OS를 설계, 구현함에 있어 해결하지 못한 문제가 많지만

일부분만 접근한다면 해결될 수 있다.


접근 방식


사용자 측면

운영 체제는 사용하기 편하고, 배우기 쉬우며 신뢰할 수 있고, 안전하며 빠릅니다.

시스템 측면

운영 체제는 쉽게 설계, 구현, 유지 관리가 용이하고, 유연하고, 안정적이며, 오류가 없고, 효율적이어야 합니다.

OS Structure


 

Simple structure

계층화 X
모듈화 X
하드웨어 프로텍션 X
 -> 응용프로그램이 하드웨어를 건들여 망가질 가능성 높음
 
현재는 거의 사용되고 있지 않다.

Layered approach(계층화 구조)

하부에서 상부 X
상부에서 하부 O
장점
현재 레이어만 신경 쓰면 되므로 구조가 간단하다.
디버깅이 쉽다.

Microkernel(최소한의 커널)

핵심적인 부분만 커널에서 수행
 -> 하드웨어의 의존하는 기본 부분
 -> Process 관리

나머지는 user program으로 올림
장점
확장성 높음
이식성 높음
단점
메시지 패싱 오버헤드가 크다.

Module(모듈화)

기능적으로 모듈화
각각의 모듈은 로딩, 언로딩이 가능하다.
모듈 추가를 원한다면, 커널의 컴파일 없이 커널에 모듈을 로딩함으로써 추가가 가능

Virtual machine

여러 OS를 하나의 하드웨어에서 동작
효과적으로 프로그램 개발이 가능하다.
효과적으로 응용프로그램 사용이 가능하다.
장점
하나의 하드웨어에서 여러 OS동작이 가능하므로 유지 보수 비용이 감소
시스템 개발 기간을 크게 단축 가능
단점
구현이 어렵다

 


Booting


커널을 로드하여 컴퓨터를 시작하는 절차

컴퓨터가 OS를 사용할 수 있도록 만든다.

 

Single-Step-approach

 

Bootstrap loader

하드웨어를 초기화
OS를 RAM으로 로딩

-> 많은 코드가 필요하다.

 

Two-Step-approach

Bootstrap loader

Boot block을 RAM으로 로딩
Boot block을 실행

Boot block

OS를 RAM으로 올림
OS의 첫 번째 라인 실행

'OS' 카테고리의 다른 글

[OS] Operating System Services  (0) 2020.06.07
[OS] Multiprogramming  (0) 2020.06.07
[OS] 컴퓨터 하드웨어  (0) 2020.06.07
[OS] 운영체제(Operating System :: OS)란 무엇인가  (0) 2020.06.07