선점과 비선점


비선점 스케줄링

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

 - CPU를 할당받으면 해당 프로세스가 완료될 때까지 CPU를 사용한다.

 - 일괄 처리 방식에 적합

// FCFS, SJF, 우선순위, HRN, 기한부 등


선점 스케줄링

 - 하나의 프로레스가 CPU를 할당받아 실행하고 있을 때 우선순위가 

높은 다른 프로세스가 CPU를 강제로 빼앗아 사용할 수 있는 스케줄링 기법

 - 빠른 응답 시간을 요구하는 대화식 시분할 시스템에 사용

 - 많은 오버헤드 초래

 - 선점이 가능하도록 일정 시간 배당에 대한 인터럽트용 타이머 클록이 필요

// Round Robin, SRT, 선점 우선순위, 다단계 큐, 다단계 피드백 큐 등









비선점 스케줄링


FCFS(First Come First Service)

 - 도착한 순서에 따라 차례로 CPU를 할당하는 기법으로, 가장 간단한 알고리즘


P1 (10초)   P2 (3초)   P3 (7초)

p2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

p2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

p3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 



SJF(Shortest Job First)

 - 준비상태 큐에서 기다리고 있는 프로세스들 중에서 실행 시간이 가장 짧은 프로세스에게 먼저 CPU를 할당하는 기법


P1 (10초)   P2 (3초)   P3 (7초)

p1 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

p2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

p3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 



HRN(Highest Response-ratio Next)

 - 실행시간이 긴 프로세스에 불리한 SJF 기법을 보완하기 위한 것으로,

대기 시간과 서비스 시간을 이용하는 기법이다.

 - 우선순위 계산식 = (대기시간 + 서비스 시간) / 서비스 시간


기한부

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


우선순위

 - 준비상태 큐에서 기다리는 각 프로세스마다 우선순위를 부여하여 

그 중 가장 높은 프로세스에게 먼저 CPU를 할당하는 기법

 - 가장 낮은 순위를 부여받은 프로세스는 무한연기 또는 기아 상태가 발생할 수도 있다.







선점 스케줄링


SRT(Shortest Remaining Time)

 - 남은 시간이 가장 짧은 프로세스에게 CPU를 할당하는 기법


RR(Round Robin)

 - FCFS 기법과 같이 준비상태 큐에 먼저 들어온 프로세스가 먼저 CPU를 할당 받지만

각 프로세스는 시간 할당량 동안만 실행한 후 실행이 완료되지 않으면 

다음 프로세스에게 CPU를 넘겨주고 큐의 가장 뒤로 배치 된다.


P1 (10초)   P2 (3초)   P3 (7초)

P1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

P2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

P3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 



선점 우선순위

 - 준비상태 큐의 프로세스들 중에서 우선순위가 가장 높은 프로세스에게 먼저 CPU를 할당하는 기법


다단계 큐

 - 프로세스를 특정 그룹으로 분류할 수 있을 경우 그룹에 따라 각기 다른 준비상태 큐를 사용하는 기법

 - 각 준비상태 큐는 독자적인 스케줄링을 가지고 있으므로 각 그룹의 특성에 따라 

서로 다른 스케줄링 기법을 사용할 수 있다.


다단계 피드백 큐

 - 특정 그룹의 준비상태 큐에 들어간 프로세스가 다른 준비상태 큐로 이동할 수 없는

다단계 큐 기법을 준비상태 큐 사이를 이동할 수 있도록 개선한 기법




'ComputerScience > OperatingSystem' 카테고리의 다른 글

교착상태  (0) 2017.10.16
병행 프로세스와 상호 배제  (0) 2017.10.11
프로세스  (0) 2017.10.10
링커와 로더  (0) 2017.10.10
매크로  (0) 2017.10.10

+ Recent posts