İşletim Sistemi - İşlem Planlama
Tanım
Süreç çizelgeleme, çalışan sürecin CPU'dan çıkarılmasını ve belirli bir strateji temelinde başka bir işlemin seçilmesini yöneten süreç yöneticisinin faaliyetidir.
İşlem planlama, Çoklu Programlama işletim sistemlerinin önemli bir parçasıdır. Bu tür işletim sistemleri, bir seferde çalıştırılabilir belleğe birden fazla işlemin yüklenmesine izin verir ve yüklenen işlem, zaman çoklama kullanarak CPU'yu paylaşır.
İşlem Planlama Sıraları
İşletim sistemi tüm PCB'leri Süreç Çizelgeleme Sıralarında tutar. İşletim sistemi, işlem durumlarının her biri için ayrı bir kuyruk tutar ve aynı yürütme durumundaki tüm işlemlerin PCB'leri aynı kuyruğa yerleştirilir. Bir sürecin durumu değiştiğinde, PCB'si mevcut kuyruğundan ayrılır ve yeni durum kuyruğuna taşınır.
İşletim Sistemi, aşağıdaki önemli işlem planlama kuyruklarını korur -
Job queue - Bu kuyruk tüm süreçleri sistemde tutar.
Ready queue- Bu kuyruk, ana bellekte bulunan tüm işlemlerin bir takımını hazır ve yürütülmeyi beklemekte tutar. Bu kuyruğa her zaman yeni bir işlem konur.
Device queues - Bir G / Ç cihazının kullanılamaması nedeniyle engellenen işlemler bu kuyruğu oluşturur.
İşletim sistemi, her kuyruğu yönetmek için farklı politikalar kullanabilir (FIFO, Round Robin, Priority, vb.). İşletim sistemi zamanlayıcı, işlemlerin sistemde işlemci çekirdeği başına yalnızca bir girişe sahip olabilen hazır ve çalıştırma kuyrukları arasında nasıl taşınacağını belirler; Yukarıdaki diyagramda CPU ile birleştirilmiştir.
İki Durumlu Süreç Modeli
İki durumlu süreç modeli, aşağıda açıklanan çalışan ve çalışmayan durumları ifade eder -
SN | Durum ve Açıklama |
---|---|
1 | Running Yeni bir proses oluşturulduğunda, sisteme çalışır durumda olduğu gibi girer. |
2 | Not Running Çalışmayan işlemler kuyrukta tutulur ve işlem sırasının gelmesini bekler. Kuyruktaki her giriş, belirli bir işlem için bir göstericidir. Sıra, bağlantılı liste kullanılarak uygulanır. Sevk görevlisinin kullanımı aşağıdaki gibidir. Bir işlem kesintiye uğradığında, bu işlem bekleme kuyruğuna aktarılır. İşlem tamamlanırsa veya durdurulursa, işlem iptal edilir. Her iki durumda da, dağıtıcı kuyruktan yürütmek üzere bir işlem seçer. |
Zamanlayıcılar
Zamanlayıcılar, süreç planlamasını çeşitli şekillerde gerçekleştiren özel sistem yazılımıdır. Ana görevleri, sisteme sunulacak işleri seçmek ve hangi sürecin çalıştırılacağına karar vermektir. Zamanlayıcılar üç türdendir -
- Uzun Dönem Planlayıcı
- Kısa Süreli Planlayıcı
- Orta Vadeli Planlayıcı
Uzun Dönem Planlayıcı
Aynı zamanda job scheduler. Uzun vadeli bir programlayıcı, hangi programların işlenmek üzere sisteme kabul edildiğini belirler. İşlemleri kuyruktan seçer ve yürütmek için belleğe yükler. İşlem, CPU zamanlaması için belleğe yüklenir.
İş planlayıcının birincil amacı, G / Ç bağlı ve işlemci bağlı gibi dengeli bir iş karışımı sağlamaktır. Aynı zamanda çoklu programlama derecesini de kontrol eder. Çoklu programlamanın derecesi sabitse, ortalama süreç yaratma oranı, sistemden çıkan süreçlerin ortalama ayrılma oranına eşit olmalıdır.
Bazı sistemlerde, uzun vadeli planlayıcı mevcut olmayabilir veya asgari düzeyde olabilir. Zaman paylaşımlı işletim sistemlerinin uzun vadeli planlayıcıları yoktur. Bir süreç, durumu yeniden hazır duruma değiştirdiğinde, o zaman uzun vadeli planlayıcı kullanılır.
Kısa Süreli Planlayıcı
Olarak da adlandırılır CPU scheduler. Temel amacı, seçilen kriterlere göre sistem performansını artırmaktır. İşlemin hazır olma durumunun çalışma durumuna geçişidir. CPU zamanlayıcı, yürütmeye hazır olan işlemler arasından bir işlem seçer ve bunlardan birine CPU tahsis eder.
Sevk görevlileri olarak da bilinen kısa vadeli planlayıcılar, bir sonraki işlemin hangi işlemin gerçekleştirileceğine karar verir. Kısa vadeli planlayıcılar, uzun vadeli planlayıcılardan daha hızlıdır.
Orta Vadeli Planlayıcı
Orta vadeli çizelgeleme, swapping. İşlemleri bellekten kaldırır. Çoklu programlama derecesini azaltır. Orta vadeli planlayıcı, değiştirilen dış süreçleri idare etmekten sorumludur.
Çalışan bir işlem, bir G / Ç talebinde bulunursa askıya alınabilir. Askıya alınmış bir süreç, tamamlanmaya doğru herhangi bir ilerleme sağlayamaz. Bu durumda, işlemi bellekten kaldırmak ve diğer işlemler için yer açmak için, askıya alınan işlem ikincil depolamaya taşınır. Bu sürece denirswappingve sürecin değiş tokuş edildiği veya hayata geçirildiği söyleniyor. Süreç karışımını iyileştirmek için değişim gerekli olabilir.
Zamanlayıcı arasında karşılaştırma
SN | Uzun Dönem Planlayıcı | Kısa Süreli Planlayıcı | Orta Vadeli Planlayıcı |
---|---|---|---|
1 | Bu bir iş planlayıcıdır | Bir CPU zamanlayıcıdır | Bir süreç takas planlayıcısıdır. |
2 | Hız, kısa vadeli planlayıcıdan daha düşüktür | Hız, diğer ikisi arasında en hızlıdır | Hız, hem kısa hem de uzun vadeli planlayıcı arasındadır. |
3 | Çoklu programlama derecesini kontrol eder | Çoklu programlama derecesi üzerinde daha az kontrol sağlar | Çoklu programlama derecesini azaltır. |
4 | Zaman paylaşım sisteminde neredeyse yok veya minimum | Zaman paylaşım sisteminde de minimumdur | Zaman paylaşım sistemlerinin bir parçasıdır. |
5 | İşlemleri havuzdan seçer ve yürütmek için belleğe yükler. | Yürütülmeye hazır olan süreçleri seçer | İşlemi belleğe yeniden sokabilir ve yürütmeye devam edilebilir. |
Bağlam anahtarı
Bir bağlam anahtarı, bir işlemin daha sonra aynı noktadan sürdürülebilmesi için İşlem Kontrol bloğundaki bir CPU'nun durumunu veya bağlamını depolayan ve geri yükleyen mekanizmadır. Bu tekniği kullanarak, bir bağlam değiştirici, birden çok işlemin tek bir CPU'yu paylaşmasına olanak tanır. Bağlam değiştirme, çok görevli bir işletim sistemi özelliklerinin önemli bir parçasıdır.
Zamanlayıcı, CPU'yu bir işlemi yürütmekten diğerini yürütmek için değiştirdiğinde, mevcut çalışan işlemin durumu, işlem kontrol bloğunda saklanır. Bundan sonra, işlemin bir sonraki çalışmasının durumu kendi PCB'sinden yüklenir ve PC'yi, kayıtları vb. Ayarlamak için kullanılır. Bu noktada, ikinci işlem yürütülmeye başlayabilir.
Bağlam anahtarları, kayıt ve bellek durumunun kaydedilmesi ve geri yüklenmesi gerektiğinden hesaplama açısından yoğundur. Bağlam değiştirme süresinden kaçınmak için, bazı donanım sistemleri iki veya daha fazla işlemci kaydı seti kullanır. İşlem değiştirildiğinde, aşağıdaki bilgiler daha sonra kullanılmak üzere saklanır.
- Program sayıcı
- Planlama bilgileri
- Temel ve limit kayıt değeri
- Şu anda kullanılan kayıt
- Değişen Durum
- I / O Durum bilgisi
- Muhasebe bilgileri