İşletim Sistemlerine Giriş



Benzer belgeler
İşlem Yönetimi (Process Management)

& WIN 32 DEN BAKIŞ AÇISI İSMAİL YALÇIN

Bilgisayar İşletim Sistemleri BLG 312

İŞ SIRALAMA. İş Sıralamanın Amaçları. İş Sıralama Türleri - 1. İş Sıralama. İş Sıralama Türleri - 2

İşletim Sistemlerine Giriş

İŞ SIRALAMA. İş Sıralama 6. İşletim Sistemleri

İşletim Sistemlerine Giriş

Proses. Prosesler 2. İşletim Sistemleri

PROSESLER. Proses. Proses

Bölüm 5: İşlemci Zamanlaması. Operating System Concepts with Java 8 th Edition

HAFTA 09: CPU Planlama (MİB İş Sıralama-Scheduling)

İşletim Sistemlerinde Çok Prosesli Çalışma

İşletim Sistemlerine Giriş

İşletim Sistemlerine Giriş

İşletim Sistemleri. Hazırlayan: M. Ali Akcayol Gazi Üniversitesi Bilgisayar Mühendisliği Bölümü

Bilgisayar İşletim Sistemleri BLG 312

Bilgisayar İşletim Sistemleri BLG 312

YZM 3102 İşletim Sistemleri

İşletim Sistemleri. İşletim Sistemleri. Dr. Binnur Kurt Omega Eğitim ve Danışmanlık

İŞLETİM SİSTEMLERİ. (Operating Systems)

Giriş. geleneksel işletim sistemlerinde her prosesin. aynı adres uzayında birden fazla akış kontrolü gerekebilir

İşletim Sistemlerine Giriş

İŞLETİM SİSTEMİ KATMANLARI (Çekirdek, Kabuk ve diğer temel kavramlar) Öğr.Gör. Dr. Dr. Şirin KARADENİZ

BM-311 Bilgisayar Mimarisi. Hazırlayan: M.Ali Akcayol Gazi Üniversitesi Bilgisayar Mühendisliği Bölümü

İşletim Sistemlerine Giriş

İşletim Sistemlerine Giriş

BM-311 Bilgisayar Mimarisi

YZM 3102 İşletim Sistemleri

Teknosem ANASAYFA. Program komut butonları ve program zaman parametrelerinin bulunduğu sayfadır.

İŞLETİM SİSTEMİ KATMANLARI (Çekirdek, kabuk ve diğer temel kavramlar) Bir işletim sisteminin yazılım tasarımında ele alınması gereken iki önemli konu

Yrd. Doç. Dr. A. Burak İNNER

Disk Çizelgeleme. BTEP205 - İşletim Sistemleri

İŞLETİM SİSTEMLERİNE GİRİŞ. Modern bilgisayar çalışma prensipleri, Von Neumann ın 1945 de geliştirdiği

REALTIME LINUX. 3. Linux ve Özgür Yazılım Şenliği Murat Demirten, 16 Mayıs 2004, Ankara

Bölüm 7: Kilitlenme (Deadlocks)

İŞLETİM SİSTEMLERİNE GİRİŞ - 2. Sistem, sistem kaynaklarını belli bir hiyerarşi içinde kullanıcının hizmetine

Giriş. İplik Modeli. geleneksel işletim sistemlerinde her prosesin özel adres uzayı ve tek akış kontrolü var.

Görsel Programlama DERS 11. Görsel Programlama - Ders11/ 1

Çok işlemli (multitasking) sistemlerde işlemler (process) kısıtlı kaynakları kullanmak zorundadırlar.

Akış Kontrol Mekanizmaları

Algoritmalar ve Programlama. Algoritma

OPC Data Access (DA) Temelleri

İşletim Sistemlerine Giriş

5S4 NESNELER KONUŞUYOR

İşletim Sistemlerine Giriş 2. Kaynakların Paylaşımı. Öğr.Gör. Dr. Şirin KARADENİZ

