스케줄링(Scheduling)의 개요
- 스케줄링은 프로세스가 생성되어 실행될 때 필요한 시스템의 여러 자원을 해당 프로세스에게 할당하는 작업을 의미함
- 프로세스가 생성되어 완료될 때까지 프로세스는 여러 종류의 스케줄링 과정을 거치게 됨.
1. 비선점 (Non-preemptive) 스케줄링
이미 할당된 CPU를 다른 프로세스가 강제로 빼앗아 사용할 수 없는 스케줄링 기법
FCFS(FIFO) 준비상태 큐에 도착한 순서에 따라 차례로 CPU를 할당하는 기법
SJF (Shortest Job First) - 준비상태 큐에서 기다리고 있는 프로세스들 중에서 실행 시간이 가장 짧은 프로세스에게 먼저 CPU를 할당하는 기법
HRN (Highest Response-ratio Next)
1. 실행 시간이 긴 프로세스에 불리한 SJF 기법을 보완하기 위한 것으로, 대기 시간과 서비스(실행) 시간을 이용하는 기법
2. 우선순위를 계산하여 그 숫자가 가장 높은 것부터 낮은 순으로 우선순위가 부여됨
기한부
1. 프로세스에게 일정한 시간을 주어 그 시간 안에 프로세스를 완료하도록 하는 기법
2. 프로세스가 제한된 시간 안에 완료되지 않을 경우 제거되거나 처음부터 다시 실행해야함
우선순위 :
1. 준비상태 큐에서 기다리는 각 프로세스마다 우선순위를 부여하여 그 중 가장 높은 프로세스에게 먼저 CPU를 할당하는 기법
2. 우선순위가 동일할 경우 FCFS기법으로 CPU를 할당함
* 우선순위는 시스템에 의해 자동으로 결정되기도 하고 외부 사항에 의해 결정 되기도 함
* 내부적 우선순위 - 시간 제한, 기억장치 요구, 개방된 파일 수, 평균 입출력 실행 시간 등
* 외부적 우선순위 - 작업을 지원하는 정책, 부서 등
2. 선점 (preemptive) 스케줄링
하나의 프로세스가 CPU를 할당받아 실행하고 있을 때 우선순위가 높은 다른 프로세스가
CPU를 강제로 빼앗아 사용할 수 있는 스케줄링기법
선점 우선순위 : 준비상태 큐의 프로세스 중에서 우선순위가 가장 높은 프로세스에게 먼저 CPU를 할당하는 기법
SRT(Shortes Remaining Time)
1. 비선점 스케줄링인 SJF 기법을 선점 형태로 변경한 기법으로, 선점 SJF 기법이라고도 함
2. 현재 실행중인 프로세스의 남은 시간과 준비상태 큐에 새로 도착한 프로세스의 실행 시간을 비교하여 가장 짧은 실행 시간을 요구하는 프로세스에게 CPU를 할당함
RR(Round Robin)
1. 시분할 시스템을 위해 고안된 방식으로, FCFS 알고리즘을 선점형태로 변형한 기법
2. FCFS 기법과같이 준비상태 큐에 먼저 들어온 프로세스가 먼저 CPU를 할당받지만 각 프로세스는 시간할당량(Time Slice) 동안만 실행한 후 실행이 완료되지 않으면 다음 프로세스에게 CPU를 넘겨주고 준비상태 큐의 가장 뒤로 배치 됨
다단계 큐(MQ; Multi-level Queue) : 프로세스를 특정 그룹으로 분류할 수 있을 경우 그룹에 따라 각기 다른준비상태 큐를 사용하는 기법
다단계 피드백 큐(MFQ; Multi-level Feedback Queue): 특정 그룹의 준비상태 큐에 들어간 프로세스가 다른 준비상태 큐로 이동할 수 없는 다단계 큐 기법을 준비상태 큐 사이를 이동할수 있도록 개선한 기법
'IT > CS' 카테고리의 다른 글
[3801300] TCP/IP (0) | 2023.04.15 |
---|---|
[3800900] 트랜잭션 CRUD분석 (0) | 2023.04.13 |
[1550320] 응용 계층 (0) | 2023.04.12 |
[1550319 데이터베이스] - 관련용어 (스택,큐, 정규화, 후보키, 대체키, 무결성, 유일성, 최소성 등) (0) | 2023.04.12 |
데이터언어 - DDL, DML, DCL 명령어 (0) | 2023.04.12 |