본문 바로가기
Computer Science/운영체제

[운영체제] OS 역사 | Multi-programming system & Multi-tasking system

by 히욤 2021. 7. 10.

📌OS 역사

  1. 초기 시스템엔 OS가 없다
  2. Batch Processing System
  3. Multi - Programming System
  4. Time - Sharing / Multi - Tasking System
  5. 현재

 

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
  • 사용자와 InteractiveOn-line 프로세싱을 제공
    • 통신 기술의 발달로 여러 유저들이 한 CPU(server)를 사용하게 됨.
  • Time-Slice (Time Quantum)
    • 여러 프로세스들을 위해 시간 단위로 쪼개서 CPU를 제공한다
    • 한 프로세스에 CPU가 묶여있는 것을 방지함
    • 따라서 프로그램이 언제 끝날 지 예측 가능하게 된다.
    • Response Time을 짧고, 응답성을 높게 해야함.
  • 중간에 프로세스를 멈추고 다음 프로그램을 진행하기 때문에, 이전에 어디까지 진행했는지 저장할 필요가 있음

time slice (10ms ~ 100ms)

 

'Computer Science > 운영체제' 카테고리의 다른 글

[운영체제] OS란 무엇인가  (0) 2021.07.10