CHAPTER 3. ZAMANLANMIŞ GÖREVLER (Automated Tasks)

En yaygın kullanılan işletim sistemlerine örnek olarak; Microsoft Windows, Mac OS X, Linux, Android ve ios örnek verilebilir.

İŞLETİM SİSTEMLERİ DÖNEMİÇİ SINAVI

Bilgisayar İşletim Sistemleri BLG 312

Algoritmalar. Çizge Algoritmaları. Bahar 2017 Doç. Dr. Suat Özdemir 1

Linux Dosya ve Dizin Yapısı

KURULUM VE LİSANS KURULUM KILAVUZU

BİLİŞİM TEKNOLOJİLERİ 6. SINIF DERS NOTLARI 2

DESTEK DOKÜMANI. Masaüstü için rapor kısayolu. Ürün : GO Bölüm : Görev Zamanlayıcı

İşletim Sistemlerine Genel Bakış

DATER-V5.1 REVSAY/REVKON DATA TERMİMAL KULLANMA KILAVUZU

Kuyruk Sistemlerinin Simülasyonu

Bölüm 3: İşlemler Operating System Concepts with Java 8th Edition 3.1 Silberschatz, Galvin and Gagne 2009

Bölüm 3: İşlemler Operating System Concepts with Java 8th Edition 3.1 Silberschatz, Galvin and Gagne 2009

SIMAN KULLANIM KILAVUZU

ÇOK ÇEKİRDEKLİ İŞLEMCİLER VE PARALEL YAZILIM GELİŞTİRME OLANAKLARI HAKKINDA BİR İNCELEME

VIESMANN VITOCLIMA-S. Kullanma kılavuzu VITOCLIMA 300-S. Grup Kontrol VITOCLIMA VIESMANN 1

Ünite-3 Bilgisayar Yazılımı.

Problem Yaklaşım Temelleri, Algoritma ve Akış Şeması

Güz Yarıyılı Balıkesir Üniversitesi, Endüstri Mühendisliği Bölümü EMM4129 ÇİZELGELEME

İşletim Sistemlerine Giriş

BMT 101 Algoritma ve Programlama I 11. Hafta. Yük. Müh. Köksal Gündoğdu 1

AC FAZ YÜKSEK GERİLİM KORUMA CİHAZI KULLANIM KILAVUZU

Deney 4. Gerçek Zamanlı Kesme Uygulamaları

C) 19 inçlik CRT ile LCD monitörün görünebilir alanı farklıdır. D) Dijital sinyali, analog sinyale çevirmek için DAC kullanılır.

10. Bölüm Harici Çevre Birimleri Programlama

İşletim sistemlerinde, gerçekleştirilen işlemlerin geçici olarak saklandığı merkeze ana bellek (RAM) denir.

Linux Sistemlerde Süreç Zamanlama Algoritmaları (Scheduler Algorithms) ÜMİT İŞGÜDER

İşletim Sistemlerine Giriş

A.Ü. GAMA MYO. Elektrik ve Enerji Bölümü ALGORİTMA VE PROGRAMLAMA 1.HAFTA

İşletim Sistemleri (Operating Systems)

BÖLÜM 3 3. İŞLETİM SİSTEMİNİN BAŞLICA ÖZELLİKLERİ

Ölümcül Kilitlenme. Ölümcül Kilitlenme Örneği - 1

C# Programlama Dili. İlk programımız Tür dönüşümü Yorum ekleme Operatörler

Ölümcül Kilitlenme. Ölümcül Kilitlenme 5. İşletim Sistemleri

Bölüm 13: Giriş-Çıkış (I/O) Sistemleri

E-Mükellef Kontrol Programı Kullanım Kılavuzu

Kullanıcı Klavuzu

NESNEYE YÖNELİK PROGRAMLAMA

Prensipler Çoklu ortam uygulamalarının sınıflandırılması Uygulamaların ihtiyaç duyacağı ağ servislerini belirlemek Uygulamaların gerçek zamanlı

