şükela:  tümü | bugün
  • birden fazla queue ustunde cali$an scheduling algoritmalarinin cpu kullanimlarina gore yer aldigi klasifikasyon..

    mesela cpu'yu az block ettigi du$unulen iyi huylu bir process daha oncelikli bir queue'ya atilabilir ve cpu'yu en cok me$gul edenler daha du$uk oncelikli queue'ya atilabilir.

    bu da cpu'nun daha etkin kullanimini ve daha smooth bir multitasking saglar..
  • cpu çalıştıracağı process'i seçerken önceliği en yüksek queue'dan başlayarak çalıştıracağı process'i arar. hali hazırda hazır bir process bulduğu ilk queue'daki process'leri de round robin kullanarak sırayla çalıştırır. bir process çalıştırılırken i/o isteği yapmadan round-robin'de kendi time slice'ının tamamını bitirirse önceliği 1 seviye düşürülür(bir alt queue'ya geçer). eğer time slice'ını bitirmeden i/o isteği yaparsa olduğu queue'daki yerini korur. belirli bir süre sonra da tüm queue'lardaki tüm process'ler en üst queue'ya alınır, böylece alt sıralardaki process'lerin interaktif hale geçip geçmediği test edilir ve onlara da cpu'yu kullanma fırsatı verilir.

    temel mantığı bu olmakla birlikte bu prensipler üzerine çalışan bir scheduler'ı oyuna getirmenin çok kolay bir yolu vardır. yarattığımız bir process time slice'ının %99'unu kullandığında herhangi bir i/o isteği göndererek önceliğinin hiç düşmemesini sağlayabilir ve böylece cpu'nun kelimenin tam anlamıyla anasını sikebiliriz. buna çözüm olarak process'lerin time slice'larının ne kadarını kullandığını unutmayıp, i/o işlemi yapıp yapmamalarından bağımsız olarak 1 time slice'ı bir kere veya birkaç kere de kullandıktan sonra önceliğini 1 queue düşürmek gibi bir yöntem izlenir.