Örnekle Round Robin Planlama Algoritması

⚡ Akıllı Özet

Dairesel planlama (Round-Robin Scheduling), her hazır işlemin döngüsel bir kuyrukta sabit bir zaman dilimi boyunca çalıştığı, böylece çoklu görev yürütme için adil ve kaynak yetersizliğinden arınmış bir çalışma sağlayan en eski ve en basit öncelikli CPU algoritmasıdır.

  • 🔄 Tanım: Hazır olan her görev, belirli bir zaman dilimi boyunca sırayla çalışır.
  • ⏱️ Zaman Kuantumu: CPU, zaman dilimi olarak adlandırılan sabit bir aralıktan sonra işlemler arasında geçiş yapar.
  • 🇧🇷 adalet: Her işleme eşit miktarda işlemci süresi verilir, böylece işlemci gücünün yetersiz kalması önlenir.
  • 🧮 Önleyici: Önceliklendirilmiş bir işlem, kuyruğun sonuna taşınır.
  • Avantajları: Adil dağıtım, konvoy etkisi yok, öngörülebilir yanıt süresi.
  • ⚠️ Dezavantajları: Performans, zaman dilimine bağlıdır ve bağlam değiştirme ek yükünü de beraberinde getirir.

Yuvarlak Robin Planlama Algoritması

Round-Robin Planlama Nedir?

Bu algoritmanın adı, her kişinin sırayla bir şeyden eşit pay aldığı yuvarlak-robin ilkesinden gelir. Çoğunlukla çoklu görev için kullanılan en eski, en basit planlama algoritmasıdır.

Dairesel sıralama yönteminde, her hazır görev sınırlı bir zaman dilimi için döngüsel bir kuyrukta sırayla çalışır. Bu algoritma ayrıca süreçlerin açlık sorunu olmadan yürütülmesini de sağlar.

Round-Robin Planlamanın Özellikleri

Round-Robin Planlamanın önemli özellikleri şunlardır:

  • Round robin, önleyici bir algoritmadır.
  • CPU, zaman dilimi/zaman kuantumu olarak adlandırılan sabit bir zaman aralığından sonra bir sonraki işleme geçer.
  • Önlenen işlem kuyruğun sonuna eklenir.
  • Round robin, zamanlama mekanizmasıyla çalışan hibrit bir modeldir.
  • Zaman dilimi, işlenmesi gereken belirli bir görev için ayrılan minimum süre olmalıdır. Ancak bu, işletim sistemine göre farklılık gösterebilir.
  • Bu, belirli bir zaman sınırı içinde olaya yanıt veren gerçek zamanlı bir algoritmadır.
  • Round robin, en eski, en adil ve en kolay algoritmalardan biridir.
  • Geleneksel işletim sistemlerinde yaygın olarak kullanılan bir zamanlama yöntemidir.

Round-robin Planlama Örneği

Aşağıdaki üç süreci ele alalım:

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

Round-robin Planlama

) 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.

Round-robin Planlama

) 2 Adım Zaman = 2'de, P1 kuyruğun sonuna eklenir ve P2 çalışmaya başlar.

Round-robin Planlama

) 3 Adım Zaman = 4'te, P2 önceliklendirilerek kuyruğun sonuna eklenir. P3 çalışmaya başlar.

Round-robin Planlama

) 4 Adım Zaman = 6'te, P3 önceliklendirilerek kuyruğun sonuna eklenir. P1 çalışmaya başlar.

Round-robin Planlama

) 5 Adım Zaman = 8'de, P1'in çalışma süresi 4'tür. Çalışmasını tamamlamıştır. P2 çalışmaya başlar.

Round-robin Planlama

) 6 Adım P2'nin çalışma süresi 3'tür. Zaten 2 aralık boyunca çalışmıştır. Zaman = 9'da P2'nin çalışması tamamlanır. Ardından, P3 çalışmaya başlar ve tamamlanana kadar devam eder.

Round-robin Planlama

) 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

Dairesel Planlamanın Avantajları

