본문 바로가기
Certificate/정보처리기능사

스케줄링(Scheduling); 선점형(Preemitive)기법과 비선점형(Non-Preemptive)기법 차이점과 종류 (feat.에이징(Aging)기법)

by yoiii 2021. 1. 23.

* 2021 정보처리기능사 필기 과목 시험대비를 위해 작성한 글입니다.

제 3과목 운영체제(OS)의 선점형 기법과, 비선점형 기법에 관한 내용을 기록해 두었습니다.

개인적인 자격증 공부 기록용으로 작성한 글이기에, 잘못된 내용이 있을 수 있습니다.


#1 스케줄링(Scheduling)이란?

스케줄링(Scheduling)컴퓨터의 자원을 보다 효율적으로 이용하기 위해 작업 순서와 시간을 할당하는 것으로, 프로세스(실행중인 프로그램)들이 자원을 사용하는 순서를 결정하는 일 입니다.

스케줄링 작업을 수행하는 프로그램을 스케줄러(Scheduler)라고 합니다.

스케줄링 기법선점형 기법비선점형 기법으로 나뉩니다.


#2 선점형(Preemptive) 기법

선점형(Preemptive) 기법하나의 프로세스가 CPU를 점유하고 있을 때 다른 프로세스가 CPU를 빼앗아 차지할 수 있는 방법으로, 대화식 시분할 시스템과 같은 실시간 시스템에서 사용되는 기법입니다.

 

① RR 스케줄링 (Round Robin)

각 프로세스에 차례로 일정한 시간 할당량(Time slice) 동안 차지하도록 하는 기법으로, 주로 시분할 시스템에서 사용됩니다. 

 

② SRT 스케줄링 (Shortest Remaining Time)

남은 처리 시간이 가장 짧은 프로세스에게 CPU를 할당해 작업을 처리하도록 하는 방법입니다.

 

③ MFQ 스케줄링 (Multilevel Feedback Queue)

작업을 여러 단계로 나누어 처리하는 방식으로, 높은 단계는 시간 할당량을 적게, 낮은 단계는 많게 할당해 주는 방법입니다.


#3 비선점형(Non-Preemptive) 기법

비선점형 기법특정한 프로세스의 작업이 끝날 때 까지 CPU를 '독점'하는 기법입니다.

응답 시간의 예측이 용이하다는 장점을 지니고 있지만, 긴 작업을 오래 기다려야 하는 단점이 있습니다.

 

① FIFO 스케줄링 (First In First Out) = FCFS

먼저 들어온 것을 우선처리(선입 선출)하는 방식으로, 가장 간단한 방식입니다.

 

② 우선순위 스케줄링 (Priority)

각각의 프로세스의 우선순위를 정하여 순위가 높은 작업 순으로 처리하는 방식입니다.

 

③ SJF 스케줄링 (Shortest Job First) 

작업시간이 가장 짧은 것부터 먼저 처리하는 방식입니다.

 

④HRN 스케줄링 (Highest Resopnse ratio Next)

SJF  스케줄링 기법의 작업 간 풀평등을 보완한 방식입니다. 우선순위 = 대기시간 + 서비스시간 / 서비스시간 으로 계산하며,

짧은 작업의 우선순위가 높아지고, 긴 작업도 오래 기다리면 우선순위가 높아지게 됩니다.


#4 에이징(Aging) 기법

에이징 기법이란, 자원이 할당되기를 기다린 시간에 비례하여, 높은 우선순위를 부여하는 기법입니다.

비선점형 기법의 "우선순위 스케줄링"의 무한 봉쇄를 방지할 수 있습니다.


댓글