CPU 스케줄링
메모리에 올라온 준비 상태의 스레드 중 하나에 CPU를 할당하는 일련의 과정.
[스케줄링 알고리즘 목표]
- CPU 이용률 ↑
- 준비 큐(ready queue)에 프로세스는 ↓
- 응답 시간 ↓
비선점형 방식(non-preemptive)
-프로세스 스스로가 CPU 소유권을 포기 = 모든 스레드가 실행된 후 종료
-컨텍스트 스위칭으로 인한 부하가 적음.
종류 특징 단점
FCFS | ||
(First Come, First Served) | 먼저 온것을 먼저 처리하는 알고리즘. | 수행시간이 긴 프로세스가 있다면 다른 프로세스가 준비 큐에 오래 기다려야함. |
SJF | ||
(Shortest Job First) | 실행 시간이 가장 짧은 프로세스 먼저 실행하는 알고리즘 | 긴 프로세스는 실행되지 않는 현상. |
우선순위 | 프로세스마다 우선순위를 부여해서 우선순위가 높은 순서대로 실행하는 알고리즘 | 우선순위가 낮은 프로세스는 실행되지 않음. |
⇒ aging(오래된 작업의 우선순위를 높여서) 으로 SJF 단점 보안 |
선점형 방식(preemptive)
-현재 실행 중인 프로세스를 알고리즘에 의해 중단시키고 강제로 다른 프로세스에 CPU 소유권을 할당.
종류 특징 단점
라운드 로빈(RR) | 짧은 시간 간격을 각각의 프로세스에게 할당.(시분할) | |
주어진 시간이 지나가면 CPU 소유권이 다음 프로세스에게 넘어감. | 일반적으로 평균 대기 시간이 긺. | |
SRF | ||
(Shortest Remaining First) | SJF의 선점형 스케줄링 방식. | |
남은 프로세스의 실행시간 보다 짧은 프로세스가 도착하면 CPU 소유를 뺏음. | 새로운 프로세스가 들어올 때마다 스케줄링이 변경되므로 CPU 사용시간 예측 어려움. | |
다단계 큐 | 우선순위에 따른 준비 큐 여러 개 + 큐마다 RR이나 FCFS등 다른 스케줄링 알고리즘 적용. | 유연성이 떨어짐. |
'Study Output for Myself > Computer Science' 카테고리의 다른 글
[CS]TCP (0) | 2022.10.23 |
---|---|
[CS]스레드와 멀티스레딩 (0) | 2022.08.19 |
[CS]원시값과 객체의 메모리 저장 (0) | 2022.07.25 |
[CS]메모리 할당 (0) | 2022.07.22 |
[CS]가상메모리 (0) | 2022.07.21 |