평균 대기 시간 (Average Waiting Time)
: 프로세스 여러 개가 실행될 때, 이 프로세스들 모두 실행되기까지의 대기 시간의 평균
- 스케줄링의 성능은 “평균 대기 시간”으로 평가함
- 평균 대기 시간 = 프로세스들의 대기 시간의 합 / 프로세스 총 개수
- ex) 프로세스 A : 실행까지 5초 기다림
프로세스 B : 실행까지 4초 기다림
프로세스 C : 실행까지 0초 기다림
⇒ 평균 대기 시간: (5 + 4 + 0) / 3 = 3초
- ex) 프로세스 A : 실행까지 5초 기다림
Burst Time (버스트 타임)
: 프로세스가 CPU를 사용하는 시간
- 프로세스가 CPU를 점유해서 실제로 처리하는 데 걸리는 시간
- ex) 프로세스 A는 CPU를 5초 동안 써야 함 → 이 5초가 바로 Burst Time = 5
예제
1. Burst Time이 긴 프로세스 순으로 평균 대기 시간 구하기
프로세스 1 (25초) → 프로세스 2 (5초) → 프로세스 3 (4초) 순으로 실행됨
프로세스 1의 작업 시간(= Burst Time) : 25초 | 프로세스 1은 바로 시작됨 → 대기 시간 0초 |
프로세스 2의 작업 시간(= Burst Time) : 5초 | 프로세스 2는 프로세스 1의 작업 시간만큼 기다려야 함 → 대기 시간 25초 |
프로세스 3의 작업 시간(= Burst Time) : 4초 | 프로세스 3은 프로세스 1과 2의 작업 시간만큼 기다려야 함 → 대기 시간 30초 |
세 프로세스의 평균 대기 시간 ⇒ (0 + 25 + 30) / 3 = 18.3초 |
⇒ Burst Time이 긴게 먼저 실행되면, 평균 대기 시간이 길어짐
2. Burst Time이 짧은 프로세스 순으로 평균 대기 시간 구하기
프로세스 3 (4초) → 프로세스 2 (5초) → 프로세스 1 (25초) 순으로 실행됨
프로세스 3의 작업 시간(= Burst Time) : 4초 | 프로세스 3은 바로 시작됨 → 대기 시간 0초 |
프로세스 2의 작업 시간(= Burst Time) : 5초 | 프로세스 2는 프로세스 3의 작업 시간만큼 기다려야 함 → 대기 시간 4초 |
프로세스 1의 작업 시간(= Burst Time) : 25초 | 프로세스 1은 프로세스 3과 2의 작업 시간만큼 기다려야 함 → 대기 시간 9초 |
세 프로세스의 평균 대기 시간 ⇒ (0 + 4 + 9) / 3 = 4.3초 |
⇒ Burst Time이 짧은게 먼저 실행되면, 평균 대기 시간이 짧아짐