본문 바로가기
CS/운영체제

[운영체제 OS] Process Scheduler

by 루시킴 2021. 8. 18.

Process Scheduling Queues

프로세스를 스케줄링 하기 위한 3가지 큐가 존재한다.

Job Queue - 모든 프로세스 저장하는 큐

Ready Queue - 실행 가능한 프로세스들이 CPU에 자원할당 받기 위해 기다리는 큐

Device Queue - I/O 장치에서 작업 처리하는 동안 프로세스들이 대기하는 큐

 

Long-term Scheduler (New -> Ready)

메모리는 한정되어 있는데 많은 프로세스들이 한꺼번에 메모리에 올라올 경우, 대용량 메모리(일반적으로 디스크)에 임시로 저장된다. 이 pool 에 저장되어 있는 프로세스 중 어떤 프로세스에 메모리를 할당하여 ready queue 로 보낼지 결정하는 역할을 한다. Time-sharing을 사용하는 현 컴퓨터에서는 사용하지 않는다.

Short-term Scheduler (Ready -> Running)

Ready queue에 존재하는 프로세스 중 Running 상태로 만들 프로세스를 결정한다. 즉, 메인 메모리에 올라와있는 프로세스 중 어떤 프로세스를 CPU에 할당할지 골라주는 역할로 CPU Scheduler라고도 불린다. 추후에 여러가지 스케줄링 방식에 대해 자세히 설명할 예정이다.


Process Scheduling

Process Scheduling

Ready queue에 있던 프로세스가 CPU할당을 받아서 Running상태가 된다. 이때, I/O 요청, Timer interrupt, Interrupt이 발생하면 하던 작업을 중지하고 waiting 상태로 갔다가 다시 Ready queue에 들어가서 CPU 할당받기 위해 대기한다.

 

 

 

 

 

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

[운영체제 OS] Process vs Thread  (2) 2021.08.21
[운영체제 OS] CPU Scheduling  (0) 2021.08.21
[운영체제 OS] Process / PCB / Context Switch  (0) 2021.08.18
[운영체제 OS] System Call  (0) 2021.08.18
[운영체제 OS] Introduction  (0) 2021.08.18

댓글