Bilgi ve İletişim Teknolojileri (JFM 102) Ders 10. LINUX OS (Programlama) BİLGİ & İLETİŞİM TEKNOLOJİLERİ GENEL BAKIŞ

DERS 10 İŞLETİM SİSTEMİ ÇALIŞMA PRENSİBLERİ VE HATA MESAJLARI

Merkezi İşlem Birimi (CPU)

Bilgisayar Programcılığı

İşletim Sistemleri. Dr. Binnur Kurt Omega Eğitim ve Danışmanlık İşletim Sistemleri

Microsoft Excel Uygulaması 2

BLGM 343 DENEY 8 * TCP İLE VERİ İLETİŞİMİ

İŞLETİM SİSTEMİNİN TEMELLERİ VE POST (İLK AÇILIŞ)

Bilgisayar Mühendisliğine Giriş. Yrd.Doç.Dr.Hacer KARACAN

BİLİŞİM TEKNOLOJİLERİ BİL-109 ÖĞRETİM GÖREVLİSİ SEMİH ÇALIŞKAN

Küme Bilgisayarlarda PBS Kuyruk Sistemi

Algoritmalar, Akış Şemaları ve O() Karmaşıklık Notasyonu

İŞLETİM SİSTEMLERİNE GİRİŞ. Modern bilgisayar çalışma prensipleri, Von Neumann ın 1945 de geliştirdiği

Background (Arka Plan)

Transkript:

İşletim Sistemlerine Giriş Zamanlama (Scheduling) İşletim Sistemlerine Giriş - Ders02 1

Zamanlama (Scheduling) Eğer bir bilgisayar çok programlı(multi programming) ise, sıklıkla birçok süreç aynı anda işlemciyi kullanmak için birbirleri ile yarışırlar. Bu durum aynı anda birden fazla sürecin hazır(ready) durumuna gerçekleşir. İşletim sisteminde, birden fazla hazır durumda bulunan bu süreçlerden hangisinin işlemciyi kullanacağına karar veren mekanizmaya zamanlayıcı(scheduler) denilir ve kullanılan algoritmaya da zamanlama algoritması (scheduling algorithm) denilir. İşletim Sistemlerine Giriş - Ders02 2

Zamanlama (Scheduling) Zamanlayıcı işlemciyi çok iyi kullanmalıdır ve işlemciden maksimum performans alınmasını sağlamalıdır. Süreçler arasında geçiş işlemi son derece pahalı bir işlemdir. *Yeni sürece geçiş işleminde, kullanıcı kipinden çekirdek kipine geçiş gerçekleşir. *Diğer sürece atlanmadan önce, mevcut sürecin tüm bilgisi saklanmalıdır. *Yeni sürecin bellek haritası bellek yönetim birimi (MMU) tarafından yüklenmelidir. İşletim Sistemlerine Giriş - Ders02 3

Zamanlama (Scheduling) *Sonunda yeni süreç çalıştırılmalıdır. *Ayrıca süreçler arası geçişte tüm önbellek(cache) verisi geçersiz hale gelir. *İşlemci tarafından yapılan her istek bir kaçırma(miss) olur ve bellek ten önbelleğe yüklenme gerektirir. İşletim Sistemlerine Giriş - Ders02 4

Süreçlerin Davranışları Neredeyse tüm süreçler disk(i/o) işlemleri ile doludur. İşlemci bir süre çalışır, sonra bir dosya okumak ya da yazmak için bir sistem çağrısı yapılır. a) Uzun süreli işlemci kullanımı I/O için bekleme b) Kısa süreli işlemci kullanımı a) daki duruma, işlem istekli(compute-bound) b) deki duruma, girdi/çıktı istekli(i/o-cound) denilir. İşlemciler hızlandıkça, süreçler daha fazla I/O istekli hale gelirler. Zamanlamada temel fikir, I/O istekli süreçlere hemen bir şanş verilmeli ve kısa sürede I/O isteklerini yapmalarıdır. İşletim Sistemlerine Giriş - Ders02 5

