İşletim Sistemlerinde CPU Scheduler -6

CPU Zamanlama (Scheduling ) Algoritmaları

İki tip Scheduler bulunmaktadır.
Short Term Scheduler
-Kullanıcı ile interaktif olarak çalışan,hızlı cevap beklediğimiz program çalışırken hemen cevap verebilecek processlerdir. Daha çok işlemciye yüklü zamanlayıcılardır.
-Amacı kullanıcı ile olan etkileşimi kaybetmemektedir.
-Prosesin daha hızlı CPU ‘ya ulaşmasını sağlar.
Long Term Scheduler
-Bir iş atanacak ve uzun süre CPU’da kalabilir,yedek alma işlemi gibi; herhangi bir iş bitene kadar CPU başka bir iş ile uğraşması gerekmez.
-Sunucu mimarisi gibi ve kullanıcı ile interaktif olarak çalışmayan yapıdır.
-Kullanıcının çok olmadığı ortamlarda yer alır.

Dispatcher

-Ready quee’den alıp CPU’ya yüklenen kısımdır.
-Prosesleri CPU’ya yükler. Ve CPU’daki prosesleri bilgileri RAM’e yükler.
-Bir prosesi alıp; durumunu kaydedip sonra yükleyecek olan yapıdır. Başka bir bir prosesi alıp CPU’ya yükler ve Program Counter kaldığı yerden devam eder. Bir nevi Context Switch yapmış olur.

Zamanlama Kriterleri ( Scheduling Criteria )

CPU Utilization : CPU’nun ne kadar yoğun tutulduğu ölçülür, CPU ne kadar yoğun tutulursa o kadar iyidir. Context Switchlerden dolayı CPU boş kalabilir.
Throughput: Birim zamanda ne kadar prosesin tamamlandığını belirtir.
Turnaround Time: Bir prosesin ne kadar zamanda bitirildiğini belirten süredir. Başlangıç ile bitiş arasındaki zamandır.
Waiting Time: CPU’ya erişmek için proseslerin Ready Quee’de ne kadar beklediğini belirtir.
Response Time: İşlemlere daha hızlı cevap verilme işlemidir.

Maksimum CPU Utilization
Maksimum throughput
Min turnaround time
Min waiting Time
Min Response time

olduğu takdirde ; en iyi senaryodur.

First-Come First-Served Scheduler (NonPreemtive)
-CPU basitçe bir işi alır ve bitirene kadar onu çalışır.
-Proses gelir; çalıştırılma zamanını bekler.
-Dispatcher Prosesi alır ve CPU’ya yükler ve çalıştırır. Daha sonra sırayla iki ve üçüncüyü çalıştırır.

Shortest Job First (NonPreemtive)

-Verilen sıraya göre değil bekleme zamanlarına göre çalıştırır.



-First of First’e göre ortalama bekleme süresi daha avantajlıdır.

Shortest Remaining Time First (Preemtive)
-Arrival Time : 0. Zamanda zaten bir Proses var. Her bir saniyede bir kontrol yapıyor.
-Daha sonra kontrol ediyor başka kısa zaman var mı ?
-Burst Time P1’de 8’di 8-1 =7 kaldı.
-En az zamana bakıldı. Hangisi ? P1’den 7 birim kalmış, P2den 4 birim kalmış.
-P2 seçildi. Bundan da bir saniye azaldığında 3 birim kalıyor. 3. Proses yani P3 geliyor.
-Peki P1 mi daha az P2 mi daha az yoksa P3 mü ? P2 daha az?
-En kısa P2 olduğu için P2 ile devam ediyor. P2’de 2 kalıyor ve P4 Prosesi devreye giriyor.
-P2 tamamen bitiyor.
-P3’ten 9 P4’ten 5 kalıyor. Ve bundan sonra Shortes Job First gibi çalışır. En kısa süreli alınıp çalışır.

Priority Scheduling

Öncelik gerektiren zamanlamalarda kullanılır. Bir prosesin  daha öncelikli çalışması gereken işlemlerde bu zamanlayıcı kullanılabilir. Önceliğe göre çalıştırma işlemi gerçekleştirilir.

Starvation: Sıraya koyulan proseslerin ; hep daha yüksek proses gelirse hiçbir zaman çalışmama durumu olabilir. Bu duruma Starvation adı verilir.
Aging: Sırada bekledikçe ; priority yani önceliğini yükselterek ona da sıra gelmesini sağlayan yapıdır.

Preemtive olarak çalışırsa;

O an öncelikli olan proses çalışırken daha öncelikli gelirse o durdurulup sıradaki öncelikli proses çalıştırılır.

NonPreemtive ise;

Çalışan öncelikli prosesin bitmesi beklenir. Daha sonra gelen en yüksek öncelikli olan proses çalıştırılır.

Kaynakça:
Operating System Concepts with Java – 8th Edition
Sadi Evren Şeker-İşletim Sistemleri Playlist



Ders : İşletim Sistemleri( Doç. Dr. Ali Gökhan Yavuz )

Yıldız Teknik Ünviersitesi Bilgisayar Mühendisliği Bilgi Teknolojileri Programı




Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir