비선점 스케줄링 (Non-Preemptive)
- 스케줄링 우선순위가 정해지면 우선순위 변경 불가능. (FCFS, SJF, HRN)
- 응답 시간 예측 용이
선점 스케줄링 (Preemptive)
- Round Robin, SRT, Multi Level Queue, 다단계 큐 / 다단계 피드백 큐
스케줄링 알고리즘
- AT ( Arrive Time ) , BT (Burst Time - 걸리는 시간),
스케줄링 알고리즘 | 설명 | 단점 | |
우선순위(Priority) - 비선점 |
- 작업마다 우선순위가 주어짐. | - 우선순위가 낮으면 Starvation,indefinite Blocking 상태에 빠짐. |
|
기한부(DeadLine) - 비선점 |
- 작업을 주어진 제한시간 내에 완료되도록 함. | ||
FIFO( First In First Out ) - 비선점 = FCFS |
- 먼저 대기큐에 들어온 작업에게 CPU를 먼저 할당 | - 정작 중요한 작업을 기다리게 할 수 있음. - 대화식 시스템에 부적합. |
|
라운드로빈 (RR; Round-Robin) – 선점 |
- FIFO를 Preemptive 기법으로 구현한 스케줄링 방법. - 대기 큐에 프로세스가 적재되지만, 주어진 시간 내에 작업을 마쳐야함, 만약 마치치 못하면 다시 대기큐의 맨 뒤로 이동. - 대화형 시스템에 적합. |
||
SJF(Shortest Job First) – 비선점 |
- 처리하여야 할 작업 시간이 가장 적은 것부터 할당 - 일단 한 작업 처리 후 다음 작업 실행 <-> SRT는 작업 도중에 짧은 BT의 작업이 들어오면 현재 작업 정지 후 짧은 BT 실행 |
- CPU 요구 시간을 미리 알기 힘듦. - 긴 작업과 짧은 작업의 불평등 (에이징을 사용 가능) |
|
SRT (Short Remaining Time) - 선점 |
- SJF 기법의 선점 구현 기법으로, 새로 도착한 프로세스를 비롯하여 대기큐에 남아 있는 프로세스의 작업이 완료되기까지의 남아있는 실행 시간 추정치가 가장 적은 프로세스 먼저 할당. | - 실시간으로 BT를 계산하여 짧은 작업을 우선적으로 실행. - 작업이 실행 중이라도 다른 짧은 작업이 들어오면 중단 후. 해당 작업부터 실행. |
- 과부하가 걸림.(실시간이라서) |
HRN (Highest Response Ratio Next) – 비선점 |
- SJF의 약점인 긴 작업과 짧은 작업의 불평등을 보완. - 짧은 Job, 긴 대기시간 Job에게 높은 우선순위를 줌. |
||
다단계 피드백 큐 (Multilevel Feedback Queue) – 선점 |
- 다양한 특성의 작업이 혼합된 경우 유용 - 새 프로세스는 특성에 따라 대기큐에 들어오게 되며, 그 실행 형태에 따라 다른 대기큐로 이동. - 예를들어 연산위주 프로세스는 처음에 RR방식의 대기 큐에서 주어진 시간 할당량이 만료되면 다음 단계의 큐에 배치되고 실행 시간이 길수록 점점 낮은 우선순위를 지니게 되어 마지막 가장 낮은 우선순위의 큐에 도달하면 작업이 끝날 때 까지 RR방식으로 스케줄링 된다. |
||
- | - | - | - |
반응형
'보안&네트워크 > 리눅스, 윈도우(OS 관련)' 카테고리의 다른 글
레지스트리 루트키 설명 (0) | 2022.01.12 |
---|---|
RSA (공개키 암호 알고리즘) (0) | 2022.01.12 |
Sha 해시 함수 (0) | 2022.01.12 |
Diffie-Hellman (디피헬만) (0) | 2022.01.12 |
MBR(Master Boot Record) 과 부팅 (0) | 2021.12.31 |
댓글