운영체제 구조

강준호·2021년 12월 2일
0

운영체제

목록 보기
2/13

OS Design 원칙

Policy

  • 무엇이 되게 할것인가? = 목적

Mechanism

  • 무엇을 어떻게 할 것인가 =도구

Layering

  • Os 의 복잡도를 낮추기 위한 도구

장점

  • 독립적임: 고장난 레이어만 고치면 됨
  • 모듈러리티: 핵심 함수들끼리 레이어를 나눠서 각각을 나눔

불완전한 레이어링의 단점(MS-dos)

  • 오버헤드 발생
  • 보안 문제 ex) 은행 프로그램인데 app 레이어에서 bios에 접근해서 악의적인 문제 발생

Mode

  • 시스템 보호를 위해서 필요
  • cpu에서 레이어링 더 잘 할 수 있도록 권한을 줬다 뺏다함

Kernel Mode

  • 모든 권한 가진 실행 모드
  • 운영체제가 실행되는 모드
  • privilege명령어(I/O장치 제어, 레지스터 접근)가능

User Mode

  • 낮은 권한
  • 어플리케이션이 실행되는 모드
  • privilege 명령어 실행 불가

시스템콜

실행 모드의 전환

  • User Mode 에 있던 어플리케이션이 Kernel Mode가 필요할때(하드웨어 접근)
    ex) Open,Write, c언어의 fopen 등

커널 종류

Monolithic(단일) 커널

  • 성능이 최고
  • 커널의 모든 function이나 기능이 하나로 되어있음

장점

  • 시스템콜 불러도 커널 하나에서 컨트롤 할 수 있으니 overhead 적음

단점

  • 모든 서비스 모듈이 하나로 되어있으니 수정 및 디버깅이 어려움
  • 커널이 덩치도 크고 유기적으로 연결되어 있어 유지 보수어려움

Micro 커널

  • 기능에 따라 모듈화 해서 각각 독립된 주소공간에서 실행
  • 성능은 별로

장점

  • 서비스가 따로따로 구현되어 있어 의존성 낮음.
  • 독립적인 개발 가능하고 유지보수 쉬움
  • 불필요한 서버는 종료시켜서 리소스,CPU,메모리 등 확보 가능
  • Mono 커널보다 안정적
  • 안정적인 의료 컴퓨터 분야에 적합

단점

  • 시스템콜 자주해서 낮은성능

Mono vs Micro 커널

  • 모노는 시스템 콜 한번 한 후에는 다 펑션콜 = 스타트업 일처리 느낌
  • 마이크로는 왔다 갔다 하면서 시스템 콜, upcall 많이 하다보니까 성능 나쁨.. = 공무원 일처리 느낌

Hypervisor 커널

  • 운영체제가 가상머신 역할을 해줌
  • 각 게스트 Os간의 CPU, 메모리 등 시스템 자원을 분배하는 등 최소한의 역할 수행

장점

  • 하나의 물리 컴퓨터에서 여러종류 OS 운용 가능

단점

  • 성능이 떨어짐

0개의 댓글