스케줄링의 종류
비선점형, 선점형
비선점형 스케줄링 특징
-
한 프로세스가 CPU를 점유하는 동안, 다른 프로세스가 CPU를 강제로 빼앗지 못하도록 하는 스케줄링 기법
-
비선점형 스케줄링에서는 프로세스가 끝날 때까지 CPU를 점유하기 때문에, 실행시간이 긴 프로세스가 CPU를 점유할 경우, 다른 프로세스들은 CPU를 기다리는 동안 대기 상태에 머물러 있게 된다.
## 비선점형 스케줄링 종류 FCFS, SJF(Shortest Job First), HRN
FCFS 스케줄링
먼저 도착한 프로세스가 먼저 CPU를 할당받는 방식
대기시간이 긴 프로세스가 먼저 실행되는 경우에는 시스템의 응답 시간이 길어지는 문제가 있습니다.
SJF 스케줄링
##### 실행시간이 가장 짧은 프로세스가 먼저 CPU를 할당받는 방식 ##### SJF 방식은 최적의 스케줄링 기법이지만, 프로세스의 실행시간을 정확히 예측하기 어려운 경우에는 비효율적일 수 있습니다.
HRN 스케줄링
##### 대기 시간과 실행 시간을 모두 고려하여 다음에 실행할 프로세스를 선택하는 방식 ##### 대기 중인 프로세스 중 현재 Response Ratio가 가장 높은 것을 선택 ##### SJF와 Aging 기법을 합쳐 SJF의 약점인 기아 현상을 보완한 기법으로 긴 작업과 짧은 작업 간의 불평등을 완화 #### 우선순위 = (대기 시간 + 실행 시간) / 실행 시간 ##### HRN 방식은 대기 시간과 실행 시간을 모두 고려하여 우선순위를 부여하는 점에서 SJF 방식과 유사하지만, ##### 실행 시간이 긴 프로세스가 계속해서 CPU를 사용하는 문제를 해결할 수 있는 장점이 있다.
스케줄링_선점형
선점형 스케줄링이란?
하나의 프로세스가 CPU를 차지하고 있을 때, 우선순위가 높은 다른 프로세스가 현재 프로세스를 중단시키고 CPU를 점유하는 스케줄링 방식 비교적 응답이 빠르다는 장점이 있지만, 처리 시간을 예측하기 힘들고 높은 우선순위 프로세스들이 계속 들어오는 경우 오버헤드를 초래 실시간 응답환경, Deadline 응답환경 등 우선순위가 높은 프로세스를 빠르게 처리해야 할 경우 등에 유용
선점형 스케줄링 종류
RR, SRT, 다단계 큐
RR
-
비선점 기법인 FIFO(FCFS)를 선점형 기법으로 변환한 스케줄링 기법이다.
-
FIFO와 같이 먼저 들어온 프로세스가 먼저 CPU를 할당받게 되지만, 각 프로세스들은 할당된 시간만큼만 CPU를 사용할 수 있게 된다. 만약, 해당 시간내로 완료하지 못했다면, 대기 상태의 가장 마지막으로 들어가게 된다.
-
시분할 시스템을 위해서 고안된 기법이다.
-
CPU 사용시간이 랜덤한 프로세스들이 섞여 있을 때 효율적인 기법이다.
-
응답시간이 매우 최적화 되어있는 공정한 스케쥴링 기법이다.
SRT
-
비선점 기법인 SJF 스케쥴링 기법을 선점형 기법으로 변환한 스케줄링 기법이다.
-
현재 실행준인 프로세스의 남은 시간과 준비상태 대기열에 새로 도착한 프로세스의 실행시간을 비교하여 가장 짧은 실행 시간을 요구하는 프로세스에게 CPU를 할당하는 기법이다.
다단계 큐
작업들을 여러 종류 그룹으로 분할, 여러 개의 큐를 이용하여 상위 단계 작업이 선점 각 큐는 자신만의 독자적인 스케줄링을 가짐