gorev_yonetimi.pps

advertisement
Görev Yönetimi
Bilgisayar sistemlerinin verimli kullanımı, ana işlem
birimi (CPU), ana bellek ve giriş/çıkış birimleri gibi
kaynakların, programlar arasında paylaşılmasını
gerektirir.
Bir bilgisayar sisteminde paylaşılan kaynaklar
arasında en önemli kaynak ana işlem birimi (CPU)
dur.
GÖREV bir programın işletimi sırasında aldığı
addır.
Her program için en az bir görev tanımlanır.
Ana işlem biriminin yönetimine (CPU), Görev
Yönetimi de denir
1
Görev Yönetimi
CPU’nun bir programın işletimini, devam etmek üzere
bırakıp diğer bir programın işletimine geçmesi
anahtarlanma olarak adlandırılır.
Programların hangi sıra ve kurallar çerçevesinde
anahtarlanacağını görev yönetimi düzenler.
Program durgun komut satırlarıdır. Görev ise bu
komut satırlarının işletimidir.
Programların, ana belleğe yüklenebilmeleri,
Giriş/çıkış birimlerinden okuma-yazma yapabilmeleri,
Ek bellek alanlarını elde edebilmeleri,
Görevlerin ana işlem birimine anahtarlanarak çalıştırılmaları
sonucu gerçekleşebilir.
2
Görev Yönetimi
Ana işlem biriminin, paralel
işletimi sağlamak üzere bir
işletimi bırakıp diğer bir
işletime geçmesi belirli
önlemler alınmadan
yapılamaz.
işletimin yarım bırakıldığı
andaki durum bilgilerinin
saklanması gerekir.
Bu nedenle, her görev için
işletim sistemi tarafından
bir veri yapısı tutulur.
Bu yapı, görev denetim
öbeği, görev iskeleti gibi
adlarla anılır.
3
Görev Durum Çizeneği
Bir program, işletimi sonlanana değin
değişik işletim evrelerinden geçer.
Sunuş
İşlem çalışmaya alınıyor
Bitiş
Çalışır
Hazır
İşlem kesiliyor
Bekler
4
(1) İşler, sisteme çalıştırılmak üzere
sunulduklarında, iskeletleri çatılarak görev
yada görevlere dönüştürülürler. Tanımları
yapılan bu görevler hazır görev sınıfına girerler
(2) Hazır görevlerden biri, bazı kıstaslara
dayanılarak, ana işlem birimine anahtarlanır ve
çalışır göreve dönüşür.
5
(3) Çalışmakta olan bir görev değişik
nedenlerle bu özelliğini yitirebilir. İşlem tümüyle
sonlanmadan işletimine devam edemeyeceğinden
bekler görev durumuna geçer ve ana işlem
birimini bırakır.
(4) Çalışmakta olan bir görev, işletiminin
bitmesi durumunda ana işlem biriminin yanı sıra
genelde sistem içindeki tanımını ve varlığını da
yitirir.
6
(5) Görevler ana işlem birimini kendilerinden
kaynaklanmayan nedenlerle de bırakmak zorunda
kalabilirler.
(6) Giriş/çıkış istemi, zaman uyumlama gibi
nedenlerle bekler duruma geçen görevler,
istemin yerine gelmesi halinde yeniden çalışmaya
hazır görev durumuna dönerler
7
KISA DÖNEMLİ PLANLAMA
Hazır görev durumundan çalışır duruma
geçişler hazır görevler kuyruğundan
merkezi işlem birimine anahtarlanma
işlemleri görev yönetimince kısa dönemli
planlama olarak ele alınır.
Hazır görevler kuyruğunda bir görevin
eksilmesi, yada kuyruğa yeni bir görevin
eklenmesi, durumlarında GÖREV
YÖNETİCİ ana işlem birine
anahtarlanarak kendisinden sonra
işletilecek görevin belirlenmesini sağlar.
8
ORTA DÖNEMLİ PLANLAMA
Çalışan bir görevin bitmesi sonucu ana
bellekte yer açılması yada hazır
görevler kuyruğunda bekleyen görev
sayısının azalması durumlarında;
Orta dönemli planlama kesimi, dönem
dönem işletime girerek bellekte yer
bekler kuyruğundan hazır görevler
kuyruğuna girdi sağlayan bir kesim
olarak düşünülür
9
UZUN DÖNEMLİ PLANLAMA
Sisteme toplu işlem düzeninde sunulan
işler, toplu işlem kuyruğuna bağlanırlar. Bu
kuyrukta bekleyen işlerin hazır görevler
kuyruğuna bağlanmaları İŞ YÖNETİMİ
kapsamında ele alınır.
Bazen işler, toplu işlemin yanı sıra
etkileşimli işlem bağlamında da sunulurlar.
Ancak etkileşimli işlem düzeninde sunulan
işler beklemeksizin doğrudan görevlere
dönüştürülüp, hazır görevler kuyruğuna
eklenirler.
10
11
Yönetim Algoritmaları
Sistem başarısını gözeten görev yönetimi
Ana işlem biriminin verimli kullanımı
Birim sürede sonlandırılan iş sayısı
Ortalama iş tamamlanma süresi
Bekleme süresi
Yanıt süresi
Gibi kıstasları gözeten algoritmalar kullanır.
12
Yönetim Algoritmaları
İlk gelen önce: Görevlerin eş öncelikli olarak ele
alındığı ve görevlerin, hazır görevler kuyruğuna
geliş sırasında işletildiği, çok yalın bir yönetim
algoritmasıdır.
En kısa işletim süresi kalan önce:En kısa işletim
süresi kalan göreve öncelik sağlanarak bir an önce
sistemden çıkması ve bu yolla en kısa ortalama
bekleme süresinin elde edilmesi amaçlanır. Diğer
algoritmalar içinde, kuramsal olarak, ortalama
bekleme süresi yönünden en iyi sonucu veren
algoritmadır. Ancak kalan işletim süresi
ölçülebilen bir değer değildir.
13
Yönetim Algoritmaları
Öncelik tabanlı: Her görevin bir önceliği bulunur.
Bu öncelik değeri görev iskeleti içinde, öncelik alt
alanında tutulur. çok yüklü sistemlerde, yüksek
öncelikli işlerin, sistemde hiç eksik olmaması
yüzünden düşük öncelikli işlerin işletimleri, aşırı
boyutlarda gecikebilir.
Zaman dilimli: Hazır görevler kuyruğunda bekleyen
görevler, eşit uzunluktaki zaman dilimleri içinde
ana işlem birimine, sırayla anahtarlanır.
Çok kuyruklu: Değişik yönetim algoritmalarının
olumlu yanlarını bir araya getirmek ve sakıncalarını
azaltmak üzere kullanılır.
14
Görevler Arası KİLİTLENME
Kilitlenme, bekleme durumundaki
görevlerin, hazır görev durumuna
geçebilmek için bir diğerinin sağlayacağı
koşulu karşılıklı beklemelerine verilen
addır.
Görevlerin her birinin bekler olması ve
çalışabilmek için bir diğerinin işletilmesinin
gerekmesi durumu, görevlerin hiçbir zaman
gerçekleşmeyecek bir koşulu beklemeleri
sonucunu doğurur.
15
Görevler arası kilitlenmeyi ortaya
çıkaran koşullar
1. Karşılıklı Dışlama: Bir kaynağın aynı anda yalnız bir
görev tarafından kullanılabilmesi
2. İstem üzerine kaynak atama: Görevin gereksediği
kaynakları, teker teker, işletim aşamasında elde
etmesi.
3. Atanan kaynakların, görevler serbest bırakmadıkça
geri alınamaması.
4. Döngüsel Bekleme: Bir görevin elinde tuttuğu
kaynaklardan bir yada daha çoğunun, diğer görevlerce
de istenmesi.
Bu koşullardan dördünün de aynı anda bulunduğu
durumlarda kilitlenme oluşur. Kilitlenmeleri önlemek
üzere, bu koşullardan en az birinin oluşmasını
engellemek yeterlidir.
16
Kilitlenmelerden Korunma
Kilitlenmeler sistem kaynaklarının işlemler
arasında paylaşım zorunluluğundan doğar.
Kilitlenmelerin önlenmesi için:
Birlikte çalışan işlemler programlanırken tüm
işlemler birlikte düşünülerek kaynak
atamalarını buna göre yapılmalıdır.
İşletim sisteminde kilitlenmelerden koruma ve
kilitlenmeleri çözme algoritmalarının olması
gerekir
17
Download