스케쥴링(Scheduling)
스케쥴링은 프로세스가 생성되어 실행될 때 필요한 시스템의 여러 자원을 해당 프로세스에게 할당하는 작업을 의미한다.
스케쥴링의 목적
- 공정성
- 처리율 증가
- CPU이용률 증가
- 우선순위 제도
- 오버헤드 최소화
- 응답 시간 최소화
- 반환 시간 최소화
- 대기 시간 최소화
- 균형 있는 자원의 사용
- 무한 연기 회피
선점 스케쥴링(Preemptive)
선점 스케쥴링은 하나의 프로세스가 CPU를 할당받아 실행하고 있을 때 우선 순위가 높은 다른 프로세스가 CPU를 강제로 빼앗아 사용할 수 있는 스케쥴링 기법
- 우선순위가 높은 프로세스를 빠르게 처리할 수 있다.
- 주로 빠른 응답 시간을 요구하는 대화식 시분할 시스템에 사용된다.
- RR, SRT, 선점 우선순위, 다단계 큐, 다단계 피드백 큐 등
비선점 스케쥴링(Non-Preemptive)
비선점 스케쥴링은 이미 할당된 CPU를 다른 프로세스가 강제로 빼앗아 사용할 수 없는 스케쥴링 기법
- 프로세스가 CPU를 할당 받으면 해당 프로세스가 완료될 때까지 CPU를 사용한다.
- 프로세스 응답 시간의 예측에 용이하다.
- 일괄 처리 방식에 적합하다.
- FCFS, SJF, 우선순위, HRN, 기한부 등
'CS 스터디 > 운영체제' 카테고리의 다른 글
[스케쥴링] 3. 비선점 스케쥴링 (0) | 2023.07.29 |
---|---|
[스케쥴링] 2. 선점 스케쥴링 알고리즘 (0) | 2023.07.29 |
[쓰레드] 3. 멀티코어와 멀티쓰레딩 (0) | 2023.07.20 |
[쓰레드] 2. 쓰레드의 유형 /사용자 수준 쓰레드와 커널 수준 쓰레드 (0) | 2023.07.19 |
[쓰레드] 1. 프로세스와 쓰레드 (0) | 2023.07.19 |