SCHEDULING ALGORİTMALARI (BİL461-ÖDEV3)

ÖDEV-3

SCHEDULING ALGORİTMALARI

Önceleri geliştirilmiş olan ve belirli bir zamanda yalnızca bir işlemi gerçekleştirebilen tek görevli işletim sistemleri yerine, günümüzde bunun aksine aynı anda birden çok işlemi gerçekleştirebilen çok görevli işletim sistemleri bulunmaktadır. Ancak işletim sistemlerinin sağladığı bu özellik için düşünülmesi gereken belirli noktalar vardır. Aynı anda işlemler çalışmaya kalktığında bu işlemlerin her biri için işlemcinin hangi sırayla ve ne kadar süreyle kullanılacağı konusunda problemler ortaya çıkmaktadır. Bunları düzenleyebilmek için zamanlama algoritmaları(scheduling algorithms) tasarlanmıştır.

Zamanlama algoritmaları:
            1.      First-Come, First-Served (FCFS) Scheduling

            2.      Shortest-Job-First (SJR) Scheduling
3.      Priority Scheduling
4.      Round Robin(RR) Scheduling
5.      Multilevel Queue Scheduling

Windows NT’ye geçildiğinden beri Windows process scheduling için Multilevel Queue Scheduling ve Round Robin Scheduling algoritmalarını bir arada kullanarak çalışan Multilevel Feedback Queue algoritması kullanılmaktadır.
Multilevel Feedback Queue Algoritması:
Bu algoritmada kendi aralarında öncelik sırası bulunan ayrı kuyruklar bulunmaktadır. Gerçekleştirilen işlemler bulunması gereken kuyrukta yerini alınca öncelik sırasına göre işlenmeye başlanır. Yüksek önceliğe sahip olan iş daha önce yapılır. Herhangi bir iş kuyruk için belirlenen işlem zamanında(quantum time) tamamlanamazsa öncelik olarak bir alt sırada yer olan kuyruğa geçer. Bu durum işlem bitene kadar ya da temel kuyruğa ulaşana kadar devam eder. Temel kuyruk öncelik sırasında en düşük seviyede bulunan kuyruktur. Temel kuyruk içindeki işlemler arasında ise öncelik sırası kullanılmaz bu nedenle bu kuyruktaki işlerin yapılması için Round Robin Scheduling algoritması kullanılır.
Eğer aynı anda yapılacak işlerin önceliğine bakıldığında aynı önceliğe sahip oldukları görülürse bu durumda bunların işlenmesi Round Robin Scheduling algoritmasına göre ayarlanır. Round Robin Scheduling algoritmasına göre her işlem sırasıyla, belirlenen zaman diliminde çalışır. Bu süre içinde işi bitmese bile işlemciyi terk etmek zorundadır(preemptive yapı). Bütün işlemlere, sırayla çalışma süresi verildikten sonra ise tekrar ilk işleme dönülerek tamamlanmamış işlemlere aynı süre tekrar verilir. Bu şekilde işlemler bitene kadar tekrar tekrar belirlenen süre kadar işlemciyi kullanabilirler.

Multilevel Feedback Queue Algoritması ile belirli kriterlere göre belirlenen öncelikler verilen işlerin daha önce tamamlanması sağlanmıştır. Kuyruklar için belirlenen quantum time ile çok uzun sürecek işlemlerin diğer işleri engellemesi önlenmiştir. Eğer bu yapılmasaydı uzun süren işlemin bitmesi bekleneceği için yapılacak diğer işlemlerde gecikme yaşanmış olurdu. Zaman kısıtlaması Round Robin Scheduling algoritmasında da bulunduğu için aynı önceliğe sahip olan işler için de birbirini bekleyerek gecikme yaşanması durumu söz konusu olmamaktadır. Her iş sırayla belirli süre işlemciyi kullanarak adım adım tamamlanmaktadır.  Yani Multilevel Feedback Queue Algoritması, işlemcinin, aynı anda çalışan işlemler için daha az gecikmeye neden olacak ve işlemler arasında adaleti sağlayacak şekilde kullanılmasına olanak vermektedir.




Popüler İçerikler