İçindekiler:
Tanımı - Öncelik Çizelgeleme ne anlama geliyor?
Öncelik zamanlama, önceliğe dayalı süreçleri zamanlama yöntemidir. Bu yöntemde, zamanlayıcı, diğer zamanlama türlerinden, örneğin basit bir yuvarlak robinden farklı olarak, önceliğe göre çalışmak üzere görevleri seçer.
Öncelik zamanlaması, her işleme öncelik atamayı içerir ve önce daha yüksek önceliklere sahip işlemler gerçekleştirilirken, eşit önceliklere sahip görevler ilk gelen ilk hizmet (FCFS) veya round robin esasına göre gerçekleştirilir. Genel öncelikli zamanlama algoritmasına bir örnek, en kısa iş ilk (SJF) algoritmasıdır.
Techopedia Öncelik Çizelgelemesini Açıklıyor
Öncelikler dinamik veya statik olabilir. Statik öncelikler oluşturma sırasında tahsis edilirken, dinamik öncelikler sistemdeki süreçlerin davranışına bağlı olarak atanır. Örneklemek gerekirse, programlayıcı, pahalı isteklerin mümkün olan en kısa sürede yayınlanmasını sağlayan giriş / çıkış (G / Ç) yoğun görevlerini destekleyebilir.
Öncelikler dahili veya harici olarak tanımlanabilir. Dahili olarak tanımlanan öncelikler, belirli bir sürecin önceliğini hesaplamak için ölçülebilir bir miktar kullanır. Buna karşılık, harici öncelikler, işletim sisteminin (OS) ötesinde, sürecin önemini, türünü ve bilgisayar kullanımı, kullanıcı tercihi, ticaret ve politika gibi diğer faktörler için kullanılan kaynakların toplamını içerebilecek kriterler kullanılarak tanımlanır., vb.
Öncelik zamanlaması aşağıdakilerden biri olabilir:
- Önleyici: Bu tür bir çizelgeleme, yeni gelen işlemin önceliğinin mevcut işlemlerinkinden daha büyük olması durumunda merkezi işlem birimini (CPU) önleyebilir.
- Önleyici olmayan: Bu tür zamanlama algoritması, yeni işlemi hazır kuyruğun en üstüne yerleştirir.
Belirsiz engelleme, aksi halde açlık denir, öncelik zamanlama algoritmaları ile ilgili en önemli sorunlardan biridir. Bir işlemin yürütülmeye hazır olduğu bir durumdur, ancak CPU'ya atanırken uzun süre beklemektedir.
Öncelikli bir programlama algoritmasının düşük öncelikli bir işlemin süresiz olarak beklemesini sağlamak mümkündür. Örneğin, yoğun olarak yüklenmiş bir sistemde, daha yüksek öncelikli işlemler varsa, düşük öncelikli işlemler hiçbir zaman yürütme için CPU alamayabilir.
Açlık için bir çare, sistemde uzun süre bekleyen süreçlerin önceliğini kademeli olarak artırmak için kullanılan bir teknik olan yaşlanmadır.