Round Robin Yöntemi İle İşletim Sistemlerinde İş Sıralaması

Her prosese, merkezi işlem biriminde (cpu'da) işlem görmesi için belli bir süre verilir. Bu süreye quantum süresi denir. Quantum süresi içerisinde proses, merkezi işlem birimini (cpu) kullanır. Bu süre içerisinde işi bitmez ise tekrar sıraya geçer, işi biterse ise o proses sonlanır.

Her bir proses belli bir süre işlem görüp eğer işi bitmemiş ise, tekrar sıraya girer demiştik. İşte bu sebepten dolayı Round-Robin sıralaması kesintili bir sıralamadır. Çünkü bir proses işi bitene kadar işlemciyi (cpu) kullanmıyor. Belli bir süre kullanıp işlemi kesintiye uğruyor, daha sonrasında tekrar işlemciye geliyor ve işi bitene kadar bu döngü devam ediyor.


Round-Robin sıralamasının anlaşılması açısından basit bir örnek yapalım :

P1, P2, P3 adında 3 proses olsun. Bu proseslerden;

P1 prosesinin işini bitirebilmesi için CPU'yu 3 milisaniye kullanması gerektiğini varsayalım.
P2 prosesinin işini bitirebilmesi için CPU'yu 4 milisaniye kullanması gerektiğini varsayalım.
P3 prosesinin işini bitirebilmesi için CPU'yu 2 milisaniye kullanması gerektiğini varsayalım.

Quantum zaman dilimi : 1 milisaniye olsun. Bu değeri ben kendim belirledim.Yani her bir proses işlemcide 1 milisaniye işlem görecek demektir.

Bu konuyu daha iyi anlatabilmem adına, verceğim örnek için işlem görme öncelikleri önemsiz olsun. Önce P1, sonra P2'nin, sonra P3'ün sırada beklediğini düşünelim.

Evet, işlemlerimize başlıyoruz.

1. Adım :
P1 CPU'ya geldi. Quantum 1 olduğu için, 1 milisaniye işlem gördü. Geriye 2 milisaniyesi kaldığı için tekrar sıraya geçer. Daha sonra sırada bekleyen P2 CPU'ya gelir. Quantum 1 olduğu için, 1 milisaniye işlem görür ve 3 milisaniyesi kaldığı için tekrar sıraya geçer. Sonrasında ise P3 CPU'ya gelir. Quantum 1 olduğu için, 1 milisaniye işlem görür ve 1 milisaniyesi daha kaldığı için tekrar sıraya geçer.

İşlerini bitirebilmeleri için kalan işlem görme süreleri :
P1 için 2 milisaniye.
P2 için 3 milisaniye.
P3 için 1 milisaniye.


2. Adım :
Sıra tekrar P1 CPU'ya geldi. 1 milisaniye işlem gördü. Geriye 1 milisaniyesi daha kaldığı için tekrar sıraya geçer. Daha sonra sırada bekleyen P2 CPU'ya gelir. 1 milisaniye işlem görür ve 2 milisaniyesi kaldığı için tekrar sıraya geçer. Sonrasında ise P3 CPU'ya gelir. 1 milisaniye işlem görür ve 0 milisaniyesi kalır. Bu da demek oluyor ki P3 prosesi işini bitirmiştir. Çünkü görmesi gereken 2 milisaniyelik işlemi görmüştür artık.

İşlerini bitirebilmeleri için kalan işlem görme süreleri :
P1 için 1 milisaniye.
P2 için 2 milisaniye.
P3 için 0 milisaniye. İşini bitirmiştir. Sonlanır.


3. Adım
P1 CPU'ya geldi. Quantum 1 olduğu için, 1 milisaniye işlem gördü. Geriye 0 milisaniyesi kaldığı için işi bitmiştir artık ve sonlanır. Daha sonra sırada bekleyen P2 CPU'ya gelir. Quantum 1 olduğu için, 1 milisaniye işlem görür ve 2 milisaniyesi kaldığı için tekrar sıraya geçer. P3 bir önceki adımda sonlanmıştı diye işlem görmez. Bu adımda P1 prosesi de sonlandığı için, bir sonraki adımda P2 prosesi işlem görüp, sonlanacaktır.

İşlerini bitirebilmeleri için kalan işlem görme süreleri :
P1 için 0 milisaniye. İşini bitirmiştir. Sonlanır.
P2 için 1 milisaniye.
P3 bir önceki adımda sonlanmıştı.

4. Adım
P1 CPU'ya geldi. Quantum 1 olduğu için, 1 milisaniye işlem gördü. Geriye 0 milisaniyesi kaldığı için işi bitmiştir artık ve sonlanır.

Tüm prosesler böylece işlerini bitirmiş olurlar.

Quantum 1 milisaniye olduğu için her adımda, her bir prosesin işlem görme süresini 1 azalttık çünkü; mantık olarak herbiri 1er saniye işlem görüp tekrar sıraya geçiyorlar. Taa ki işleri bitene kadar. Quantım 2 olsaydı eğer, herbiri 2 şer milisaniye işlem göreceğinden, işlem görme sürelerini de 2şer 2şer azaltacaktık.


Round Robin Sıralamasının Dezavantajı
Kesintili bir sıralama olmasından dolayı kısa süre içerisinde merkezi işlem birimi sürekli olarak farklı bir prosesi işliyor. Bu da her defasında bağlam değiştirme yapması anlamına geliyor. Daha önceki yazılarımda da belirttiği gibi, işlemcinin çok fazla bağlam değiştirme yapması olayı işletim sistemi için zaman açısından maliyetlidir.


Son olarak ufak bir.... NOT : Ben konuda örnek daha kolay anlaşılsın diye Quantum sayısına 1 milisaniye dedim. Oysaki gerçek şartlarda bir bilgisayar, 1 milisaniyede milyonlarca proses işlemi gerçekleştirebilir. Yani işletim sistemlerinde belirlenen o quantum sayısı 1 milisaniyeden çok çok daha küçük bir değerdir aslında.

Konuyla ilgili aklınıza takılan yerleri, görüşlerinizi veya düşüncelerinizi aşağıdaki yorum formu aracılığıyla bana iletebilirsiniz. Aklınıza takılan yerler var ise, size elimden geldiğince yardımcı olmaya çalışırım.