[OS] 6. 선점 스케줄링

2024. 2. 12. 17:09cs및 소프트스킬/운영체제

728x90
반응형
SMALL

1. 스케줄링(Scheduling)

- 프로세스가 생성되어 실행 될 때 필요한 시스템의 여러 자원을 해당 프로세스에게 할당하는 작업

- 프로세스 생성 후 완료까지 프로세스는 여러 종류의 스케줄링 과정을 걸침

 

 

2. 선점 스케줄링 (Preemptive)

- 하나의 프로세스가 CPU를 할당 받아 실행 시 우선순위가 높은 다른 프로세스가 CPU를 강제로 빼앗아 사용할 수 있는 스케쥴링 기법

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

- 종류 : Round Robin, SRT, 선점 우선순위, 다단계 큐, 다단계 피드백 큐

 

 

3. RR(Round Robin)

- 각 프로세스를 시간 할당량(Time Slice, Quantum) 동안만 실행 후 실행 완료 아니면 다음 프로세스에게 CPU를 넘겨주는 기법

- 시분할 시스템(Time Sharing System)을 위한 고안된 방식, 할당 시간 크기 작으면 작은 프로세스들에게 유리

- 할당 시간 크면 FCFS 기법과 같아짐

- 할당 시간 작으면 문맥교환/오버헤드 자주 발생 되 요청된 작업을 신속히 처리 불가능

 

 

4. SRT (Shortest Ramaining Time)

- 현재 실행중인 프로세스의 남은 시간과 준비 상태 큐에 새로 도착한 프로세스의 실행 시간을 비교하여 가장 짧은 실행 시간을 요구하는 프로세스에게 CPU를 할당하는 기법

- 시분할 시스템에 유용, 준비 상태 큐에 있는 각 프로세스의 실행 시간을 추적하여 보유하고 있어야 함

   => 오버헤드 증가

 

 

5. 다단계 큐

- 우선 순위 마다 준비 큐 형성하여 항상 가장 높은 우선순위 큐의 프로세스에 CPU를 할당 (우선순위가 낮은 큐에서 작업 실행 중이더라도 상위 단계의 큐에 프로세스가 도착하면 CPU를 빼앗는 선점형 스케줄링)

 

 

6. 다단계 피드백 큐

- 다 단계 큐 + 동적인 프로세스 우선 순위 변화 적용, 프로세스 생성 시 가장 높은 우선 순위 준비 큐에 등록되며 등록된 프로세스는 FCFS 순서로 CPU를 할당받아 실행된다. 해당 큐의 CPU 시간 할당량(Time Quantum)이 끝나면 한 단계 아래의 준비 큐에 들어간다.

 

 

 

 

 

 

728x90
반응형
LIST