본문 바로가기

Basic Learning/Operating System Concepts

Introduction to OS

 

 

이 포스트는 서울대학교의 '운영체제의 기초' 강의를 개인 학습용으로 작성한 포스트입니다.

 

 

 

What is OS?

Top-level definition : Application이 실행할 수 있는 환경을 제공하는 System software

Technical definition : Coordinator, Illusion generator, Standard library

 

 

Evolution of OS - Phase 1

1. Operator as OS

Slow job-to-job transition

사람이 카드 덱을 직접 로딩/수행해야 했기 때문에 사람으로 인해 전체 시스템이 느려짐

 

2. Simple batch monitor

Slow job-to-job transition를 해결하기 위해 여러개의 카드 덱을 하나의 Tape에 기록하고 컴퓨터는 Tape의 Job을 순차적으로 수행함

하지만 I/O 동안 Computation 불가

 

3. Batch monitor

I/O channel 도입

-> Interrupt handling, Buffering 도입

여전히 single job, synchronous I/O인 경우, I/O동안 기다려야 함

 

* Synchronous I/O : I/O 시작한 뒤, I/O가 끝날 때까지 wait

* Asynchronous I/O : I/O 시작한 뒤, 끝나는 거 기다릴 필요없이 control return

 

4. Multiprogrammed batch monitor

Degree of multiprogramming이 1 이상

 

* Active job : 수행 시작 했지만 종료 상태가 아닌 프로그램

* Degree of multiprogramming : 현재 main memory에 존재하는 active job의 개수

 

여러 문제점이 생겨남

1) Memory Protection

2) Memory Relocation

3) Concurrent Programming

 

해결

Memory Protection : MMU (Memory Management Unit)가 base register, bound register를 통해 확인

Memory Relocation : Program 작성할 때는 주소 0에 로드 된다 가정하고 수행시에 주소값은 base register 값을 더함

Concurrent Programming : Synchronization에서 언급

 

* MMU는 transparent하지 않음 : OS가 base register 관리함 (programmable)

 

 

Evolution of OS - Phase 2

1. Interactive time-sharing OS

Terminal 사용

File system 등장

Reponse time, Protection이 중요해짐

 

2. PC OS

3. OS with Internet

 

 

Evolution of OS - Phase 3

 

* 3C Convergence : Communication, Computer, Consumer electronics

 

1. OS with built-in Internet Access

2. Sophisticated PC OS

3. OS with Multimedia Support

4. OS as Commodity

 

* Streaming : 일부 데이터만 확보된 상태에서 작업 시작 가능

 

 

Functions of OS

1. Coordinator

Allow things to work together efficiently and fairly

-> 분류 : CPU scheduler, Memory management system, I/O system, File system, Network system

 

2. Illusion Generator

Exports cleaner, higher level interface to hardware

어느 지점 이상 넘어서면 잘 작동안함 (Thrashing)

 

3. Standard Library

 

 

 

'Basic Learning > Operating System Concepts' 카테고리의 다른 글

Deadlock  (0) 2020.06.15
Process Synchronization  (0) 2020.06.14
CPU Scheduling  (0) 2020.06.14
Processes and Threads  (0) 2020.06.14
Review of Computer Hardware  (0) 2020.06.13