OS (Operating System)

[OS] Week03 - 1 (3/16) : parameter, layered structure, virtual machine, boot

FDEE 2021. 3. 16. 17:37

Passing parameters in system calls

- 1. register에 parameter 전달 : parameter 가 6개 이하일 경우 그대로 전달

- 2. regester에 block 전달 : parameter가 6개 초과일 경우 주소값 block을 전달

 

Micro-kernel-based-approach

- Monolitic kernel과 반대되는 개념

- kernel에 process manager 등 핵심만 존재

- 많은 기능들을 user space에서 동작되도록 설계

- kernel 확장이 쉽다

- 새로운 구조를 넣기 쉽다

- 신뢰도가 상승한다 (버그 감소)

- overhead, message passing이 빈번하게 발생한다

 

Simple structure

- MS-DOS때 쓰인 방식

- user, kernel이 아닌 single mode 방식 (protection이 감소)

 

Layered approach

- 계층적 구조

- Top : User Interface

- Bottom : Hardware

- Each layer is implemented with only those operations provided by lower-level-layers

- 각 계층은 system call을 통한 kernel 에 의해 구현된다 : 구조와 디버깅이 간단해진다

- 하부 layer에서 제공되는 operation을 통해서 접근한다

 

Modules

- 각 기능들을 module 별로 나눈다

- 각 module들은 kernel에 필요할 때 loadable이 가능하다

- 필요없는 자원낭비를 줄이게 된다

- dynamic loading, unloading : insmod(load), rmmod(unload)를 통해 동작

- Device Driver의 경우 insmod를 통해 kernel에 추가 설치가 되는 원리

 

Virtual machine

- One Hardware 가지고 several OS를 concurrently하게 동작

- Virtualization Layer를 통해 각 OS는 Virtual Machine을 지니게 된다 (가상의 HW)

- Virtualization Layer - Virtual machine - OS 가 동작되는 구조

- host system 입장에서는 Virtual Machine 위에서 동작되는 kernel은 User Mode 이다

 

System boot

- bootloader : loading the kernel 역할을 수행

- single-step : bootloader(ROM)에서 kernel을 수행 - OS(RAM)

- two-step : bootloader(ROM) - BootBlock(Disk)에서 kernel을 수행 - OS(RAM)

 

Chapter 3

 

Process

- a Program in execution : 현재 수행중인 프로그램 = job, task, process

 

Process address space

- virsual address이다