Ne Zaman Yapılmalıdır? Zamanlamanın yapılmasına ihtiyaç duyulan zamanlar: 1. Yeni bir süreç oluşturulduğunda, ana sürecin ya da çocuk sürecin çalıştırılmasının kararı verilmelidir. Bu iki süreçte hazır durumuna gelir. 2.Bir sürecin çalışması bittiğinde ve işlemciyi kullanmayı bıraktığında karar verilmelidir. 3.Bir süreç I/O işlemi için bloklandığında başka bir süreç seçilmelidir. 4.Bir I/O kesmesi geldiğinde bir zamanlama kararı yapılmalıdır. Eğer kesme bir I/O cihazından geliyorsa, bu I/O cihazından gelecek olan veriyi bekleyen süreç çalıştırılmalıdır. İşletim Sistemlerine Giriş - Ders02 6

Ne Zaman Yapılmalıdır? Bilgisayarlarda genelde bir donanım saati(clock) bulunur. Bu saat periyodik olarak işlemciye kesmeler gönderir. Bu kesmeler ile işlemci zamanlama işlemlerini gerçekleştirir. Zamanlama işlemi her saat kesmesinde ya da belirli sayıda olduğunda gerçekleştirilmelidir. Zamanlama algoritmaları, saat kesmelerini nasıl kullandıklarına göre ikiye ayrılır; a)kesintisiz (non-preemptive) b)kesintili (preemptive) İşletim Sistemlerine Giriş - Ders02 7

Ne Zaman Yapılmalıdır? a)kesintisiz (non-preemptive): Bir süreç çalışması için seçilir. Kendi kodunda bulunan bir I/O isteği ile bloklanıncaya kadar ya da kendi isteği ile işlemciden çıkıncaya kadar çalışır. b)kesintili (preemptive): Bir süreç seçilir ve sabit, belirli bir maksimum süreye kadar çalıştırılır. Bu süre bittiğinde, süreç hala işlemcide çalışıyorsa askıya alınır ve zamanlayıcı(scheduler) başka bir süreci çalışması için seçer. İşletim Sistemlerine Giriş - Ders02 8

Algoritmalarının Kategorileri 1. Toplu İş (batch): Kullanıcılar acil olarak cevap beklemedikleri için uzun süreli kesintili ya da kesintisiz zamanlama algoritmaları kullanılabilir. Süreç değişimi az olduğu için performans artar. 2. Etkileşimli sistemlerde: Kullanıcının sürekli veri alıp verdiği sistemlerdir. Kesintili zamanlama zorunludur. 3. Gerçek zaman sistemlerinde: Belirli bir amaç için kullanılan programlar olduğu için, sürelerin iyi ayarlandığı kesintili zamanlama algoritmaları kullanılmalıdır. İşletim Sistemlerine Giriş - Ders02 9

Algoritmalarının Amaçları Tüm sistemlerde; * Adil olma: Her süreç işlemciyi adil kullanmalıdır. * Politika Zorlama: Belirtilen politika kullanılmalıdır. * Denge: Sistein tüm parçaları meşgul olmalıdır. Toplu İş Sistemlerinde; *Üretilen İş: Saat başına üretilen iş maksimum olmalıdır. *Dönüş Süresi:Sürecin sunumu ve sonlanması arasındaki sürenin minumum olmasıdır. *İşlemci Kullanımı: İşlemci her zaman meşgul olmalıdır. İşletim Sistemlerine Giriş - Ders02 10

Algoritmalarının Amaçları Etkileşimli Sistemlerde; *Cevap Süresi: İsteklere hızlı şekilde cevap verilmelidir. *Oratılı Olma: Kullanıcının beklentilerini karşılamalıdır. Gerçek Zaman Sistemleri; *Son teslim süresine riayet etme: Veri kaybından sakınmalıdır. *Tahmin Edilebilirlik:Çoklu ortam sistemlerinde nitelik bozulmasından sakınmalıdır. İşletim Sistemlerine Giriş - Ders02 11

