본문 바로가기
공부/OS 공부

[OS 공부] 스케줄러

by 로디네로 2021. 1. 10.
반응형

 

스케줄러란

 

프로세스들은 자신이 죽을때까지 수많은 큐들을 돌아다닌다. OS는 이 큐 안에 있는 프로세스 중에 하나를 선택해야 한다. 이런일을 스케줄러가 하는 것이다.

즉,프로세스들 중에 무엇을 어떻게 어떤시간에 선택해야하는것일까? 이러한 원칙을 세워 실행하는 것을 스케줄러라고 한다.


큐(Queue) :

 

프로세스를 스케줄링 하기 위한 큐는 세가지 종류가 있다.

 

- Job Queue : 현재 시스템 내에 있는 모든 프로세스의 집합

- Ready Queue : 현재 메모리 내에 있으면서 CPU를 기다리는 프로세스의 집합

- Device Queue : Device I/O 작업을 대기하고있는 프로세스의 집합

 


스케줄러의 종류

 

장기스케줄러 : 한정된 메모리 공간에 프로세스들이 한번에 올라온 경우, 디스크에 임시로 저장된다. 이 프로세스들 중 어떤 프로세스에 메모리를 할당하여 ready queue로 보낼지 결정하는 역할을 한다.

- 메모리와 디스크 사이 스케줄링 담당

- 프로세스에 메모리를 할당

- 실행중인 프로세스의 수 제어

- 프로세스의 상태 new->ready

 

단기스케줄러 : 

- CPU와 메모리 사이의 스케줄링 담당

- ready queue에 존재하는 프로세스 중 어떤 프로세스를 run 시킬지 결정

- 프로세스에 CPU를 할당해준다.

- 프로세스의 상태 ready -> running -> waiting -> ready

 

중기스케줄러 : 

- 여유공간을 마련하기 위해서 프로세스를 통째로 메모리에서 디스크로 쫓아낸다

- 현 시스템에서 메모리에 너무 많은 프로그램이 동시에 올라가는 것을 조절하는 스케줄러

- 프로세스의 상태 ready -> suspended

 

 

 


 

참고자료 : 프로세스와 스레드

dbstndi6316.tistory.com/173

 

[OS 공부] 프로세스와 스레드

프로세스 : 실행중인 프로그램 으로 메모리에 적재돼서 CPU에 할당을 받을 수 있는것을 말한다. 위 사진과같이 OS로부터 주소공간과 파일 메모리 등을 할당받고 이를 프로세스라고 한다. Stack 은

dbstndi6316.tistory.com

 

반응형

'공부 > OS 공부' 카테고리의 다른 글

[OS 공부] 프로세스 동기화  (0) 2021.01.27
[OS 공부] 동기&비동기  (0) 2021.01.17
[OS 공부] CPU 스케줄러  (0) 2021.01.13
[OS 공부] 멀티스레드 & 멀티프로세스  (0) 2021.01.09
[OS 공부] 프로세스와 스레드  (0) 2021.01.09

댓글