Öncelik Planlama Algoritması: Önleyici, Önleyici Olmayan ÖRNEK

İçindekiler:

Anonim

Öncelikli Planlama nedir?

Öncelik Çizelgeleme , önceliğe dayalı bir çizelgeleme süreçleri yöntemidir. Bu algoritmada, zamanlayıcı, önceliğe göre çalışacak görevleri seçer.

Daha yüksek önceliğe sahip süreçler önce gerçekleştirilmelidir, oysa eşit önceliklere sahip işler round-robin veya FCFS temelinde gerçekleştirilir. Öncelik, bellek gereksinimlerine, zaman gereksinimlerine vb. Bağlıdır.

Bu İşletim sistemi eğitiminde şunları öğreneceksiniz:

  • Öncelikli planlama nedir?
  • Öncelikli Planlama Türleri
  • Öncelikli Planlamanın Özellikleri
  • Öncelikli Planlama Örneği
  • Öncelikli planlamanın avantajları
  • Öncelikli planlamanın dezavantajları

Öncelikli Planlama Türleri

Öncelikli planlama iki ana türe ayrılır:

Önleyici Planlama

Önleyici Çizelgelemede, görevler çoğunlukla öncelikleriyle atanır. Bazen, düşük öncelikli görev hala çalışıyor olsa bile, daha düşük öncelikli bir görevden önce daha yüksek önceliğe sahip bir görevi çalıştırmak önemlidir. Daha düşük öncelikli görev bir süre tutulur ve daha yüksek öncelikli görev yürütmeyi bitirdiğinde devam eder.

Önleme Amaçlı Olmayan Planlama

Bu tür planlama yönteminde, CPU belirli bir sürece tahsis edilmiştir. CPU'yu meşgul tutan işlem, ya bağlamı değiştirerek ya da sonlandırarak CPU'yu serbest bırakacaktır. Çeşitli donanım platformları için kullanılabilen tek yöntemdir. Bunun nedeni, önleyici zamanlama gibi özel bir donanıma (örneğin, bir zamanlayıcı) ihtiyaç duymamasıdır.

Öncelikli Planlamanın Özellikleri

  • Önceliğe göre işlemleri planlayan bir CPU algoritması
  • İşletim sistemlerinde toplu işlemleri gerçekleştirmek için kullanılır.
  • Aynı önceliğe sahip iki iş HAZIR ise, İLK GELEN, İLK SERVİS esasına göre çalışır.
  • Öncelik planlamasında, her işleme, öncelik seviyesini gösteren bir numara atanır.
  • Sayıyı düşürün, öncelik o kadar yüksektir.
  • Bu tür programlama algoritmasında, daha yeni bir işlem gelirse, bu, o anda çalışan işlemden daha yüksek bir önceliğe sahipse, o zaman şu anda çalışan işlem önceden tutulur.

Öncelikli Planlama Örneği

P1'den P5'e kadar beş süreci takip etmeyi düşünün. Her sürecin kendine özgü önceliği, patlama zamanı ve varış zamanı vardır.

İşlem Öncelik Patlama zamanı Varış zamanı
P1 1 4 0
P2 2 3 0
P3 1 7 6
P4 3 4 11
P5 2 2 12

Adım 0) = 0 anında, Süreç P1 ve P2 gelir. P1, P2'den daha yüksek önceliğe sahiptir. Yürütme, patlama zamanı 4'e sahip olan P1 işlemi ile başlar.

Adım 1) = 1 anında, yeni süreç gelmez. Yürütme P1 ile devam eder.

Adım 2) 2. zamanda, yeni süreç gelmez, böylece P1 ile devam edebilirsiniz. P2 bekleme kuyruğunda.

Adım 3) 3. zamanda, yeni süreç gelmez, böylece P1 ile devam edebilirsiniz. P2 işlemi hala bekleme kuyruğunda.

Adım 4) 4. zamanda, P1 yürütmeyi bitirmiştir. P2 yürütmeyi başlatır.

Adım 5) Zaman = 5'te yeni süreç gelmez, bu yüzden P2 ile devam ederiz.

Adım 6) Zaman = 6'da P3 gelir. P3, önceliğe sahip P2'ye (2) kıyasla daha yüksek önceliğe (1) sahiptir. P2 önceliklidir ve P3 yürütmeye başlar.

İşlem Öncelik Patlama zamanı Varış zamanı
P1 1 4 0
P2 2 3'te 1'i beklemede 0
P3 1 7 6
P4 3 4 11
P5 2 2 12

Adım 7) 7. zamanda, yeni bir süreç gelmez, bu yüzden P3 ile devam ederiz. P2 bekleme kuyruğunda.

