[OS] Evolution of OS, 운영체제의 발전
1. Phase1 : Up to Batch Monitor (early 50s - mid 60s)
1-1. Operator as OS
- 1946년 최초의 컴퓨터 Eniac, card deck을 읽고 연산하는 방식
- OS는 shared subroutine library의 역할을 한다.
- slow job-to-job transition & slowed down CPU due to slow I/O
1-2. Simple Batch Monitor
- Batch Processing : batch(동일한 jobs의 묶음) 단위로 처리하여 CPU utilization ↑
- batch 내 job-to-job transition 빨라짐
- Simultaneous Peripheral Operations Online (SPOOL)
I/O machine은 batch of jobs를 tape로 읽고
Main machine은 job을 load, compute, dump back
I/O machine이 tape에서 output print
- card reader보다 빠른 I/O
- CPU와 I/O 사이에 overlap이 없어 I/O operation 중에는 CPU가 idle 상태
1-3. Batch Monitor
- Advanced Spooling : Jobs spooled on "disk" or "drum"
- read jobs from cards to disk → loaded one into memory → queue output to disk
- Buffering & Interrupt handling : CPU-I/O overlap
- command와 결과 report를 I/O channel, CPU 사이에 주고받음
- still synchronous I/O의 경우, CPU가 기다려야하므로 idle
1-4. Multiprogrammed batch monitor
- 여러 user가 system을 share, main memory에 올라와있는 active job이 여러개
- Memory Protection & Relocation : MMU
- 각 job에게 할당된 memory만 활용하도록 job이 임의의 위치에서 수행할 수 있게 한다.
- base register (시작 지점), bound register (할당된 메모리 양)
- sync i/o를 만나면 CPU에서 job 바꾸는데 이때 기존 register에 base, bound 저장해두고 new one load
![](https://velog.velcdn.com/images/eunie/post/02ae63ce-b6de-4012-bacc-1ff39240d652/image.png)
- Concurrency & Synchrionization 필요
2. Phase2 (mid 60s - mid 90s)
2-1. Interactive time-sharing OS
- 하드웨어의 비용은 낮아지고 상대적으로 인건비가 비싸져, human idle 시간을 줄이고자 함 → 직원 개개인이 terminal 이용
- user들은 CPU를 share, OS는 시간을 나누어 배분 : time-sharing
- 보안문제로 fancy file systems added
- Throughput (시간당 수행한 job의 수) + Response time이 중요한 지표가 되었다
2-2. PC OS
- computers in every termina
2-3. OS with Internet Access
- 서로 다른 machine이 쉽게 resource를 공유
3. Phase3 (mid 90s ~ present)
3-1. OS with built-in Internet Access
- Connectivity가 중요한 요소가 되면서 Internet protocol (TCP/IP) added
- Internet Programming & Multitasking 중요도 ↑
3-2. Sophisticated PC OS
- 더 많은 computer & network resource 필요
- QoS(Quality of Service ex.영상 끊어짐), RTOS(Real-time OS, time constraint 존재)와 같이 human perception이 더욱 중요한 평가지표가 됨
- Home appliance + Computer merged
3-4. OS as Commodity
- Multicore support added
- OS became software platform
Summary
![](https://velog.velcdn.com/images/eunie/post/ce10d87b-c251-482f-b7e9-b1356f5c6692/image.png)