선점과 비선점
비선점 스케줄링
- 이미 할당된 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 |