Toplu İş(Batch) Sistemlerde 1. İlk gelene ilk servis yapılır (First come first served) Kesintisiz ve en kolay zamanlama algoritmasıdır. İlk gelen süreç ilk hizmeti alır. Bu algoritmada süreçler istek sıralarına göre işlemcide çalışırlar. Basitçe hazır durumdaki süreçleri tutan bir kuyruk(queue) vardır. Kuyruktaki süreçler sırayla çalıştırılırlar. Çalışan süreç bloklanınca bekler. Bloklanmış süreç tekrar hazır durumuna geçtiğinde yeni bir süreç gibi davranılarak kuyruğun sonuna eklenir. İşletim Sistemlerine Giriş - Ders02 12

Toplu İş(Batch) Sistemlerde 2. En Kısa Süreli İş İlk (Shortest Job First) Kesintisiz çalışan algoritmadır. Süreçlerin toplam çalışma sürelerinin belirli olduğu düşünülür. Zamanlayıcı, kuyrukta bulunan süreçlerden en kısa sürede tamamlanacak olan süreci seçer. Asıl sırasında çalıştırırsak; A :8 B :12 C :16 D :20 birim süre sonra işlerini bitirirler. Ortalama süre 14 birimdir. En kısa süreli süreç çalışırsa; B :4 C :8 D :12 A :20 birim süre sonra işlerini bitirirler. Ortalama süre 11 birimdir. 8 4 4 4 A B C D 4 4 4 8 B C D İşletim Sistemlerine Giriş - Ders02 13 A

Toplu İş(Batch) Sistemlerde 3. Çalışma süresi en az kalanı çalıştırma (Shortest Remaining Time Next) En kısa süreli iş algoritmasının, bir kesintili uyarlamasıdır. Kalan çalışma süresi en az olan seçilir. Yeni bir iş geldiğinde, mevcut işin kalan süresi ile yeni sürecin kalan süresi karşılaştırılır; küçük olan tercih edilir. İşletim Sistemlerine Giriş - Ders02 14

1. Dönüşümlü Zamanlama (Round-Robin Scheduling) Her sürece, çalışabileceği maksimum süre atanır. Sürece verilen bu zaman aralığına quantum denilir. Eğer süreç, quantumunun sonunda hala çalışıyorsa askıya alınır ve başka bir sürece geçilir. Sürecin quantumu bitmeden süreç bloklanırsa ya da çalışması sonlanırsa başka bir sürece geçilir. Bir listede çalışabilir süreçler tutulur. Süreç quantumunu tükettiğinde listenin sonuna eklenir. İşletim Sistemlerine Giriş - Ders02 15

1. Dönüşümlü Zamanlama (Round-Robin Scheduling) Dönüşümlü algoritmada en önemli konu quantumun uzunluğudur. Bir süreçten başka bir sürece geçiş işlemide sistemde belirli bir süre almaktadır. Örneğin;Süreçler arası değişim işleminin 1msaniye aldığını varsayalım. Quantum miktarını 4msaniye seçilirse, süreç değişimleride 1msec alır. İşlemcinin %20 si yönetimsel ek yük işlemleri için harcanır. İşletim Sistemlerine Giriş - Ders02 16

1. Dönüşümlü Zamanlama (Round-Robin Scheduling) B F D G A Süreç Değişimi F D G A B Şu anki süreç Sonraki süreç Şu anki süreç Sonraki süreç İşlemci etkinliğini arttırmak için, quantum miktarını 100msaniye seçelim. Yönetimsel ek yük %1 olacaktır. Örneğin 10 kullanıcı bu sistemde aynı anda enter tuşuna basarak aynı işi yapmak istesinler. Tüm kullanıcılar 100msaniye bekler. En sonda bulunan kullanıcı cevabı alabilmek için yaklaşık olarak 1 saniye bekler. Quantumu çok kısa tutmak işlemci etkinliğini azaltır, çok uzun tutmak isteklere verilen cevabı azaltır. Ortalamada 20-50 m saniye tercih edilir. İşletim Sistemlerine Giriş - Ders02 17

