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