컴퓨터(Computer Science)/운영체제(Operation System)

CPU Scheduling criteria, 스케줄링 기준 [운영체제]

게임이 더 좋아 2020. 6. 2. 02:36
반응형
728x170

 

당연히 아무거나 스케줄링을 하진 않는다.

 

아무거나하면 효율적으로 나올리가 있나??

 

당연히 없다.

 

 


 

스케줄링 알고리즘이 여러가지가 있는데 걔네들은 뭘 기준으로 짠걸까??

 

 

기준 알아보자

 

우선 우리가 배운 것들을 알아보면? 5가지가 있다.

 

• CPU utilization – keep the CPU as busy as possible
• Throughput – # of processes that complete their execution per time unit
• Turnaround time – amount of time to execute a particular process
• Waiting time – amount of time a process has been waiting in the ready queue
• Response time – amount of time it takes from when a request was submitted until the first response is produced, not output (for time-sharing environment)

 

 

1. CPU 이용률

우리는 가능한 CPU를 쉬지 않게 하고 싶다. // 우리는 쉬고 싶어하면서 ㅎㅎ 우리가 쉬려면 컴퓨터는 바빠야함

 

2. 처리량

CPU가 프로세스를 수행하느라고 바쁘다면? 작업이 진행되고 있는 것이다. 

작업량은 단위 시간당 완료되는 프로세스 개수로 판단한다.

 

3. 총 처리시간

특정한 프로세스의 입장에서 보면, 그 프로세스를 실행하는 데 소요된 시간이 중요하다. 

 

총처리시간 = 준비 큐 대기시간 + CPU 실행시간 + I/O시간

 

4. 대기 시간

CPU 스케줄링 알고리즘은 프로세스가 실행하거나 I/O을 하는 시간의 양에 영향을 미치지 않는다.

스케줄링 알고리즘은 단지 프로세스가 준비 큐에서 대기하는 시간에만 영향을 준다.

// 넌 좀 더 기다려 다른 것부터 해야하니까 라고 하는 순간 대기 시간 늘어남 ㅋㅋㅋ

 

5. 응답 시간

총처리 시간보다 더 적합한 기준이 될 수 도 있다. 어떤 출력을 매우 일찍 생성하고, 앞서의 결과에서 사용자에게 출력되는 사이에 새로운 결과를 얻으려고 연산을 계속하는 겨우가 종종 있다.  따라서 또 다른 기준은 하나의 요구를 제출한 후 첫 번째 응답이 나올 때까지의 시간이다.

 

다시 정리하자

응답이 시작되는 데까지 걸리는 시간이다.

응답을 출력하는데 걸리는 시간이 아니다.

 

 

결국

• Max CPU utilization
• Max throughput
• Min turnaround time 
• Min waiting time 
• Min response time

 

최대 이용률, 최대 처리량, 최소 시간을 원하는 것이다. 그러나 다 만족할 수는 없으니까.

 

알고리즘 별로 다음 글에서 알아보자

 

728x90
반응형
그리드형