2. Öncelik Zamanlama (Priority Scheduling) Dönüşümlü zamanlama algoritması dolaylı olarak tüm süreçlerin eşit öncelikli olduğunu farzeder. Süreçler üzerindeki dış etkilerle süreçlerin farklı önceliklerde olması gerekir. Bu durumda öncelik zamanlama algoritması kullanılır. Her sürece bir öncelik(priority) değeri atanır ve çalışabilir süreçlerden yüksek öncelikli olanların çalışmasına izin verilir. Örneğin, bir video filmi gösteren süreç ile arka planda email atan süreç aynı öncelikte olmaz. İşletim Sistemlerine Giriş - Ders02 18

2. Öncelik Zamanlama (Priority Scheduling) Yüksek öncelikli süreçlerin sonsuza kadar çalışmasını engellemek için, her saat sinyalinde sürecin önceliği düşürülür. Bu işlem, sürecin önceliğini en yakın rakibinin önceliğine getirdiğinde süreçler arasında geçiş işlemi yapılır. Alternatif olarak her sürece en yüksek öncelik değeri verilir. Quantumu bittiğinde önceliği azaltılır ve kendinden sonraki sürecin çalışmasına izin verilir. İşletim Sistemlerine Giriş - Ders02 19

2. Öncelik Zamanlama (Priority Scheduling) Öncelik değerleri değişken ya da durağan olabilir. Örneğin, bir askeri sistemde; generallere 100, albaylara 90, bin başılara 80,... atanabilir. Sistem tarafından belirli sistem hedeflerinin sağlanması amacıyla süreçlerin öncelikleri değiştirilebilir. Örneğin, bazı süreçler yüksek şekilde I/O bağımlıysa ve I/O için bekliyorsa, bu süreç işlemcide çalışmak istediğinde hemen işlemcide çalışmalıdır. Yüksek I/O bağımlı süreçlerin işlemcide fazla çalıştırılması gereksiz bellek kullanmalarını sağlar. İşletim Sistemlerine Giriş - Ders02 20

2. Öncelik Zamanlama (Priority Scheduling) I/O bağımlı süreçlere basitçe 1/f öncelik değeri atanır. f, bir sürecin kullandığı son quantum kesiridir. Bir süreç kendisine verilen 50 m saniye quantumunun 1m saniyesini kullanmışsa, önceliği 50 dir. Bloklanmadan önce 25 m saniye çalışmışsa önceliği 2 dir. Tüm quantumunu kullanmışsa önceliği 1 dir. İşletim Sistemlerine Giriş - Ders02 21

2. Öncelik Zamanlama (Priority Scheduling) Yaygın olarak, süreçleri gruplayarak gruba öncelik sınıfı atanır. Yüksek Öncelikli Öncelik 4 Öncelik 3 Öncelik 2 Düşük Öncelikli Öncelik 1 Yukarıdan aşağıya doğru dönüşümlü olarak çalıştırılırlar. Yukarıdaki grubun çalışması bitmeden aşağıdakiler çalışamaz. İşletim Sistemlerine Giriş - Ders02 22

2. Öncelik Zamanlama (Priority Scheduling) Çoklu Kuyruklar (Multiple Queues) Öncelik kuyruklarında yüksek öncelikli sınıfa 1 quantum, onun altındakine 2 quantum, onun altındakine 4 quantum şeklinde zaman aralığı atanır. Bir süreç kendisine atanan quantumun hepsini kullandıktan sonra bir alttaki kuyruğa aktarılır. İşletim Sistemlerine Giriş - Ders02 23

3. En Kısa Süreç Sonraki (Shortest Process Next) Etkileşimli sistemler genelde şu mantık ile çalışırlar, komut için bekle, komutu yürüt,... Her komutu ayrı bir iş gibi görürsek, en kısa olanı ilk önce çalıştırırsak toplam cevap süresini minumumlaştırabiliriz. Problem mevcut süreçlerden hangisi en kısa olandır? İşletim Sistemlerine Giriş - Ders02 24

