반응형

 

- 단기 스케줄러 (또는 CPU 스케줄러)

  • 메모리 내의 준비 상태에 있는 작업 중 실행 할 프로세스를 선택하여 CPU를 할당
  • 일반적으로 스케줄러라 함은 단기 스케줄러를 의미

 

- 중기 스케줄러

  • 가상메모리 체제에서 너무많은 프로세스가 적재되면 하드디스크 입출력이 과다해져서 시스템이 거의 멈추는 현상이 발생(Trashing)
  • 스와핑(Swapping) : 일부 프로세스를 메모리에서 디스크로 보내고(swap-out), 시간이 흘러 메모리에 여유가 생기면 다시 적재(swap-in)한다

 

- 장기 스케줄러 (작업 스케줄러)

  • 오프라인과 연계되는 일괄처리(batch) 큐를 별도로 유지하는 경우에 필요
  • 어떤 작업이 시스템에 먼저 들어와서 처리될 것인가를 결정
  • 스케줄러 알고리즘에 따라 어떤 프로그램을 하드디스크로부터 메모리로 적재할지를 결정하는 프로그램
  • 디스크와 같은 저장장치에 작업들을 저장해 놓고 필요할때마다 실행할 작업을 Ready Queue에서 꺼내서 메모리에 적재한다.

 

차이점 정리

단기 스케줄러는 CPU와 메모리 사이의 스케줄링을 담당하고 장기 스케줄러는 메모리와 디스크 사이의 스케줄링을 담당한다. 중기 스케줄러는 스와핑(Swapping)을 통해 프로세스들이 CPU경쟁이 심해지는 것을 방지하는 역할을 한다. 

단기 스케줄러 준비, 실행, 대기 상태 관리
중기 스케줄러 중단된 준비, 대기 상태 관리
장기 스케줄러 생성 상태 관리

단기 스케줄러의 경우 빠르게 실행되는 프로세스들 간의 우선순위를 정하고 다시 다음 프로세스를 처리해야 하기 때문에 상당히 빨라야하고 호출 빈도수도 많다. 하지만 장기 스케줄러의 경우 새로운 Task가 들어오는 것은 단기 스케줄러에 비해 상대적으로 느리므로 호출 빈도수가 적다.

또한 장기 스케줄러는 CPU Burst와 I/O Burst 사이의 균형을 유지해야 하므로 스케줄링 실행시간이 상대적으로 길더라도 신중하게 프로세스를 선택해야 한다. 한쪽에 지나치게 집중되면 Ready Queue와 Device Queue 중 한쪽에 치우칠 것이고 단기 스케줄러의 균형도 무너질 것이다.

 

반응형

+ Recent posts