1 Haziran 2013 Cumartesi

Windows Process Scheduling


     Windows işletim sistemleri Windows NT'den beri Round-Robin ve Multilevel Feedback Queue zamanlama algoritmalarını birlikte kullanmaktadır.

     Round-Robin algoritması her işlemin uyanık kalmasını sağlamak için kullanılan, işlemlerin önceliklerinin olmadığı bir algoritmadır. Bu algoritmada işlemlere çalışmaları için belirli zaman aralıkları verilir (ör. 100 ms) ve bir işlem bu süreyi tamamlayınca diğer işleme geçilir. Her işlem bitene kadar bu döngü devam eder. 


     Round-Robin'in kullanım amacı multitasking'in efektif kullanılmasını sağlamaktır. Bu sayede her işlem çalışır durumda kalır ve işlemler arası geçiş yapmamız da kolaylaşır. Eğer bu algoritma kullanılmasaydı arkaplanda kalan işlemler ihtiyaç duyduğu kaynaklara ulaşamayacak ve tamamlanamayacaklardı.

     Multilevel Feedback Queue ise Round-Robin'in eksiklerini kapatmaktadır. Bu algoritmada 3 temel durum vardır:

1) Kısa işlemlere öncelik vermek,

2) Giriş-çıkış aygıtlarına bağlı işlemlere öncelik vermek,
3) İşlemleri işlemciye olan ihtiyaçlarına göre kategorilendirmek.

     FIFO mantığıyla çalışan bu algoritmada işlemler en üst seviyedeki kuyruğa girer, kendilerine öncelik verildiği zaman sıranın başına geçer ve işlemciye atanırlar. İşlem sona ererse kuyruktan çıkar, ama quantum zamanını kullandığı halde hala sona ermediyse beklemeye alınır ve bir alt seviyedeki kuyruğa alınır. Bu durum işlem bitene kadar veya işlem en alt kuyruğa inene kadar devam eder. En alt kuyrukta Round-Robin ile işlemlere sırayla zaman tanınır ve bitmeleri beklenir.

     Multilevel Feedback Queue işlemleri önem sırasına göre yerleştirerek işlemlerin daha efektif çalışıp bitmesini sağlar ve her işlemin işlemciyle aynı oranda çalışmasına olanak tanır.

Hiç yorum yok:

Yorum Gönder