1-) İŞLETİM SİSTEMLERİ - Process Yönetimi
Görevin çalışması, ardışık işlemler süreci şeklinde olup, her bir zaman diliminde görevin yalnız bir komutu çalışabilir. Process yalnız program kodunu değil, aynı zamanda program sayacının (PC) değeri ile ifade edilen girişimleri, işlemci kayıtçılarının içeriklerini, kesme verilerini (alt program parametreleri, geri dönüş adresleri, geçici değişkenleri) içeren yığın, genel değişkenleri içeren veri bölümünden oluşur dahil edilir.
İki görev aynı programda birleşebilir, ancak farklı çalışma süreçlerini içerirler
Görev Durumu : Görev, yürütülmekte olduğundan durumu değişken yapı sergiler: Çalışma veya Çalışmama durumu.
• Uygulamadan çıkma
• Normal tamamlanmış
• Hafıza kullanıma uygun olmaması
• Koruma hatası, Örn: Sadece okunabilen bir dosyaya yazma
• Aritmetik hata
• Çalışma zamanı aşımı: Bir görevin veya bir iş parçacığının belirlenen maksimum süreden daha uzun süre beklemesi
• I/O başarısızlığı
• Geçersiz komut: Bir verinin yürütüm için ele alınması
• İmtiyazlı komut
• Üst görevlerin alt görevleri sonlandırması
Herhangi bir anda sadece bir görev çalışma durumundadır, ama birden fazla görev hazır ve bekleme durumunda olabilir.
Görevin Askıya Alınması: Görevin askıya alınma nedenleri;
1.1. Process Denetimi
Her bir görevin çalışması için gereken bilgiler görev denetim bloğunda (PCB=Process Control Blok) bloğunda gösterilir. Görev denetim bloğundaki bilgiler, program sayacı, ana işlem birimi yazmaçları v.s bulunur. Her bir görevle ilgili bilgiler:
Program sayacı: Görev için sonraki çalıştırılacak program kodunun adresi yazılır.
AİB yazmaçları: Bilgisayarların mimarilerine göre farklılık gösterir. Bu yazmaçlarda görevin durumuna ait bilgiler saklanır. Bu bilgilerin saklanmasının önemi, görev kesildikten sonra yeniden çalışmaya başlaması için görev adresinin belli olmasıdır. Örnek; Program sayacı, Yığın.
AIB’nin planlanması bilgileri: Görev önceliklerini, zamanlama parametrelerini içerir.
Bellek yönetimi bilgileri: Taban adreslerini, sayfa ve kesilme adreslerini içerir.
İstatistiksel bilgiler: Ana işlem biriminin kullanım süresi görevlerin çalışması için zaman sınırlamaları, görev numaraları gibi bilgiler içerir.
G/Ç durumu bilgileri: Göreve ayrılan G/Ç aygıtlarının listesi, görev için açılmış kütüklerin listesi gibi G/Ç durumu bilgilerine içerir.
İşletim Sisteminin Kontrol Tabloları : Herhangi bir görevin ve kaynağın mevcut durumu hakkında bilgi edinmek için kullanılır. Tablolar, işletim sistemi yönetiminin her bir bileşeni için oluşturulur.
• Görevlerin ana hafızaya yerleştirilmesi
• Görevlerin ikincil hafızaya yerleştirilmesi
• Paylaştırılan hafıza bölgelerine erişim niteliğini koruma
G/Ç Tabloları
• G/Ç aygıtının kullanımı veya belirli bir görev için ayrılması
• G/Ç işleminin durumu
• G/Ç transferinin, tanımlayıcısı veya kaynağı olarak kullanılan ana hafızadaki yeri tutar.
Kütük Tabloları
• Varolan dosyalar
• İkincil hafızadaki yer
• Mevcut durum
• Görevin konumun bulunduğu yer
• Görevin yönetimi için gerekli nitelikler
a) FCFS (First Come First Served – İlk Gelen Önce) Algoritması
FIFO kuyruğu ile çalıştırılabilir.Görev hazır görevler kuyruğuna sunulduktan sonra, onun görev denetim bloğu (PCB) kuyruğun sonuna ilave edilir. AIB boş olduğu zaman kuyruğun başındaki görev çalışması için AIB ye sunulur ve kuyruktan silinir. Bu algoritmada görevlerin bekleme süresi yüksek olur.
SJF (Shortest Job First – En Kısa İşletim Süresi Olan Önce) Algoritmas
Bu algoritmada CPU boş olduğunda, kalan görevler içinde çalışma süresi en küçük olan görev, çalışması için işlemciye sunulur. Eğer iki görevin kalan süreleri aynı ise o zaman FCFS algoritması uygulanır. Bu algoritmada:
1. Kesilmesiz SJF : Eğer AİB bir göreve tahsis edilmişse, AİB işlem zamanı bitmeyince görev kesilemez.
2. Kesilmeli SJF : Eğer AİB işlem zamanı, şu anda çalışan görevin kalan işlem zamanından küçük olan yeni bir görev sisteme sunulmuşsa, eski görev kesilecek. Bu yönteme, SRTF( Shortest Remaining Time First – En kısa işlem zamanı kalan, birinci) yöntem denir.
Öncelikli Planlama Algoritması
Bu algoritmaya göre her bir göreve öncelik değeri atanır ve görevler öncelik sırasına göre işlemciyi kullanırlar. Aynı öncelikli görevler FCFS algoritması ile çalıştırılırlar.
Döngülü Planlama (Round Robin - RR) Algoritması
Her görev küçük bir AİB zaman dilimini alır. Bu zaman bittiğinde, görev kesilir ve hazır görevler kuyruğunun sonuna eklenir.
GÖREVLER ARASI İLETİŞİM (IPC – Inter Proccess Communication)
Görevlerin kullandıkları sistem kaynakları, kullanım açısından iki gurupta toplanır:
1.Paylaşılabilen kaynaklar : Bir görev tarafından tümüyle kullanılmadan diğer görevler tarafından kullanılabilen kaynaklardır (CPU, RAM, HDD).
2.Paylaşılmayan kaynaklar : Bir görev tarafından tümüyle kullanımı bitince diğer görevler tarafından kullanılabilen kaynaklardır (YAZICI, CD-R). Bu kaynaklara kritik kaynaklar adı da verilmektedir
Görevler arası zaman uyumlamada uyulması gereken önlemler:
1. Karşılıklı dışlanmanın sağlanması: Birlikte çalışan görevlerden en çok biri aynı anda kritik bölüme girmelidir.
2. Karşılıklı tıkanmanın engellenmesi: Aynı anda ortak kaynağa erişmek isteyen en az bir görev sonlu bir süre içinde kritik bölüme girmelidir.
3. Kritik bölümün dışındaki görevler ortak kaynağa erişmek isteyen görevle ri engellemelidir.