İşlemci Zaman Planlaması

Slides:



Advertisements
Benzer bir sunumlar
Bölüm 6: CPU Planlama Temel Kavramlar Planlama Kriteri
Advertisements

ENDEKSLER Endeks belirli bir değişkenin veya değişkenlerin değerlerinde zaman içinde veya mekanlar arasında ortaya çıkan değişimlerin oransal ölçüsüdür.
Bölüm 5: CPU Planlama(Scheduling)
Tam rekabet çok sayıda alıcı ve satıcı firmalar fiyatı veri alırlar
PROBLEM ÇÖZME TEKNİKLERİ
T.C. İNÖNÜ ÜNİVERSİTESİ Arapgir Meslek YÜKSEKOKULU
TİE Platformu Yürütme Kurulu Başkanı
Atlayarak Sayalım Birer sayalım
JEODEZİ I Doç.Dr. Ersoy ARSLAN.
Öğr.Gör. Dr. Şirin KARADENİZ
Bellek Yönetimi Process H 2 KB
Proses Kontrolü.
İşletim Sistemi.
TÜKETİCİ TEORİSİ fig.
Hazırlayan: Özlem AYDIN
İş (Job): Proses ve/veya thread
Bellek Yönetimi.
KIR ÇİÇEKLERİM’ E RakamlarImIz Akhisar Koleji 1/A.
Görev Yönetimi GÖREV bir programın işletimi sırasında aldığı addır.
Verimli Ders Çalışma Teknikleri.
Hafta 03: Verinin Numerik Analizi (Yrd.Doç.Dr. Levent AKSOY)
doğal sayısındaki rakamların sayı değerleri toplamı kaçtır?
SOME-Bus Mimarisi Üzerinde Mesaj Geçişi Protokolünün Başarımını Artırmaya Yönelik Bir Algoritma Çiğdem İNAN, M. Fatih AKAY Çukurova Üniversitesi Bilgisayar.
CAN Özel Güvenlik Eğt. Hizmetleri canozelguvenlik.com.tr.
Algoritmalar DERS 3 Böl ve Fethet(Divide and Conquer) İkili arama
BENZETİM Prof.Dr.Berna Dengiz 4. Ders Modelleme yaklaşımları
GÖK-AY Özel Güvenlik Eğt. Hizmetleri
HAZIRLAYAN:SAVAŞ TURAN AKKOYUNLU İLKÖĞRETİM OKULU 2/D SINIFI
Bölüm 3 – Yapısal Programlama
Chapter 8: Deadlocks (ölümcül kilitlenmeler)
İŞLEM ÖNCELİĞİ MATEMATİK 5,6.
Yapısal Program Geliştirme – if, if-else
Algoritmalar DERS 4 Çabuk sıralama Böl ve fethet Bölüntüler
ALIŞTIRMALAR - 1 Sunu 1 ve Sunu 2 İçeriği
Tam Rekabet Tam rekabet piyasasının dört özelliği:
Tam sayılarda bölme ve çarpma işlemi
PÇAĞEXER / SAYILAR Ali İhsan TARI İnş. Yük. Müh. F5 tuşu slaytları çalıştırmaktadır.
Algoritmalar (Algoritms)
Temel tanımlar ve işleyiş
Yönlendirici Mimarisi
4 X x X X X
Algoritmalar (Algoritms)
Akış Kontrol Mekanizmaları
Ek-2 Örnekler.
CPU DÜZENLEME.
BİL551 – YAPAY ZEKA BİLGİSİZ ARAMA YÖNTEMLERİ
Anahtar Terimler Piyasa Talep Arz Denge fiyatı
ANA BABA TUTUMU ENVANTERİ
Test : 2 Konu: Çarpanlar ve Katlar
Ara Sınav Hazırlık.
BENZETİM Prof.Dr.Berna Dengiz 5. Ders.
ALİ YALKIN İLKÖĞRETİM OKULU 2/A SINIFI ÇALIŞMA SAYFASI
DOĞAL SAYILAR VE TAM SAYILAR
PROCESS (GÖREV) GÖREV YÖNETİMİ
Sistem Çağrıları Proses Kontrol Çağrıları Bellek Yönetim Çağrıları
Proje Konuları.
PÇAĞEXER / SAYILAR Ali İhsan TARI İnş. Yük. Müh. F5 tuşu slaytları çalıştırmaktadır.
Diferansiyel Denklemler
BENZETİM Prof.Dr.Berna Dengiz 5. Ders.
GÖREV YÖNETİMİ (PROCESS – TASK) (SERVER İŞLETİM SİSTEMİ TARAFLI)
Ölümcül Kilitlenme (Deadlock)
KUYRUK (QUEUE).
Adım Adım Algoritma.
Kuyruk Sistemlerinin Simülasyonu
ALGORİTMA VE PROGRAMLAMA 
MALTEPE ÜNİVERSİTESİ Paralel Hesaplama MATLAB ve Paralel Hesaplama
İşletim Sistemleri (Operating Systems)
İşletim Sistemleri (Operating Systems)
BENZETİM 2. Ders Prof.Dr.Berna Dengiz Sistemin Performans Ölçütleri
Sunum transkripti:

İş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

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 İş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 Girdi/Çıktı İşlemci Girdi/Çıktı İşlemci Girdi/Çıktı

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

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.

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

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

Ç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.

Çevrimsel Sıralı Kuantum = 20 ms Proses P1 P2 P3 P4 İşlemci zamanı (ms) 53 17 68 24 P1 P2 P3 P4 P1 P3 P4 P1 P3 P3 Kuantum = 20 ms 20 37 57 77 97 117 121 134 154 162 Proseslerin bekleme zamanı = Bitme zamanı – Belleğe konma zamanı – İşlemci zamanı P1=81, P2=20, P3=94, P4=97 Ortalama bekleme zamanı: (81+20+94+97)/4 = 73 ms

Çevrimsel Sıralı Kuantum = 10 ms Proses P1 P2 P3 P4 İşlemci zamanı (ms) 53 17 68 24 P1 P2 P3 P4 P1 P2 P3 P4 P1 P3 P4 P1 P3 P1 P3 P1 P3 P3 Kuantum = 10 ms 10 20 30 40 50 57 67 77 87 97 111 131 144 162 101 121 141 154 Proseslerin bekleme zamanı = Bitme zamanı – Belleğe konma zamanı – İşlemci zamanı P1=91, P2=40, P3=94, P4=77 Ortalama bekleme zamanı: (91+40+94+77)/4 = 75.5 ms

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

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

Ö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) Öncelik=0 CPU Öncelik=1

Ç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 CPU Toplu yürütüm sistemleri Öğrenci prosesleri

Ç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

Örnek Üç kuyruk Çizelgeleme Q0: FCFS + kuyruk 0 için kuantum 8 ms 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.