Adım 8) Zaman = 8'de yeni süreç gelmez, dolayısıyla P3 ile devam edebiliriz.

Adım 9) Zaman = 9'da yeni süreç gelmez, böylece P3 ile devam edebiliriz.

Adım 10) 10. zaman aralığında yeni süreç gelmez, bu yüzden P3 ile devam ederiz.

Adım 11) Zaman = 11'de, P4 öncelik 4 ile gelir. P3 daha yüksek önceliğe sahiptir, bu nedenle yürütmeye devam eder.

İşlem Öncelik Patlama zamanı Varış zamanı
P1 1 4 0
P2 2 3'te 1'i beklemede 0
P3 1 7 kişiden 2'si beklemede 6
P4 3 4 11
P5 2 2 12

Adım 12) Saat = 12'de P5 gelir. P3 daha yüksek önceliğe sahiptir, bu nedenle yürütmeye devam eder.

Adım 13) Zaman = 13 olduğunda, P3 yürütmeyi tamamlar. Biz P2, P4, hazır kuyrukta P5. P2 ve P5 eşit önceliğe sahiptir. P2'nin varış zamanı P5'ten öncedir. Böylece P2 yürütmeye başlar.

İşlem Öncelik Patlama zamanı Varış zamanı
P1 1 4 0
P2 2 3'te 1'i beklemede 0
P3 1 7 6
P4 3 4 11
P5 2 2 12

Adım 14) Zaman = 14 olduğunda, P2 işlemi yürütmeyi bitirmiştir. P4 ve P5 bekleme durumundadır. P5 en yüksek önceliğe sahiptir ve yürütmeyi başlatır.

Adım 15) Zaman = 15 olduğunda, P5 çalışmaya devam eder.

Adım 16) Zaman = 16'da, P5'in yürütülmesi tamamlanır. P4, kalan tek işlemdir. Yürütmeye başlar.

Adım 17) Zaman = 20 olduğunda, P5 yürütmeyi tamamladı ve hiçbir işlem kalmadı.

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

Bekleme Süresi = başlangıç ​​zamanı - varış zamanı + bir sonraki patlama için bekleme süresi

P1 = o - o = oP2 =4 - o + 7 =11P3= 6-6=0P4= 16-11=5Average Waiting time = (0+11+0+5+2)/5 = 18/5= 3.6

Öncelikli planlamanın avantajları

Öncelikli planlama yöntemini kullanmanın avantajları / artıları şunlardır:

  • Kullanımı kolay zamanlama yöntemi
  • Süreçler öncelik temelinde yürütülür, böylece yüksek önceliğin uzun süre beklemesi gerekmez, bu da zamandan tasarruf sağlar
  • Bu yöntem, her bir sürecin göreceli öneminin kesin olarak tanımlanabileceği iyi bir mekanizma sağlar.
  • Değişken zaman ve kaynak gereksinimleri olan uygulamalar için uygundur.

Öncelikli planlamanın dezavantajları

İşte öncelikli planlamanın eksileri / sakıncaları

  • Sistem sonunda çökerse, tüm düşük öncelikli işlemler kaybolur.
  • Yüksek öncelikli işlemler çok fazla CPU zamanı alırsa, daha düşük öncelikli işlemler aç kalabilir ve belirsiz bir süre için ertelenir.
  • Bu programlama algoritması, bazı düşük öncelikli işlemleri süresiz olarak bekletebilir.
  • Bir işlem çalışmaya hazır olduğunda engellenecektir, ancak şu anda başka bir işlem çalıştığı için CPU için beklemesi gerekir.
  • Hazır kuyruğunda daha yüksek öncelikli yeni bir işlem gelmeye devam ederse, bekleme durumunda olan işlemin uzun bir süre beklemesi gerekebilir.

Özet:

  • Öncelikli çizelgeleme, önceliğe dayalı bir çizelgeleme süreçleri yöntemidir. Bu algoritmada, zamanlayıcı, önceliğe göre çalışacak görevleri seçer.
  • Öncelikli Önleyici Planlamada, görevler çoğunlukla öncelikleriyle atanır.
  • Öncelikli Önleme amaçlı olmayan zamanlama yönteminde, CPU belirli bir sürece tahsis edilmiştir.
  • Süreçler öncelik temelinde yürütülür, böylece yüksek önceliğin uzun süre beklemesi gerekmez, bu da zamandan tasarruf sağlar
  • Yüksek öncelikli işlemler çok fazla CPU zamanı alırsa, daha düşük öncelikli işlemler aç kalabilir ve belirsiz bir süre için ertelenir.