Kesmeyen Zamanlama (non-preemptive Scheduling)
Yazan : Şadi Evren ŞEKER
İşletim sistemi tasarımında önemli bir konu olan işlemci zamanlama algoritmalarına (CPU scheduling algorithms) göre de sırası gelen işlem bu bekleme sırasından alınarak görevlendirici (dispatcher) ismi verilen bir işlem tarafından CPU’ya gönderilir.
CPU’da yine işlemci zamanlama algoritmasının izin verdiği kadar (ya bitene ya da belirli bir zaman geçene kadar) çalışan program ya biter ve hafızadan kaldırılır ya da tekrar bekleme sırasına bir sonraki çalışma için yerleştirilir. Yukarıda basitçe birden çok işlemin tek işlemcide nasıl çalıştığı anlatıldı şimdi bu bekleme sırası ile işlemci arasında zamanlama ilişkisini kuran işlemci zamanlama algoritmalarını (cpu scheduling algorithms) tanımaya çalışalım.
Temel olarak 2 grupta incelenebilen bu algoritmalar:
- kesintili algoritmalar (preemptive algorithms)
- kesmeyen algoritmalar (nonpreemptive algorithms)
Bu algoritmalar arasındaki temel fark işlemcinin bir işleme başladıktan sonra o işlemi bitirmeden başka işleme başlayıp başlamamasıdır.
Örneğin işlemci sıradaki işlemi aldı ve bu işlem her ne olursa olsun 3ms sonra bekleme sırasına geri konulup yeni bir işlem alınacak dersek bu algoritmamız kesintili algoritma olmuş olur.
Tersine işlemci bir işi aldıktan sonra ne olursa olsun işi bitirip öyle bir sonraki işlemi alacak (işlem yarım kalmayacak, kesilmeyecek) dersek o zaman algoritmamız kesmeyen algoritmaya örnek olmuş olur.
Kesintili algoritmalara en meşhur örnek Round Robin algoritmasıdır.
İşlemci zamanlama konusunda çok meşhur En kısa iş ilk (shortest job first, sjf), ilk gelen ilk çıkar (first in first out), ilk gelen son çıkar (first in last out) gibi algoritmalar ise kesmeyen algoritmalara örnektir.
« Kesintili Zamanlama (Preemptive Scheduling) | Round Robin »
Yorumlar
Bilgisayar Kavramları üzerinde şu anda okumakta olduğunuz 'Kesmeyen Zamanlama (non-preemptive Scheduling)' isimli yazı 19 Nov 2008 tarihinde, saat: 14:31 'de Şadi Evren ŞEKER tarafından gönderilmiş, toplam 275 defa okunmuştur.
Benzer yazıları işletim sistemleri kategorilerinden okuyabilirsiniz. Yazar ile irtibat kurmak için email gönderebilirsiniz. Yazıya yorum yapabilir ya da yapılan yorumları RSS 2.0 ile takibe alabilirsiniz.
Yazarın Kitabı
Bu yazının yazarı Şadi Evren ŞEKER'in son çıkan kitabı "Programlama ve Veri Yapılarına giriş (C, C++ ve JAVA ile)" hakkında bilgi almak için Buraya tıklayabilirsiniz.
Eklenen Son Yazılar
- Özyineli Diller (Recursive Languages)
- Özyineli Geçiş Ağları (Reursive Transition Networks)
- Gellish (Kontrollü Doğal Dil)
- Karar Problemi (Decision Problem)
- Masfuf (Matris , Matrix)
- Turing Makinesi (Turing Machine)
- Özyineli Sayılabilir Diller (Recursively Enumerable Languages)
- Chomsky Hiyerarşisi ( Chomsky Hierarchy )
- Anlamsal Ağlar (Semantic Network)
- Mana Ağları (Sematic Webs, Anlamsal Ağ)
Yapılan Son Yorumlar
- vildan: teşekkürler..
- Şadi Evren ŞEKER: Elbette; farklı iki örnek daha...
- rasim: daha baska ornekler verebılırmısınız
- Zeynep Kaya: İyi günler.Benim size bi sorum daha...
- Zeynep Kaya: Cok tesekkür ederim yardımınız icin..
Yakın Yazılar
Kesmeyen Zamanlama (non-preemptive Scheduling)
Kesintili Zamanlama (Preemptive Scheduling)
İlk Gelen Çalışır (First Come First Serve, FSFC, FIFO)
İşlemci Zamanlama (CPU Scheduling)
En Kısa İş İlk (Shortest Job First)
CPU Utilization (MİB Meşguliyeti)
Bağlantılar