3. En Kısa Süreç Sonraki (Shortest Process Next) Kullanılan yaklaşımda sürecin son davranışından çalışma süresinin tahmin edilmesidir. Tahmin edilen sürelerden en kısa süreye sahip olan süreç seçilir ve çalıştırılır. Varsayalım ki, ilk tahmin edilen süre T0 olsun. Bir sonraki çalışma süresi T1 olsun. Tahminimizi ağırlıklı toplamları kullanarak güncelleyebiliriz. T2=aT0 + (1-a)T1 a değerinin seçimi ile sürecin eski çalışma sürelerini hatırlamasını ya da unutmasını sağlayabiliriz. İşletim Sistemlerine Giriş - Ders02 25

3. En Kısa Süreç Sonraki (Shortest Process Next) Örneğin a=1/2 için; T0, T0/2+T1/2, T0/4+T1/4+T2/2, T0/8+T1/8+T2/4+T3/2,... 3. çalışmadan sonra T0 ın ağırlığı 1/8 e düşer. Serideki bir sonraki değerin ağırlıklı ortalama yardımıyla önceki ve şu anki değer kullanılarak hesaplanması yöntemine yaşlandırma (aging) denilir. İşletim Sistemlerine Giriş - Ders02 26

4. Garantili Zamanlama (Quaranteed Scheduling) Kullanıcılara belirli sözler verme temelinde çalışır. Örneğin, sistemde n kullanıcı varsa, her biri işlemcinin 1/n nini kullanır. Sistemde her sürecin çalışma süreleri ayrıntılı olarak izlenir. Her seferinde en düşük süreli çalışmış olan süreç en yakın rakibinin süresine ulaşıncaya kadar çalıştırılır. İşletim Sistemlerine Giriş - Ders02 27

5. Piyango Zamanlama (Lottery Scheduling) Süreçlere farklı sistem kaynakları için piyango bileti verilir.(örneğin; işlemci zamanı için). Bir zamanlama kararı verileceği zaman rastgele bir piyango bileti seçilir ve bu bilete sahip olan süreç çalıştırılır. Bir sürecin birden fazla piyango bileti olabilir. Örneğin, bir süreç 100 biletten 20 tanesine sahipse, %20 çalışma şansı bulunmaktadır. Süreçler arasında istenilirse biletlerin paylaşımı olabilir. İşletim Sistemlerine Giriş - Ders02 28

5. Adil Paylaşım Zamanlama (Fair-Share Scheduling) Şu ana kadar bakılan algoritmalarda, süreci çalıştıranı yani sahibini düşünmedik. Birinci kullanıcı 9 süreç çalıştırmış, ikinci kullanıcı 1 süreç çalıştırmış olsun. Birinci kullanıcı işlemcinin %90 nını kullanırken, ikinci kullanıcı %10 nunu kullanabilir. Bu modelde her kullanıcı işlemcinin belirli bir yüzdesini kullanabilir. Eğer sistemde iki kullanıcı varsa, her biri işlemcinin %50 sini kullanmalıdır. Algoritma bu kullanım yüzdesini sağlayacak şekilde süreçleri seçer. İşletim Sistemlerine Giriş - Ders02 29

5. Adil Paylaşım Zamanlama (Fair-Share Scheduling) Örneğin, sistemde iki kullanıcı çalışsın. Birinci kullanıcının A,B,C,D süreçleri; ikinci kullanıcının da E süreci bulunsun. Eğer dönüşümlü zamanlama kullanılırsa süreçlerin çalışma sırası şu şekilde olabilir; AEBECEDEAEBECEDEAEBECEDE... İşletim Sistemlerine Giriş - Ders02 30

İşletim Sistemlerine Giriş Zamanlama (Scheduling) İşletim Sistemlerine Giriş - Ders02 31