İki seviyeli planlama - Two-level scheduling

İki seviyeli planlama bir bilgisayar Bilimi süreci daha verimli bir şekilde gerçekleştirmek için bir yöntemi tanımlamak için terim zamanlama içerir takas edildi süreçler.

Şu sorunu düşünün: Bir sistem, tümü eşit önceliğe sahip 50 çalışan işlem içerir. Ancak sistemin hafıza aynı anda bellekte yalnızca 10 işlemi tutabilir. Bu nedenle, her zaman yazılı olarak değiştirilen 40 işlem olacaktır. sanal bellek sabit diskte. Bir işlemde takas ve takas için geçen süre sırasıyla 50 ms'dir.

Doğrudan Round-robin planlama her seferinde bağlam anahtarı oluşursa, bir sürecin takas edilmesi gerekir (çünkü yalnızca en az son kullanılan 10 işlem takas edilir). Süreçler arasından rastgele seçim yapılması olasılığı% 80'e (40/50) düşürecektir. Böyle bir şey olursa, belli ki bir sürecin de çıkarılması gerekir. Giriş ve çıkış değiştirmek maliyetlidir ve planlayıcı zamanının çoğunu gereksiz takaslar yaparak boşa harcayacaktır.

İki seviyeli planlamanın devreye girdiği yer burasıdır. İki farklı zamanlayıcı kullanır, biri alt düzey planlayıcı bu sadece çalıştırılacak bellekteki işlemler arasından seçim yapabilir. Bu programlayıcı, bir Round-robin planlayıcısı olabilir. Diğer planlayıcı, üst düzey planlayıcı tek endişesi süreçleri bellekten takas etmek ve değiştirmek. Değiştirme çok fazla zaman aldığı için çizelgelemesini daha düşük seviyeli zamanlayıcıdan çok daha az yapar.

Böylece, daha yüksek seviyeli programlayıcı, bellekte uzun süredir çalışan süreçler arasından seçim yapar ve bunları değiştirir. Uzun süredir çalışmayan diskteki işlemlerle değiştirilirler. Süreçleri tam olarak nasıl seçeceği, üst düzey programlayıcının uygulanmasına bağlıdır. Aşağıdaki değişkenleri içeren bir uzlaşma sağlanmalıdır:

  • Tepki Süresi: Bir süreç çok uzun süre değiştirilmemelidir. O zaman başka bir işlemin (veya kullanıcının) gereksiz yere uzun süre beklemesi gerekecektir. Bu değişken dikkate alınmazsa kaynak açlığı meydana gelebilir ve bir işlem hiç tamamlanmayabilir.
  • Sürecin boyutu: Büyük işlemler, küçük işlemlere göre daha az takas işlemine tabi olmalıdır çünkü takas işlemleri daha uzun sürer. Daha büyük oldukları için, daha az işlem belleği işlemle paylaşabilir.
  • Öncelik: İşlemin önceliği ne kadar yüksekse, daha hızlı tamamlanması için bellekte o kadar uzun süre kalması gerekir.

Referanslar