IT-lexikon › Programmering › Prioritetsinversion

Prioritetsinversion

Programmering In English → Uppdaterad: 2026-11-02

När en högprioriterad uppgift i praktiken väntar på en lågprioriterad, för att en mellanprioriterad står i vägen.

Scenariot kräver tre uppgifter. Låg håller en mutex. Hög vill ha samma mutex och blockeras. Mellan, som inte bryr sig om mutexen alls, blir körbar och tränger undan Låg — som därmed aldrig hinner släppa låset. Hög väntar alltså på Mellan, trots att schemaläggaren gör exakt vad den ska.

Det mest berömda fallet inträffade på Mars 1997, då Pathfinder-landaren gång på gång startades om av sin watchdog. JPL hittade felet i en testkopia på jorden och slog på prioritetsarv i VxWorks via fjärrladdning: den som håller låset ärver tillfälligt den högsta prioriteten bland dem som väntar. Lösningen hade beskrivits av Sha, Rajkumar och Lehoczky redan 1990. Alternativet heter prioritetstak och används i bland annat Ada och AUTOSAR.

← Tillbaka till lexikonet