Priority Inversion

Türkçe karşılığı: Öncelik terslenmesiAlan: Eşzamanlılık

Öncelik terslenmesi (Priority Inversion) — Yüksek öncelikli görevin gereksindiği kaynağı düşük öncelikli görevin tutması nedeniyle etkin olarak düşük öncelikli işi beklemesi durumu.

Nasıl Oluşur?

Yüksek öncelikli bir görev, mutex gibi ortak bir kaynağı beklerken bu kaynak düşük öncelikli görev tarafından tutuluyorsa yüksek öncelikli görev ilerleyemez. Araya giren orta öncelikli görevler düşük öncelikli sahibin CPU almasını geciktirdiğinde bloklama beklenenden çok daha uzun sürebilir.

Bu, yalnız iki thread'in priority değerlerinin farklı olması değildir; ortak kaynak bağımlılığı nedeniyle etkin öncelik sırası tersine dönmüştür.

Gerçek Zamanlı Etki

Priority inversion, worst-case response time hesabını bozabilir ve deadline kaçırılmasına neden olabilir. Priority Inheritance yaklaşımında düşük öncelikli kaynak sahibi geçici olarak bekleyen yüksek önceliği devralabilir. Priority-ceiling protokolleri farklı bir üst sınır stratejisi uygular.

Tasarım Notu

Kilidin kısa tutulması önemlidir ancak tek başına garanti değildir. Kaynak bağımlılığı ve scheduler politikası birlikte analiz edilmelidir.

İlgili Kavramlar

İlgili teknik yayınlar

Başlık veya özetinde bu kavrama doğrudan karşılık gelen yayınlar.

Mikroişlemciler

8085 ve 8086 üzerinden yazmaçlar, veri yolları, komutlar, zamanlama, kesmeler, seri/paralel G/Ç, DMA ve belleği; RTOS, interrupt latency, priority inversion, cache/DMA görünürlüğü, watchdog ve deadline ile birleştiren ders notu.