alt
Home 스케줄링과 스케줄러
Post
Cancel

스케줄링과 스케줄러

: 프로세스에게 CPU 등의 자원을 적절히 배정하는 것


Queue: 프로세스 스케줄링에 사용되는 큐

  • Job Queue: 현재 시스템 내의 모든 프로세스 집합
  • Ready Queue: 현재 메모리 내에 있고, CPU 할당을 기다리고 있는 프로세스 집합
  • Device Queue: Device I/O 작업을 대기하고 있는 프로세스 집합


장기 스케줄러

: 어떤 프로세스를 Ready Queue(메모리)로 보낼지 결정. swap-in

  • 메모리디스크 사이 스케줄링
    • 일단 많은 프로세스가 한번에 올라오면, 대용량 메모리(디스크)에 임시로 저장되고, 이걸 적절히 메모리로 올려야 함.
    • 메모리는 한정되어있기 때문에 적절한 스케줄링 필요
  • 실행중인 프로세스 수 제어하는 역할(degree of Multi-programming)
  • new -> ready 상태


단기 스케줄러

: 어떤 프로세스를 실행할지(Running) 결정. 따라서, 프로세스에 CPU 를 할당(scheduler dispatch)

  • CPU 와 메모리 사이 스케줄링
  • Ready Queue에 존재하는 프로세스 중 어떤 프로세스를 running 시킬지
  • ready -> running -> waiting -> ready


중기 스케줄러

: 어떤 프로세스를 메모리에서 디스크로 쫓아낼지 결정

  • 메모리 공간 확보를 위해 디스크로 swap-out
    • 프로세스에게서 memory를 deallocate
  • 실행중인 프로세스 수 제어하는 역할(degree of Multi-programming)
  • ready -> suspended (job queue로?)
  • 대부분의 OS에서는 우선순위 알고리즘이나 Round Robin 혼합해서 사용한다고 함



Reference)

https://github.com/JaeYeopHan/Interview_Question_for_Beginner/tree/master/OS#cpu-%EC%8A%A4%EC%BC%80%EC%A4%84%EB%9F%AC

This post is licensed under CC BY 4.0 by the author.