우선순위 스케줄링

1 개요[ | ]

priority scheduling
우선순위 스케줄링
  • 우선순위가 높은 프로세스에 CPU를 우선 할당하는 스케줄링 방식
  • 우선순위가 같으면 FCFS 스케줄링
  • 우선순위는 내부적/외부적 조건에 따라 정의될 수 있음
시간 제한, 메모리 요구량, 열린 파일의 수, 프로세스의 중요성, 자원사용 비용 등
예를 들어 SJF 스케줄링은 버스트 시간이 짧을수록 우선순위를 높게 책정하는 경우라 할 수 있음

2 예시[ | ]

프로세스 버스트 시간 우선순위[1] 턴어라운드 시간 대기 시간
P1 10 3 16 6
P2 1 1 1 0
P3 2 4 18 16
P4 1 5 19 18
P5 5 2 6 1
평균 - - 12 8.2

P2P5P1P3P4

16161819

  • 평균 대기 시간 = ( 6 + 0 + 16 + 18 + 1 ) / 5 = 8.2

3 문제점 및 개선[ | ]

  • 무기한 봉쇄[2] 발생 가능
  • 노화(aging)에 따라 우선순위를 높여주면 해결 가능

4 같이 보기[ | ]

5 주석[ | ]

  1. 여기서는 숫자가 작을수록 우선순위가 높음. 반대로 표현하는 경우도 있음
  2. 자원이 부족한 상태에서 우선순위가 높은 프로세스가 계속 들어와서 우선순위가 낮은 프로세스가 계속 수행되지 못하는 현상

6 참고[ | ]

문서 댓글 ({{ doc_comments.length }})
{{ comment.name }} {{ comment.created | snstime }}