운영체제 스케쥴링 방식

배치 처리 시스템

  • 배치 처리 시스템은 application1, application2가 있을때 두가지 프로그램을 순차적으로 등록시켜서 application1이 처음부터 끝까지 실행한 후 완료되면 application 2를 실행시키는 방식이다.

  • 자료구조의 Queue방식과 유사하다.

image.png

  큐에 1,2,3,4, 순으로 입력되어 있다. 가장 먼저 dequeue되는 데이터는 1이다. 1이 먼저 추출되는 이유는 큐는 입력되는 영역과, 출력되는 영역이 서로 구분되기 때문이다.

 즉, 배치 처리 시스템과 비교를 해보면 application1,application2가 Queue에 차례대로 저장된 후, application1이먼저 queue에서 추출된 후 모든 작업이 종료된 후 application2가 추출되고 실행된가. 즉, 배치처리 시스템은 Queue와 유사하게 First in First Out형태로 처리가 된다.

image.png

배치 처리 시스템과 시분할 시스템/멀티 프로그래밍 비교

배치 처리 시스템

  • 배치 처리 시스템은 여러 프로그램을 순차적으로 실행시킬 수 있도록 해준다.

  • 특정 프로그램은 실행이 너무 오래 걸리면, 다른 프로그램은 너무 긴 시간을 기다려야해서 비효율적이다.

  • 음악을 들으면서 문서작성을 해야하는 행위는 불가능하다.(동시성)

  • 여러 사용자가 동시에 하나의 컴퓨터를 쓰는것 또한 불가능하다.(다중 사용자 지원)

  • 배치 처리 시스템의 단점을 보완하기 위해서 멀티 프로그래밍/시분할 시스템이 등장하였다.

멀티 프로그래밍/ 시분할 시스템

image.png

image.png

  • 시분할 시스템
    • 다중 사용자 지원을 위해 컴퓨터 응답 시간을 최소화 하는 스케쥴링
    • 응용 프로그램이 CPU를 점유하는 시간을 잘게 쪼개어 실행될 수 있도록 하는 시스템
  • 멀티태스킹
    • 멀티 태스킹은 단일 cpu에서, 여러 응용 프로그램이 동시에 실행되는 것 처럼 보이도록 하는 시스템
    • 음악을 들으면서, 문서 작성을 한다.
      • 음악을 듣는것도 응용프로그램, 문서를 작성하는것도 응용프로그램
      • 음악을 듣는 프로그램에 일정 시간 cpu할당, 문서 작성하는 프로그램에 일정시간 cpu 할당하는 과정을 반복하면서 멀티태스킹을 수행한다.
  • 실제 멀티 태스킹
    • 1000밀리초(ms) = 1초
    • 10~20 ms 단위로도 실행 응용 프로그램이 바뀐다.
    • 사용자에게는 동시에 실행되는 것 처럼 보인다.

image.png

멀티 태스킹과 멀티 프로세싱

image.png

  • 멀티 태스킹과 멀티 프로세싱의 차이?
  • 멀티태스킹은 단일 cpu
    • 단일 cpu가 여러 응용프로그램에게 시간을 분할해서 다중 프로그램을 빠르게 바꿔가면서 처리하는 방식
  • 멀티 프로세싱은 여러 cpu
    • 하나의 응용프로그램이 여러 cpu를 사용하면서, 어떻게 하면 조금 더 빠르게 실행시킬 수 있을까를 구현한 시스템이다.
    • 여러 cpu에 하나의 프로그램을 병렬로 실행해서 실행 속도를 극대화 시킨다.

시분할 처리 vs 멀티 태스킹

  • 시분할 시스템은 다중 사용자 지원을 위해 컴퓨터 응답 시간을 최소화하기 위한 목적
  • 멀티 태스킹은 단일 cpu에서 여러 응용 프로그램이 동시에 실행된느 것 처럼 보이도록 하는 것을 목적으로 한다.