Önleyici ve Önleyici Olmayan Planlama

Önleyici ve Önleyici Olmayan Planlama Arasındaki Temel Farklılıklar

  • Önleyici Planlamada, CPU belirli bir süre boyunca işlemlere tahsis edilir ve önleyici olmayan zamanlama CPU'su, süreç sona erene kadar işleme tahsis edilir.
  • Önleyici Planlamada görevler önceliğe göre değiştirilirken, önleyici olmayan Planlamada herhangi bir değişiklik yapılmaz.
  • Önleyici algoritma, işlemi hazır durumdan çalışma durumuna geçirme ek yüküne sahipken, Önleyici Olmayan Planlamanın böyle bir geçiş ek yükü yoktur.
  • Önleyici Planlama esnektir, Önleyici Olmayan Planlama ise katıdır.
Önleyici ve Önleyici Olmayan Planlama
Önleyici ve Önleyici Olmayan Planlama

Önleyici Planlama Nedir?

Önleyici Planlama, görevlerin çoğunlukla önceliklerine göre atandığı bir planlama yöntemidir. Bazen, daha düşük öncelikli görev hala çalışıyor olsa bile, daha düşük öncelikli bir görevden önce daha yüksek öncelikli bir görevi çalıştırmak önemlidir.

Bu sırada, düşük öncelikli görev bir süre tutulur ve yüksek öncelikli görevin yürütülmesi tamamlandığında devam eder.

Önleyici Olmayan Planlama Nedir?

Bu tür planlama yönteminde CPU belirli bir sürece tahsis edilmiştir. CPU'yu meşgul eden süreç, bağlamı değiştirerek veya sonlandırarak CPU'yu serbest bırakacaktır.

Çeşitli donanım platformları için kullanılabilecek tek yöntemdir. Bunun nedeni, önleyici Planlama gibi özel bir donanıma (örneğin bir zamanlayıcı) ihtiyaç duymamasıdır.

Önleyici Olmayan Planlama, bir işlem gönüllü olarak bekleme durumuna girdiğinde veya sonlandırıldığında meydana gelir.

Önleyici ve Önleyici Olmayan Planlama: Karşılaştırma Tablosu

Burada, Önleyici ve Önleyici Olmayan Planlamanın bire bir karşılaştırması bulunmaktadır. İşletim Sisteminde Önleyici ve Önleyici Olmayan Planlama arasındaki temel farklar aşağıdaki gibidir:

Önleyici Planlama Önleyici Olmayan Planlama
Bir işlemcinin, mevcut herhangi bir işlem yürütmesinin ortasında farklı işlemleri yürütmesi önlenebilir. İşlemci yürütmeye başladığında, diğerini yürütmeden önce onu bitirmesi gerekir. Ortasında duraklatılamaz.
CPU kullanımı, Önleyici Olmayan Planlamaya kıyasla daha verimlidir. CPU kullanımı, önleyici Planlamaya kıyasla daha az verimlidir.
Önleyici Planlamanın bekleme ve yanıt süresi daha azdır. Önleyici olmayan planlama yönteminin bekleme ve yanıt süresi daha yüksektir.
Önleyici Planlamaya öncelik verilir. En yüksek öncelikli süreç halihazırda kullanılmakta olan süreçtir. Herhangi bir süreç çalışma durumuna girdiğinde, o sürecin durumu, işi bitene kadar zamanlayıcıdan asla silinmez.
Önleyici Planlama esnektir. Önleyici Olmayan Planlama katıdır.
Örnekler: – En Kısa Kalan Süre İlk, Round Robin, vb. Örnekler: Önce gelen alır, Önce En Kısa İş, Öncelik Planlama vb.
Önleyici Planlama algoritması önceden boşaltılabilir, yani süreç Planlanabilir Önleyici olmayan planlama sürecinde Planlanamaz
Bu süreçte CPU belirli bir süre boyunca işlemlere tahsis edilir. Bu süreçte CPU, süreç sonlandırılıncaya veya bekleme durumuna geçinceye kadar tahsis edilir.
Önleyici algoritma, süreci hazır durumdan çalışma durumuna (veya tam tersi) geçirme yüküne sahiptir. Önleyici Olmayan Planlamanın, süreci çalışır durumdan hazır durumuna geçirme gibi bir yükü yoktur.

Önleyici Planlamanın Avantajları

Önleyici Planlama yönteminin artıları/faydaları şunlardır:

  • Önleyici planlama yöntemi daha sağlamdır; tek bir işlemin CPU'yu tekeline alamayacağı bir yaklaşımdır.
  • Her kesintiden sonra yeniden değerlendirilen çalıştırma görevi seçimi.
  • Her olay, yürütülen görevlerin kesintiye uğramasına neden olur
  • İşletim sistemi, CPU kullanımının tüm çalışan işlemlerde aynı olmasını sağlar.
  • Burada CPU kullanımı aynıdır, yani çalışan tüm işlemler CPU'yu eşit şekilde kullanacaktır.
  • Bu planlama yöntemi aynı zamanda ortalama yanıt süresini de doğaçlama yapar.
  • Preemptive Scheduling, çoklu programlama ortamı için kullandığımızda faydalıdır.

Önleyici Olmayan Planlamanın Avantajları

Önleyici Olmayan Planlama yönteminin avantajları/avantajları şunlardır:

  • Düşük planlama yükü sunar
  • Yüksek verim sunma eğilimindedir
  • Kavramsal olarak çok basit bir yöntemdir
  • Less Planlama için gerekli hesaplama kaynakları

Önleyici Planlamanın Dezavantajları

