고정 우선 순위 사전 허용 스케줄링

Fixed-priority pre-emptive scheduling

고정 우선순위 선제적 스케줄링실시간 시스템에서 일반적으로 사용되는 스케줄링 시스템이다.스케줄러는 고정된 우선 순위 사전 예약을 통해 프로세서가 현재 실행 준비가 된 모든 태스크 중 가장 높은 우선 순위 태스크를 실행하도록 보장한다.

선제적 스케줄러에는 작업 실행 기간이 지정된 후(시간 조각) 전환 옵션을 스케줄러에게 제공할 수 있는 클럭 인터럽트 작업이 있다.이 스케줄링 시스템은 타임슬라이스보다 더 긴 시간 동안 어떤 작업도 프로세서를 독점하지 않도록 할 수 있는 장점이 있다.그러나 이 스케줄링 체계는 프로세스 또는 스레드 록아웃에 취약하다. 우선순위가 높은 태스크에 우선 순위를 부여하므로 우선순위가 낮은 태스크는 무한정 많은 시간을 기다릴 수 있다.이러한 상황을 중재하는 한 가지 일반적인 방법은 노화인데, 노화는 대기 과정과 스레드의 우선순위를 점차 증가시켜 결국 모두 실행되도록 보장한다.대부분의 실시간 운영 체제(RTOS)에는 사전 스케줄러가 있다.또한 시간 슬라이싱을 끄면 비선호적 RTOS를 효과적으로 사용할 수 있다.

사전 예약은 다른 작업에 의해 사전 예방되지 않고 처음부터 끝까지 작업을 연속적으로 실행할 수 있는 공동 스케줄링과 차별화되는 경우가 많다.작업 스위치를 사용하려면 작업에서 스케줄러를 명시적으로 호출해야 한다.협력 스케줄링은 SalvoTinyOS와 같은 몇몇 RTOS에서 사용된다.