1) 스케줄링
(1) 스케줄링의 개요
=> 프로세스가 생성되어 실행될 때, 필요한 시스템의 여러 자원을 해당 프로세스에게 할당하는 작업
(2) 스케줄링의 목적
=> 대기 시간은 최소화하고 처리는 공평하게 하는 것
(3) 스케줄링의 종류
=> 프로세스가 실행되어 완료될 때까지 프로세스는 여러 종류의 스케줄링 과정을 거침
① 선점 스케줄링
② 비선점 스케줄링
2) 선점 스케줄링
=> 하나의 프로세스가 CPU를 차지하고 있을 때, 우선순위가 높은 다른 프로세스가 현재 프로세스를 중단시키고, 강제로 CPU를 점유하는 스케줄링 방식
[장점] : 비교적 응답이 빠름
[단점] : 처리 시간을 예측하기 힘듦, 높은 우선순위 프로세스들이 계속 들어오는 경우 오버헤드 초래
(1) RR (Round Robin)
- 시분할 시스템을 사용함
: 프로세스들 사이에 우선순위를 두지 않고, 순서대로 시간단위(Time Quantum/Slice)로 CPU를 할당하는 방식
- FCFS(FIFO) 알고리즘을 선점 형태로 변환한 기법
: 프로세스는 같은 크기의 CPU 시간을 할당, 프로세스가 할당된 시간 내에 처리 완료를 못하면 준비 큐 리스트의 가장 뒤로 보내고, CPU는 대기 중인 다음 프로세스로 넘어감
(2) SRT (Shortest Remaining Time First)
- 가장 짧은 시간이 소요되는 프로세스를 먼저 수행
: 현재 실행중인 프로세스의 남은 시간과 준비상태 큐에 새로 도착한 프로세스의 실행 시간을 비교함
=> 그 후, 가장 짧은 실행 시간을 요구하는 프로세스에게 CPU를 할당하는 기법
(3) MLQ (다단계 큐)
- 작업들을 여러 종류 그룹으로 분할하여 수행
: 여러 개의 큐를 이용하여 상위단계 작업에 의한 하위단계 작업이 선점당하는 알고리즘
3) 비선점 스케줄링
=> 프로세스가 CPU를 할당 받으면 해당 프로세스가 완료될 때까지 CPU를 사용하지 않고 기다리는 스케줄링 방식
(1) FCFS
- 먼저 요청한 프로세스가 먼저 CPU를 배정 받는 스케줄링 방법
: 프로세스가 대기 큐에 도착한 순서에 따라 CPU를 할당하는 방식
(2) SJF(Shortest Job First)
- 프로세스가 가장 짧은 작업부터 수행하는 스케줄링 방법
[ 장점 ] : 준비 큐 작업 중 가장 짧은 작업부터 수행하므로 평균 대기시간 최소
[ 단점 ] : CPU에서 요구 시간이 긴 작업과 요구 시간이 짧은 작업 간의 불평등이 심해짐
=> CPU 요구시간이 긴 프로세스는 기아 현상 발생
※ 기아 현상 : 시스템 부하가 많아서 준비 큐에 있는 낮은 등급의 프로세스가 무한정 기다리는 현상
※ 에이징 기법 : 기아 현상을 해결하는 방법
=> 오랫동안 기다린 프로세스에게 우선순위를 높여주는 기법
[ 출처 ]
https://velog.io/@ohsol/%EC%9A%B4%EC%98%81%EC%B2%B4%EC%A0%9C-%ED%94%84%EB%A1%9C%EC%84%B8%EC%8A%A4-%EC%8A%A4%EC%BC%80%EC%A4%84%EB%A7%81-%EC%A2%85%EB%A5%98%EC%99%80-%EA%B8%B0%EB%B2%95
'CS > Operating System' 카테고리의 다른 글
[정보처리산업기사] 3. 운영체제의 기본 명령어 (0) | 2023.06.29 |
---|---|
[정보처리산업기사] 2. 운영체제의 종류 (0) | 2023.06.29 |
[정보처리산업기사] 1. 운영체제의 개념 (0) | 2023.06.29 |