본문 바로가기

자격증 공부/정보처리산업기사

운영체제 ! 스케쥴링

 

(1) 비선점 스케쥴링

이미 할당된 cpu 를 다른 프로세스가 강제로 빼앗아 사용할 수 없는 스케쥴링 기법

 

1) 장점

 : 모든 프로세스에 대한 요구를 공정하게 처리 가능

 : 프로세스 응답 시간 예측이 용이

2) 단점

 : 중요한 작업이 중요하지 않은 작업을 기다리는 경우가 발생

 : 대화형 시스템에 부적합

3) 종류

 1. FIFO = FCFS

 -> 먼저 들어온 프로세스를 먼저 처리

2. SJF ( Shortest Job First )

-> 실행 시간이 가장 짧은 것 부터 처리

-> 가장 적은 평균 대기시간 제공, 최적 알고리즘

-> 단, 실행시간이 긴 것은 무한대기에 빠질 수 있음

 

3. HRN ( Highest Response-ratio Next )

-> SJF 의 단점을 보완하기 위한것으로, 대기시간과 서비스 시간을 이용하는 기법

-> Aging 기법을 사용함. 대기시간이 커지면 우선순위가 높아짐 !

★ 우선 순위 계산식

 

4. 기한부 ( Deadline )

-> 프로세스에게 일정한 시간을 주어 그 시간안에 완료하도록 하는 기법

-> 제한된 시간 안에 완료하지 못할 경우, 제거되거나, 처음부터 다시 실행 해야 함

-> 집약적 자원관리는 많은 오버헤드를 일으킬 수 있음

-> 사용자는 그 작업에 필요한 정확한 정보를 시스템에 제시해야 함.

별로 중요하진 않음

 

5. 우선순위 ( Priority )

-> 준비상태 큐에 있는 프로세스 마다 우선순위 부여,

 

※ 에이징 기법 : 프로세스가 자원을 기다리고 있는 시간에 비례하여 우선순위를 부여 함

 

(2) 선점 기법

 

1) SRT

SJF 기법을 선점 형태로 변경한 기법

가장 짧은 실행 시간을 요구하는 프로세스에게 CPU 할당함

 

2) RR ( Round Robin )

시분할 시스템을 위해 고안된 방식으로 FIFO 기법을 선점 형태로 변형한 기법

할당되는 시간이 클 경우 FIFO 와 같아짐

할당되는 시간이 작으면 문맥 교환 및 오버헤드가 자주 발생됨

배당 시간 내에 작업 완료 못할 경우, 준비상태 큐 의 맨 뒤로 이동함

 

3) 선점 우선순위

말 그대로..

4) 다단계 큐 ( MLQ )

큐를 3개로 나눔.

상위 큐 : 시스템

중위 큐 : 대화형

하위 큐 : 일괄처리

 

5) 다단계 피드백 큐 ( MFQ  )

마찬가지로 큐를 3개로 나눔, 각 큐마다 할당시간을 다르게 함

상위큐 : 예로 3초

중위 큐 : 상위큐 로 완료되지않은 프로세스가 옴, 예로 5초

하위 큐 : 중위큐로도 해결 안된 프로세스가 옴, 예로 10초