296. 선점 우선순위 스케줄링의 평균 대기 시간
다음 프로세스들을 선점 우선순위 기법으로 처리할 때, 평균 대기 시간을 구하시오. (우선순위는 숫자가 작을수록 높고, 우선순위가 같으면 먼저 도착한 프로세스를 먼저 실행한다)
우선순위 (선점)구할 값: 평균 대기 시간
| 프로세스 | 도착 시간 | 실행 시간 | 우선순위 |
|---|---|---|---|
| P1 | 0 | 6 | 3 |
| P2 | 2 | 3 | 2 |
| P3 | 3 | 4 | 1 |
| P4 | 5 | 2 | 2 |
| P5 | 8 | 3 | 4 |
이 문제에서 쓰는 규칙
- 새 프로세스의 우선순위가 실행 중인 프로세스보다 높으면 CPU를 빼앗아요(선점).
- 우선순위는 숫자가 작을수록 높아요.
- 우선순위가 같으면 실행 중인 프로세스가 계속 실행해요.
- 같은 조건이면 먼저 도착한 프로세스, 도착도 같으면 표에서 위에 있는 프로세스가 먼저예요.
- 문맥 교환 시간은 0으로 봐요.
- 실행 시간은 CPU 버스트 시간(그 프로세스가 CPU를 써야 하는 총 시간)이에요.