📌OS 역사
- 초기 시스템엔 OS가 없다
- Batch Processing System
- Multi - Programming System
- Time - Sharing / Multi - Tasking System
- 현재
2. Batch Processing System
- 작은 메모리 레지던트 OS / 디스크 기반 OS
- 기계가 읽을 수 있는 데이터를 최초로 처리하던 방식
- 데이터를 위한 기계가 읽을 수 있는 매개체의 최초의 이용
- Jobs
- 프로그램, 컴파일러를 Job이라고 부름
- 펀치 카드
- 카드 리더기로 프로세스를 동작했음
- Off-line 프로세싱
- 입출력 장치에 의해 성능이 좌우됨
- 나~중에 마그네틱 테이프 리더기가 카드 리더기 대신에 사용되었다.
3. Multi Programming
- CPU와 IO가 Concurrently(병렬로) 실행됨.
- 각각의 Job들 마다 Memory Segmentation이 일어났다.
- IO/CPU overlap이 가능하다.
- 프로세스가 IO 동작할 때는 CPU가 필요가 없음
- 이때 그 프로세스에게서 CPU를 빼앗아, CPU를 필요로 하는 프로세스에게 전달!
- 그게 가능한 이유는 Memory Segmentation
- 하지만, 한 프로세스가 IO 동작은 하지 않고, 계속 CPU를 독점한다면 막을 방법이 없음 ...
- 대안 법으로 Multi tasking/ time sharing이 등장
4. Multi Tasking/ Time Sharing
- 가장 현재와 근접한 OS
- 사용자와 Interactive한 On-line 프로세싱을 제공
- 통신 기술의 발달로 여러 유저들이 한 CPU(server)를 사용하게 됨.
- Time-Slice (Time Quantum)
- 여러 프로세스들을 위해 시간 단위로 쪼개서 CPU를 제공한다
- 한 프로세스에 CPU가 묶여있는 것을 방지함
- 따라서 프로그램이 언제 끝날 지 예측 가능하게 된다.
- Response Time을 짧고, 응답성을 높게 해야함.
- 중간에 프로세스를 멈추고 다음 프로그램을 진행하기 때문에, 이전에 어디까지 진행했는지 저장할 필요가 있음
'Computer Science > 운영체제' 카테고리의 다른 글
[운영체제] OS란 무엇인가 (0) | 2021.07.10 |
---|