티스토리 뷰

it

우선순위 스케줄링 Priority

ITs Story biaos 2023. 5. 5. 23:03

우선순위 스케줄링 Priority



우선순위 스케줄링(Priority Scheduling)은 프로세스의 우선순위를 기반으로 CPU를 할당하는 스케줄링 알고리즘입니다.


우선순위는 프로세스가 처리되어야 하는 중요도를 나타내는 값으로, 보통 정수 형태로 표현됩니다. 일반적으로 우선순위가 높은 프로세스가 먼저 처리되며, 동일한 우선순위를 가진 프로세스들은 FCFS(First-Come, First-Served) 알고리즘과 같이 동일한 처리 순서로 CPU를 할당받습니다.


우선순위는 정적(static) 우선순위와 동적(dynamic) 우선순위로 나뉩니다. 정적 우선순위는 프로세스가 생성될 때 지정되는 우선순위를 말하며, 동적 우선순위는 프로세스의 실행 상태나 처리 시간에 따라 변화하는 우선순위를 말합니다.


우선순위가 높은 프로세스에 cpu할당


문제점: 무한대기, 기아현상 – 해결책 ->에이징



우선순위 스케줄링은 시스템 성능을 높이기 위해 중요한 프로세스나 시스템 동작에 영향을 주는 프로세스를 먼저 처리할 수 있습니다. 하지만, 우선순위가 너무 높은 프로세스가 계속해서 처리되는 경우, 낮은 우선순위의 프로세스는 대기 상태에 머무를 수 있어서 "기아 상태(starvation)" 문제가 발생할 수 있습니다. 따라서, 우선순위를 조절하여 이러한 문제를 해결하는 방법도 사용됩니다.

댓글