Sunum yükleniyor. Lütfen bekleyiniz

Sunum yükleniyor. Lütfen bekleyiniz

İşlemci Zaman Planlaması •Çoklu programlamada bellekte birden fazla proses çalışmaya hazır bekler •Bu prosesler hangi sırayla çalıştırılacak? Kriterler.

Benzer bir sunumlar


... konulu sunumlar: "İşlemci Zaman Planlaması •Çoklu programlamada bellekte birden fazla proses çalışmaya hazır bekler •Bu prosesler hangi sırayla çalıştırılacak? Kriterler."— Sunum transkripti:

1 İşlemci Zaman Planlaması •Çoklu programlamada bellekte birden fazla proses çalışmaya hazır bekler •Bu prosesler hangi sırayla çalıştırılacak? Kriterler •Adil –Kaynaklara tüm proseslerce eşit ve adil erişim •Ayrımcı –Farklı öncelikleri olan proseslerin desteklenmesi •Verim –İşlemciyi mümkün olduğunca meşgul tut –Birim zamanda bitirilen iş sayısını arttır –Bir prosesin başlatılmasından bitirilmesine kadar geçen toplam bitirilme zamanını asgariye indir

2 Işlemci Zaman Planlaması Proses başlangıcından bitimine kadar işlemcide çalıştırılma ve Girdi/Çıktı işlemleri dönüşümlü olarak tekrar eder Girdi/Çıktı İşlemci İşlemci zaman planlayıcısı (Dispatcher) •Ana bellekde olan ve çalıştırılmaya hazır proseslerden birini seçer ve işlemciden o prosesi çalıştırmasını ister

3 İlk Gelen İlk Çıkar (First-Come-First-Served) •Proseslerin geliş sırası: P1, P2, P3 Proses P1 P2 P3 Geliş zamanı (sn) P1P2P •Proseslerin bekleme zamanı: P1=0, P2=23, P3=25 •Ortalama bekleme zamanı: ( )/3 = 16 •Proseslerin geliş sırası: P2, P3, P1 P2P3P •Proseslerin bekleme zamanı: P1=4, P2=0, P3=2 •Ortalama bekleme zamanı =(4+0+2)/3 = 2 İşlemci zamanı (sn) 24 3 Proses P1 P2 P3 Geliş zamanı (sn) Proses P1 P2 P3

4 En Kısa İş İlk (Shortest-Job-First (SJF)) •Her bir prosesin kalan işlemci zamanını kullanarak, işlemciyi en az işlemci zamanına ihtiyacı olan prosese ver. •İki versiyonu tanımlanabilir –İşlem üstünlüğü kullanılmayan (Non-preemptive): İşlemci bir prosese verildiğinde bu prosesin işi tamamen bitinceye kadar işlemci başka bir prosese verilemez. –İşlem üstünlüğü kullanılan (Preemptive): Yeni bir proses iş sıralamasına girdiğinde bu yeni işin işlemci ihtiyacı o geldiğinde işlemciyi kullanan işten daha kısa ise işlemci yeni gelen işe verilir. •En kısa iş ilk algoritması en az ortalama bekleme zamanını verir, en iyi algoritmadır.

5 İşlem üstünlüğü kullanılmayan SJF Proses P1 P2 P3 P4 Geliş Zamanı (sn) P1P2P •Proseslerin bekleme zamanı: P1=0, P2=6, P3=3, P4=7 •Ortalama bekleme zamanı: ( )/4 = 4 İşlemci zamanı (sn) P3 •Proseslerin bekleme zamanı = Bitme zamanı – Belleğe konma zamanı – İşlemci zamanı

6 İşlem üstünlüğü kullanılan SJF Proses P1 P2 P3 P4 Geliş zamanı (sn) P1P2P •Proseslerin bekleme zamanı: P1=9, P2=1, P3=0, P4=2 •Ortalama bekleme zamanı: ( )/4 = 3 CPU zamanı (sn) P3P2 16 P1 •Proseslerin bekleme zamanı = Bitme zamanı – Belleğe konma zamanı – İşlemci zamanı

7 Çevrimsel Sıralı •Her bir prosese işlemci kısa bir süre için verilir. Genelde bu süre 10 ms ile 100 ms arasında değişebilir. Bu süreye kuantum (q) denir. Bu süre sonunda prosesin çalıştırılması durdurulur ve bu proses hazır prosesler kuyruğunun en sonuna eklenir. İşlemcide bu kuyruğun en başında bekleyen prosese verilir. •Eğer bu kuyrukta n proses bekliyorsa ve kuantum değeri q ise, her bir proses işlemci zamanının 1/n ini alır ve her alışında q süresince işlemciyi kullanır. Hiçbir proses (n- 1)q sürecinden fazla işlemciyi beklemez. •q nun bağlam değiştirme zamanından uzun olması gerekir. Aksi takdirde işlemci zamanı prosesleri çalıştırmaktan çok bağlam değiştirmekle geçer.