İşte dönüşümlü planlama yönteminin avantajları/faydaları:

  • Açlık veya konvoy etkisi sorunlarıyla karşılaşmaz.
  • Tüm işler adil bir CPU tahsisi alır.
  • Öncelik gözetmeksizin tüm süreçleri ele alır.
  • Çalıştırma kuyruğundaki toplam işlem sayısını biliyorsanız aynı işlem için en kötü durum yanıt süresini de varsayabilirsiniz.
  • Bu zamanlama yöntemi, işlem süresine bağlı değildir. Bu nedenle sistemde kolayca uygulanabilir.
  • Belirli bir süre boyunca bir işlem yürütüldüğünde, işlem iptal edilir ve belirli bir süre boyunca başka bir işlem yürütülür.
  • İşletim sisteminin, önceliklendirilmiş işlemlerin durumlarını kaydetmek için bağlam değiştirme yöntemini kullanmasına olanak tanır.
  • Ortalama yanıt süresi açısından en iyi performansı verir.

Round-robin Planlamanın Dezavantajları

Sıra tabanlı planlama yönteminin dezavantajları/olumsuz yönleri şunlardır:

  • İşletim sisteminin dilimleme süresi düşükse, işlemci çıktısı da azalacaktır.
  • Bu yöntem, bağlam değiştirme işlemine daha fazla zaman ayırır.
  • Performansı büyük ölçüde zaman kuantumuna bağlıdır.
  • Süreçler için öncelikler belirlenemez.
  • Sıra tabanlı planlama, daha önemli görevlere özel bir öncelik tanımaz.
  • Bu, kavrama yeteneğini azaltır.
  • Daha düşük zaman dilimi, sistemde daha yüksek bağlam değiştirme yüküne neden olur.
  • Bu sistemde doğru zaman dilimini bulmak oldukça zor bir iştir.

En Kötü Durumda Gecikme

Bu terim, tüm görevlerin yerine getirilmesi için harcanan maksimum süre için kullanılır.

  • dt = Bir görevin listeye eklendiği algılama süresini ifade eder.
  • st = Bir görevden diğerine geçiş süresini ifade eder.
  • et = Görevin yürütülme süresini ifade eder.

formül:

Tworst = {(dti+ sti + eti ), + (dti+ sti + eti )2 +...+ (dti+ sti + eti )N., + (dti+ sti + eti  + eti) N} + tISR
tISR = sum of all execution times

SSS

Zaman dilimi veya zaman dilimi, her işlemin önceliklendirilmeden önce çalıştığı sabit CPU süresidir. Çok büyük olması FCFS gibi davranır; çok küçük olması ise ağır bağlam değiştirme yükü getirir.

FCFS, her işlemi geliş sırasına göre tamamlayana kadar çalıştırır ve öncelikli değildir. Round Robin ise önceliklidir: her işleme sabit bir zaman dilimi verir ve kuyrukta döngü yaparak yanıt süresini iyileştirir ve uzun süren işlerin diğerlerini engellemesini önler.

Çünkü her işlem döngüsel bir kuyruğa yerleştirilir ve sırayla sabit bir zaman dilimi alır. Hiçbir işlem atlanmaz veya süresiz olarak geciktirilmez, bu nedenle her biri uzunluğundan veya geliş sırasından bağımsız olarak sonunda CPU zamanı alır.

Yapay zeka ve makine öğrenimi, süreç davranışını ve iş yükü modellerini tahmin ederek zamanlama kararlarını gerçek zamanlı olarak iyileştirebilir. Sabit bir politika yerine, sistem öncelikleri ve zaman dilimlerini dinamik olarak uyarlayarak CPU kullanımını, verimliliği ve yanıt süresini iyileştirebilir.

Evet. Yapay zeka modelleri, geçmişteki ani işlem sürelerini ve sistem yükünü analiz ederek en uygun zaman dilimini önerebilir ve koşullar değiştikçe bunu ayarlayabilir. Bu, tek bir sabit değere kıyasla bağlam değiştirme yükünü yanıt süresiyle daha iyi dengeler.

Bu yazıyı şu şekilde özetleyin: