🙂 İNSANLARIN EN HAYIRLISI INSANLARA FAYDALI OLANDIR 🙂

Zeynep HABER / İŞLETİM SİSTEMLERİ / Process Yönetimi

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.

  • Sunuş (new): Görev oluşmaktadır. ƒ
  • Çalışma Durumu (running): Görevin bir komutu işlemcide gerçekleştirilmektedir. ƒ
  • Bekleme Durumu (waiting) : Görev herhangi bir olayın oluşmasını beklemektedir. (Örneğin; G/Ç işleminin bitmesi, herhangi bir sinyalin gelmesi).
  • Hazır Olma Durumu (ready) : Görev işlemciye aktarılmak için beklemektedir. Bu duruma çalışmama durumu veya yürütüme hazır durumda denilmektedir. ƒ
  • Bitiş veya Kesilme Durumu (terminated) : Görev çalışmasını bitirdikten sonra bu duruma geçer.

Görev sonlandırma sebepleri:

• 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; ƒ

  • Mikroişlemci G/Ç birimlerinden çok daha hızlı olmasına rağmen, tüm görevler G/Ç işlemini beklerler. ƒ
  • Swapping (Değiş tokuş): Bir işletim sistemi, bir görevi yürütebilmesi için yeterince ana hafızayı serbest bırakılmasına ihtiyacı duyarlar. ƒ
  • Kullanıcı isteklerinin etkileşimi ƒ
  • Zamanlama ƒ
  • Üst görev istekleri.

 

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:

  • Görev durumu ƒ
  • Görev sayacı ƒ
  • AİB yazmaçları ƒ
  • AİB planlanması bilgileri ƒ
  • Bellek yönetimi bilgileri ƒ
  • İstatistiksel bilgiler ƒ
  • G/Ç durumu bilgileri

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

Hafıza Tabloları

• 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

• Nitelikler

Görev Tabloları

• Görevin konumun bulunduğu yer

• Görevin yönetimi için gerekli nitelikler

Zamanlama Algoritmaları

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: ƒ

  • Her görev, o görevin bir sonraki AİB işlem zamanı ile değerlendirilir. Bu, en kısa zamanlı işin bulunması için kullanılır.
  • SJF Türleri:

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

  • SJF verilmiş görevler kümesi için en küçük ortalama bekleme zamanı oluşması için optimizasyon yapar.ı

 

Ö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)

Bir                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          

 

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.

 2022 Şubat 01 Salı
 583