8 Çevrimsel Sıralı Proses P1 P2 P3 P4 P1P2P İşlemci zamanı (ms) P3P4P P4P1P3 Kuantum = 20 ms •Proseslerin bekleme zamanı = Bitme zamanı – Belleğe konma zamanı – İşlemci zamanı P1=81, P2=20, P3=94, P4=97 •Ortalama bekleme zamanı: ( )/4 = 73 ms

9 Çevrimsel Sıralı Proses P1 P2 P3 P4 İşlemci zamanı (ms) P1P2P P3P4P3P4 Kuantum = 10 ms P P1 97 P3 101 P4 111 P1 121 P3 131 P1 141 P3 144 P1 154 P3 162 P3 •Proseslerin bekleme zamanı = Bitme zamanı – Belleğe konma zamanı – İşlemci zamanı P1=91, P2=40, P3=94, P4=77 •Ortalama bekleme zamanı: ( )/4 = 75.5 ms

10 İşlem üstünlüğü kullanılan SJF Proses P1 P2 P3 P4 Geliş zamanı (sn) CPU zamanı (sn) Ortalama bekleme zamanını hesaplayın İşlem üstünlüğü kullanılmayan SJF 0 Çevrimsel sıralı quantum=1 sn 0

11 İşlem üstünlüğü kullanılan SJF Proses P1 P2 P3 P4 Geliş zamanı (sn) CPU zamanı (sn) Ortalama bekleme zamanını hesaplayın İşlem üstünlüğü kullanılmayan SJF 0 Çevrimsel sıralı quantum=1 sn 0

12 Öncelikli Çizelgeleme •Her bir prosese önceliğini belirleyen bir numara verilir •İşlemci bekleyen prosesler içinde önceliği en yüksek olana verilir (en küçük rakam = önceliği en fazla) –İşlem üstünlüğü kullanılmayan –İşlem üstünlüğü kullanılan •Problem: Açlık (İşlemci az öncelikli proseslere hiç verilemeyebilir) •Çözüm: Yaşlanma (zaman geçtikçe prosesin önceliğini arttır) CPU Öncelik=0 Öncelik=1

13 Çok Seviyeli Kuyruklar •Hazır kuyruğu birden fazla kuyruğa bölünür •Her kuyruğun kendi algoritması olabilir •Kuyrukları kendi aralarında sıralandırmak gerekir –Sabit öncelik kullanılabilir ama bu açlık sorunu yaratabilir –Her bir kuyruğa belli bir zaman verilebilir. Bir kuyruktaki prosesler bu zaman zarfında çalıştırılabilir. Sistem prosesleri Etkileşimli prosesler Toplu yürütüm sistemleri Öğrenci prosesleri CPU

14 Çokseviyeli Geribeslemeli Kuyruklar •Bir proses bir kuyruktan diğerine gidebilir (Yaşlanma bu şekilde gerçekleştirilebilir) •Çok seviyeli geribeslemeli kuyrukların parametleri –Kuyruk sayısı –Her bir kuyrukta kullanılan çizelgeleme –Bir prosesin yaşını arttırmak için kullanılan metot –Bir prosesin yaşını azaltmak için kullanılan metot –Yeni bir prosesin hangi kuyruğa ekleneceğini belirlemek için kullanılan metot

15 Örnek •Üç kuyruk –Q0: FCFS + kuyruk 0 için kuantum 8 ms –Q1: FCFS + kuyruk 1 için kuantum 16 ms –Q2: FCFS •Çizelgeleme –Q0 daki prosesler FCFS e göre çalıştırılır. Bir proses çalıştırılmaya başladıktan sonra en fazla 8 ms lik bir zaman verilir. Eğer 8 ms süresinde bitmezse işlemci Q1 a verilir. –Q1 deki prosesler de FCFS e göre çalıştırılır. Bir proses çalıştırılmaya başladıktan sonra en fazla 16 ms lik bir zaman verilir. Eğer 16 ms süresinde bitmezse işlemci Q2 a verilir. –Q2 deki proses bitinceye kadar işlemciyi tutar. Bitince işlemci yine Q0 da bekleyen bir prosese verilir.


"İşlemci Zaman Planlaması •Çoklu programlamada bellekte birden fazla proses çalışmaya hazır bekler •Bu prosesler hangi sırayla çalıştırılacak? Kriterler." indir ppt

Benzer bir sunumlar


Google Reklamları