Önleyici planlamanın dezavantajları şunlardır:

  • Planlama için sınırlı hesaplama kaynaklarına ihtiyaç var
  • Çalışan görevi askıya almak, bağlamı değiştirmek ve yeni gelen görevi göndermek zamanlayıcı tarafından daha fazla zaman alır.
  • Bazı yüksek öncelikli işlemler sürekli olarak geliyorsa, düşük önceliğe sahip işlemin daha uzun süre beklemesi gerekir.

Önleyici Olmayan Planlamanın Dezavantajları

Burada Önleyici Olmayan Planlama yönteminin eksileri/dezavantajları verilmiştir:

  • Özellikle gerçek zamanlı görevler için açlığa yol açabilir
  • Hatalar makinenin donmasına neden olabilir
  • Gerçek zamanlı olarak yapabilir ve öncelik Planlama zor
  • Süreçler için zayıf yanıt süresi

Önleyici Olmayan Planlama Örneği

Önleyici olmayan SJF planlamada, CPU döngüsü işleme tahsis edildikten sonra süreç, bekleme durumuna ulaşana veya sonlandırılana kadar onu tutar.

Her biri kendine özgü patlama süresi ve varış süresine sahip olan aşağıdaki beş işlemi ele alalım.

İşlem Kuyruğu Patlama zamanı Varış zamanı
P1 6 2
P2 2 5
P3 8 1
P4 3 0
P5 4 4

) 0 Adım Zaman=0'da P4 gelir ve yürütmeye başlar.

Önleyici Olmayan Planlama Örneği

) 1 Adım Zaman = 1'de P3 Süreci gelir. Ancak P4'ün tamamlanması için hala 2 yürütme birimine ihtiyacı var. Yürütmeye devam edecek.

Önleyici Olmayan Planlama Örneği

) 2 Adım =2 zamanında, P1 süreci gelir ve bekleme kuyruğuna eklenir. P4 yürütmeye devam edecek.

Önleyici Olmayan Planlama Örneği

) 3 Adım Zaman = 3'te, P4 işlemi yürütülmesini tamamlayacaktır. P3 ve P1'in patlama süresi karşılaştırılır. P1 işlemi yürütülür çünkü patlama süresi P3'e kıyasla daha azdır.

Önleyici Olmayan Planlama Örneği

) 4 Adım Zaman = 4'te, P5 süreci gelir ve bekleme kuyruğuna eklenir. P1 yürütmeye devam edecek.

Önleyici Olmayan Planlama Örneği

) 5 Adım Zaman = 5'te, P2 süreci gelir ve bekleme kuyruğuna eklenir. P1 yürütmeye devam edecek.

Önleyici Olmayan Planlama Örneği

) 6 Adım Zaman = 9'da, P1 işlemi yürütülmesini tamamlayacaktır. P3, P5 ve P2'nin patlama süresi karşılaştırılır. P2 işlemi, çoğuşma süresi en düşük olduğundan yürütülür.

Önleyici Olmayan Planlama Örneği

) 7 Adım Zaman=10'da, P2 yürütülmektedir ve P3 ile P5 bekleme kuyruğundadır.

Önleyici Olmayan Planlama Örneği

) 8 Adım Zaman = 11'de P2 işlemi yürütülmesini tamamlayacaktır. P3 ve P5'in patlama süresi karşılaştırılır. P5 işlemi, çoğuşma süresi daha düşük olduğundan yürütülür.

Önleyici Olmayan Planlama Örneği

) 9 Adım Zaman = 15'te P5 işlemi yürütülmesini tamamlayacaktır.

Önleyici Olmayan Planlama Örneği

) 10 Adım Zaman = 23'te P3 işlemi yürütülmesini tamamlayacaktır.

Önleyici Olmayan Planlama Örneği

) 11 Adım Yukarıdaki örnek için ortalama bekleme süresini hesaplayalım.

Wait time 
P4= 0-0=0
P1=  3-2=1
P2= 9-5=4
P5= 11-4=7
P3= 15-1=14
Average Waiting Time= 0+1+4+7+14/5 = 26/5 = 5.2

Önleyici Planlama Örneği

Aşağıdaki üç süreci göz önünde bulundurun: Round-robin

İşlem Kuyruğu Patlama zamanı
P1 4
P2 3
P3 5

Önleyici Planlama Örneği

) 1 Adım Yürütme, patlama süresi 1 olan P4 işlemiyle başlar. Burada her işlem 2 saniye boyunca yürütülür. P2 ve P3 hala bekleme kuyruğunda.

Önleyici Planlama Örneği

2. Adım) =2 zamanında, P1 Kuyruğun sonuna eklenir ve P2 çalışmaya başlar

Önleyici Planlama Örneği

) 3 Adım time=4 anında P2 önceliklidir ve kuyruğun sonuna eklenir. P3 yürütülmeye başlar.

Önleyici Planlama Örneği

) 4 Adım time=6 anında P3 önceliklidir ve kuyruğun sonuna eklenir. P1 yürütülmeye başlar.

Önleyici Planlama Örneği

) 5 Adım time=8'de P1'in patlama süresi 4'tür. Yürütmeyi tamamlamıştır. P2 yürütmeyi başlatır

Önleyici Planlama Örneği

) 6 Adım P2'nin patlama süresi 3'tür. Zaten 2 aralık boyunca yürütülmüştür. Zaman=9'da P2 yürütmeyi tamamlar. Daha sonra P3 tamamlanana kadar yürütmeye başlar.

Önleyici Planlama Örneği

) 7 Adım Yukarıdaki örnek için ortalama bekleme süresini hesaplayalım.

Wait time 
P1= 0+ 4= 4
P2= 2+4= 6
P3= 4+3= 7