• 스케줄링(Scheduling)의 단계
    • 고수준 스케줄링
    • 가게가 장사가 잘된다고 손님을 계속 받는 것이 아닌 것처럼 시스템 내의 전체 작업 수를 조절하는 것을 말함. 여기서 작업이란 운영체제에서 다루는 일의 가장 큰 단위로 1개 또는 여러개의 프로세스로 이뤄짐.
    • 중간 수준 스케줄링⇒ 즉, 고수준 스케줄링은 스케줄링 대상에 참여하는 job을 조절하는 것이라면 중간 수준 스케줄링은 이미 들어온 프로세스들에 대하여 전체적으로 조절하는 것임.
      1. 고수준과 저수준 스케줄링 사이에서 일어나는 일.
      2. suspend와 active 로 전체 시스템의 활성화된 프로세스 수를 조절하여 과부하를 막음.
      3. 이는 프로세스의 상태 중 보류 상태(suspend state)에 해당하며 저수준 스케줄링이 원만하게 이루어지도록 완충하는 역할을 함.
    • 저수준 스케줄링준비 상태인 프로세스를 실행 상태로, 실행 상태를 대기 상태로, 대기 상태를 준비 상태로 보내는 것들이 있음.
    • 어떤 프로세스에 CUP를 할당할지, 어떤 프로세스를 대기 상태로 보낼지 등을 결정하는 일임.

정리

고수준 스케줄링에서 전체 시스템의 부하를 고려하여 작업을 시작할지 말지 결정함. 이 결정에 따라 전체 프로세스의 수가 결정되는 것임.

중간 수준 스케줄링은 시스템이 과부하가 걸려서 전체 프로세스 수를 조절해야할 때, 이미 활성화된 프로세스 중 일부를 보류 상태로 보낸다. 보류 사애가 된 프로세스는 처리 능력에 여유가 생기면 다시 활성화가 됨.

저수준 스케줄링에서 실제로 작업이 이루어집니다. CUP 스케줄러는 필요에 따라 준비 상태에 있는 프로세스를 실행 상태로 옮기고, 대기 상태로 보내기도 하며, 타임 아웃으로 준비 상태로 보내기도 한다. 보통 특별한 명시가 없다면 CPU 스케줄러는 저수준 CPU 스케줄러를 말함.

'CS(Computer science) > 운영체제' 카테고리의 다른 글

[운영체제] 인터럽트와 DMA  (0) 2024.03.05

+ Recent posts