본문 바로가기
Computer Science/운영체제

04. 스케줄링 알고리즘

by _S0_H2_ 2021. 7. 19.
728x90
반응형

스케줄링 알고리즘은 프로세스를 어떻게 실행시킬지 결정하는 방법이다.
시분할 시스템은 프로세스 응답 시간을 짧게, 멀티 프로그래밍은 CPU 활용도를 최대로 높혀서 프로세스를 빨리 실행하는 것이 목표이다. 각 알고리즘은 이와 같은 목표를 갖고 있다.


1. FIFO 스케쥴러


: 프로세스가 저장매체를 읽거나 프린팅을 할 때 쭉 CPU를 끝까지 사용한다.
가장 간단한 스케쥴러로 FCFS라고도 불린다.

 

 

다음과 같은 우선순위를 갖는 process가 있을 때 스케쥴링 알고리즘에 따라 작업 실행 순서는 다르다.


2. SJF 최단 작업 우선 스케쥴러


: 가장 프로세스 실행시간이 짧은 프로세스부터 먼저 실행을 시키는 알고리즘이다.


3. 우선순위 기반 스케쥴러


- 정적 우선순위 : 프로세스마다 우선순위를 미리 지정
- 동적 우선순위 : 스케쥴러가 상황에 따라 우선순위를 동적으로 변경



4. Round-Robin 스케쥴러


: 시분할 시스템 기반의 스케쥴러로, 프로세스를 실행하다가 일정 시간이 지나면 기존 프로세스는 Queue에 넣어둔 후, 다른 프로세스를 실행한다.



5. 멀티 프로그래밍과 Wait

멀티 프로그래밍 : CPU 활용도를 극대화하는 스케쥴링 알고리즘

RUN을 계속적으로 넣어서 100%가동을 해주는 것이 목표이다.



6. 프로세스 상태


running state : 현재 CPU에서 실행 상태
ready state : CPU에서 실행 가능 상태
block state : 특정 이벤트 발생 대기 상태

728x90
반응형

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

06. 인터럽트  (0) 2021.07.31
05. 프로세스 상태와 스케쥴러  (0) 2021.07.26
03. 프로세스 스케쥴링  (0) 2021.07.18
02. 운영체제 구조  (0) 2021.07.15
01. 운영체제 역할과 응용 프로그램  (0) 2021.06.21