본문 바로가기

전공

[ 운영체제 ] 스케줄링

반응형

 

스케줄링이란?

큐에 대기중인 작업들중에서, 어떤 작업을 먼저 처리할 것인지 결정하는 선택 기준

우선순위 기반 / 비우선순위 기반,

선점형과 비선점형으로 나뉘어진다.

 

 

선점이란?

현재 CPU가 실행중인 작업보다 더 높은 우선순위의 작업이 들어오면, 진행중인 작업을 중단하고, 높은 우선순위의 작업을 실행함

 

프로세스 스케줄링의 목표

- 시스템 효율, 응답성, 공정성 높임

- CPU 사용률 최대화

- 처리율 최대화

- 반환시간 최소화

- 대기시간 최소화

- 응답시간 최소화

 

스케줄링에는 어떤 것이 있을까?

1. FCFS / FIFO (비선점 스케줄링 기법)

- FCFS ( First Come, First serverd )

- FIFO ( First In, First Out )

 

 

도착 순서대로 프로세스를 할당한다. 그러다보니 사용시간이 긴 프로세스로 인하여, 사용시간이 짧은 프로세스가 오랫동안 기다리는 현상이 발생하는데, 이를 호위효과라고 한다.

한 프로세스가 종료되기 전까지 다른 프로세스를 실행할 수 없는 비선점 스케줄링 기법이다.

FIFO

- 장점

구현이 단순하다.

높은 처리율

기아상태가 없다.

(기아상태란, 우선 순위가 낮은 특정 프로세스가 영원히 실행되지 못하는 상태를 말한다.)

 

- 단점

한 프로세스가 CPU를 장기간 점유할 수 있다. -> 대화형 시스템에 부적합

 

 

2. SJF

- Shortest Job First

SJF

말 그대로 짧은 작업부터 먼저 진행한다. 비선점 스케줄링 기법이다.

 

- 장점

최적 평균 대기시간

 

- 단점

런타임을 예측하기 어렵다.

기아 상태가 발생할 수 있다.

 

 

3. SRT

 

- Shortest Remaining Time next

SRT

SJF의 선점형 버전.

실행중인 프로세스보다 실행시간이 적은 프로세스가 들어오면 CPU를 선점하게 된다.

 

4. RR

- Round Robin

RR

시분할 시스템을 위해서 설계되었으며, 실행시간과 상관없이 일정 시간만큼 순차적으로 CPU를 점유한다.

때문에 문맥 교환이 많이 발생한다.

 

- 장점

대화형 시스템에 적합하다.

 

- 단점

타임 슬라이스가 너무 작으면 문맥 교환 오버헤드가 증가한다.

반응형

'전공' 카테고리의 다른 글

[ 운영체제 ] 문맥교환이란?  (0) 2025.04.27
[ 운영체제 ] 운영체제 개요  (0) 2025.04.27