CS이론/운영체제

프로세스 스케줄링

유로파니 2020. 7. 27. 15:00

CPU를 사용하려는 프로세스들 사이의 우선순위를 관리하는 작업

대기시간 프로세서에 도착(프로세스 입력)해서 실행대기큐에 대기한 시간
서비스시간(실행시간)
(Burst time)
프로세스 시작~끝(결과도출) 걸린시간
반환시간 or 응답시간
(Turnaround time or Response time)
프로세스가 입력~ 결과도출 걸린 시간
대기시간 + 서비스시간
도착 시간(at) 프로세서에 도착한 시간
종료 시간(at) 결과가 도출된 시간

 

● 비선점형 스케줄링 : CPU를 할당받으면 작업이 끝나 CPU가 반환될 때 까지 다른 프로세스가 CPU 점유 불가능

ex) FCFS(First Come First Served), SJF(Shortest Job First), HRN(Highest Response Ratio Next), 우선순위, 기한부(Deadline)

1. FCFS = FIFO

2. SJF : 도착 시점에 따라 그 당시 가장 작은 서비스시간을 갖은 프로세스에게 할당, 기아현상 발생 (Aging으로 예방)

 - 기아현상 : 한 프로세스가 처리되지 못하고 계속 연기

3. HRN : 응답률이 가장 높은 프로세스에게 할당 

 - 응답률 : (대기시간 + 서비스시간) / 서비스 시간

 

● 선점형 스케줄링 : 우선순위가 높은 프로세스가 현재 프로세스를 중단시키고 CPU 점유 가능

ex) RR(Round Robin), SRT(Shortest Remaining Time First), 다단계 큐, 다단계 피드백 큐

1. RR : 프로세스들에게 같은 시간 동안 CPU할당, 시분할 시스템, FIFO방식

2. SRT : 가장 짧은 시간이 소요되는 프로세스에게 할당, 더 짧게 소요되는 프로세스가 큐에 추가되면 선점