Bu derste CPU Süreç Planlama Algoritmalarında önemli bir kavramı öğreneceğiz. Önemli konsept adı İlk Gelen İlk Hizmettir. Bu, her öğrencinin CPU Süreç Planlama Algoritmasının tüm temellerini anlamak için öğrenmesi gereken temel algoritmadır.
İlk Gelen İlk Hizmet, diğer algoritmaların anlaşılmasının yolunu açar. Bu algoritmanın birçok dezavantajı olabilir. Ancak bu dezavantajlar çok yeni ve etkili algoritmalar ortaya çıkardı. Bu nedenle, İlk Gelen İlk Hizmet CPU Süreç Planlama Algoritmaları hakkında bilgi edinmek bizim sorumluluğumuzdur.
Önemli Kısaltmalar
- CPU - - - > Merkezi İşlem Birimi
- FCFS - - - > İlk Gelen İlk Servis Yapar
- AT - - - > Varış Zamanı
- BT - - - > Seri Çekim Süresi
- WT - - - > Bekleme Süresi
- TAT - - - > Geri Dönüş Süresi
- CT - - - > Tamamlanma Süresi
- FIFO - - - > İlk Giren İlk Çıkar
Önce gelen alır
Kısaca FCFS olarak bilinen İlk Gelen İlk Hizmet Verir CPU Planlama Algoritması, CPU Süreç Planlama Algoritmasının ilk algoritmasıdır. İlk Gelen İlk Hizmet Algoritması'nda yaptığımız şey sürecin doğrusal bir şekilde yürütülmesini sağlamaktır.
bir dizeyi tarihe dönüştür
Bu, prosese giren proseslerden hangisinin hazır kuyruğuna ilk girdiğinin ilk olarak yürütüleceği anlamına gelir. Bu, İlk Gelen İlk Çıkar Algoritmasının İlk Giren İlk Çıkar (FIFO) prensibini takip ettiğini gösterir.
İlk Gelen İlk Hizmet Algoritması, Önleyici ve Önleyici Olmayan şekilde yürütülebilir. Örneklere geçmeden önce CPU Süreç Planlamada Önleyici ve Önleyici Olmayan Yaklaşımın ne olduğunu anlayalım.
Önleyici Yaklaşım
Bu Önleyici Süreç Planlama örneğinde, işletim sistemi kaynakları önceden belirlenmiş bir süre için bir Sürece tahsis eder. Kaynak tahsisi sırasında süreç, çalışma durumundan hazır durumuna veya bekleme durumundan hazır durumuna geçiş yapar. Bu geçiş, CPU'nun diğer işlemlere öncelik atayabilmesi ve o anda aktif olan işlemi daha yüksek öncelikli işlemle değiştirebilmesi nedeniyle gerçekleşir.
Önleyici Olmayan Yaklaşım
Bu Önleyici Olmayan Süreç Planlama durumunda, sürecin çalışması tamamlanmadan kaynak bir süreçten çekilemez. Çalışan bir işlem bittiğinde ve bekleme durumuna geçtiğinde kaynaklar değiştirilir.
İlk Gelen İlk Serviste Konvoy Etkisi (FCFS)
Konvoy Etkisi, İlk Gelen İlk Servis (FCFS) adı verilen Planlama Algoritması'nda ortaya çıkan bir olgudur. İlk Gelen İlk Servis Planlama Algoritması, önleyici olmayan bir şekilde gerçekleşir.
Önleyici olmayan yöntem, bir işlem veya iş yürütülmeye başlatıldığında işletim sisteminin bu işlemi veya işi tamamlaması gerektiği anlamına gelir. Süreç veya iş sıfır olana kadar yeni veya sonraki süreç veya iş yürütülmeye başlamaz. İşletim Sistemi açısından Önleyici Olmayan Planlamanın tanımı, Merkezi İşlem Biriminin (CPU) sürecin sonuna kadar veya ilk başlatılan işe kadar tamamen tahsis edileceği ve yeni süreç veya işin ancak eski süreç veya iş tamamlandıktan sonra yürütüleceği anlamına gelir. iş.
Merkezi İşlem Biriminin (CPU) fazla zaman ayırmasına neden olabilecek birkaç durum olabilir. Bunun nedeni, İlk Gelen İlk Hizmet Algoritması Önleyici Olmayan Yaklaşımda Süreçlerin veya işlerin seri sırayla seçilmesidir. Bu nedenle, daha kısa işlerin veya daha büyük süreçlerin veya işlerin arkasındaki süreçlerin yürütülmesinin tamamlanması çok fazla zaman alır. Bu nedenle Bekleme Süresi, Geri Dönüş Süresi, Tamamlanma Süresi çok yüksektir.
Yani burada ilk işlemin büyük olması veya tamamlanma süresinin çok uzun olması nedeniyle İlk Gelen İlk Hizmet Algoritması'nda bu Konvoy etkisi ortaya çıkmaktadır.
Daha Uzun İşin tamamlanmasının sonsuz zaman aldığını varsayalım. Daha sonra geri kalan işlemlerin aynı sonsuz süre boyunca beklemesi gerekir. Daha Uzun İşin yarattığı bu Konvoy Etkisi nedeniyle bekleme süreçlerinin açlığı çok hızlı artıyor. Bu, FCFS CPU Süreç Planlamanın en büyük dezavantajıdır.
FCFS CPU Süreç Zamanlamasının Özellikleri
FCFS CPU Süreç Zamanlamasının özellikleri şunlardır:
- Uygulama basittir.
- Kullanırken herhangi bir nedenselliğe neden olmaz
- Önleyici olmayan ve önleyici bir strateji benimser.
- Her prosedürü alındıkları sıraya göre çalıştırır.
- Varış zamanı prosedürler için bir seçim kriteri olarak kullanılır.
FCFS CPU Süreç Zamanlamasının Avantajları
FCFS CPU Süreç Zamanlamasının avantajları şunlardır:
- İşlemleri tahsis etmek için İlk Giren İlk Çıkar kuyruğunu kullanır.
- FCFS CPU Planlama Süreci basit ve uygulaması kolaydır.
- FCFS durumunda önleyici planlamada, sürecin aç kalması ihtimali yoktur.
- İşlem önceliği dikkate alınmadığından eşitlikçi bir algoritmadır.
FCFS CPU Süreç Zamanlamasının Dezavantajları
FCFS CPU Süreç Zamanlamasının dezavantajları şunlardır:
- FCFS CPU Planlama Algoritmasının Bekleme Süresi Uzundur
- FCFS CPU Planlaması, CPU'yu Giriş veya Çıkış işlemlerine tercih eder
- FCFS'de Konvoy Etkisinin ortaya çıkma şansı vardır
- FCFS çok basit olduğundan çoğu zaman çok etkili değildir. Uzatılmış bekleme süreleri bununla el ele gidiyor. CPU zaman alıcı bir siparişi işlemekle meşgulse diğer tüm siparişler boşta kalır.
İlk Gelen İlk Hizmet Verir CPU Planlama Algoritmasının Sorunları
Örnek
S. No Process ID Process Name Arrival Time Burst Time _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 1 P 1 A 0 9 2 P 2 B 1 3 3 P 3 C 1 2 4 P 4 D 1 4 5 P 5 E 2 3 6 P 6 F 3 2
Önleyici Olmayan Yaklaşım
Şimdi bu sorunu Önleyici Olmayan Yaklaşımla İlk Gelen İlk Hizmet adlı Planlama Algoritması yardımıyla çözelim.
Yukarıdaki Örnek 1 için Gantt şeması:
öküz vs boğa
Geri Dönüş Süresi = Tamamlanma Süresi - Varış Süresi
Bekleme Süresi = Geri Dönme Süresi - Patlama Süresi
Yukarıdaki Sorunun Çözümü Örnek 1
Evet Hayır | İşlem Kimliği | Varış zamanı | Patlama Zamanı | Tamamlanma Süresi | Geri Dönüş Zamanı | Bekleme süresi | |
---|---|---|---|---|---|---|---|
1 | P1 | A | 0 | 9 | 9 | 9 | 0 |
2 | P2 | B | 1 | 3 | 12 | on bir | 8 |
3 | P3 | C | 1 | 2 | 14 | 13 | on bir |
4 | P 4 | D | 1 | 4 | 18 | 17 | 13 |
5 | P 5 | VE | 2 | 3 | yirmi bir | 19 | 16 |
6 | S 6 | F | 3 | 2 | 23 | yirmi | 18 |
Ortalama Tamamlanma Süresi:
Ortalama CT = ( 9 + 12 + 14 + 18 + 21 + 23 ) / 6
Ortalama CT = 97 / 6
Ortalama CT = 16,16667
Ortalama Bekleme Süresi:
Ortalama AĞR = ( 0 + 8 + 11 + 13 + 16 + 18 ) /6
Ortalama WT = 66 / 6
Ortalama AĞR = 11
Ortalama Geri Dönüş Süresi:
Ortalama TAT = ( 9 + 11 + 13 + 17 + 19 +20 ) / 6
Ortalama TAT = 89 / 6
Ortalama TAT = 14,83334
Önleyici Olmayan Yaklaşımda FCFS bu şekilde çözülür.
Şimdi bunların Önleyici Yaklaşımda nasıl çözülebileceğini anlayalım.
Önleyici Yaklaşım
Şimdi bu sorunu Önleyici Yaklaşımda İlk Gelen İlk Hizmet adlı Planlama Algoritması yardımıyla çözelim.
Ön Alım Yaklaşımında mevcut olan en iyi süreci ararız
açılır menü için javascript
Yukarıdaki Örnek 1 için Gantt şeması:
Evet Hayır | İşlem Kimliği | Varış zamanı | Patlama Zamanı | Tamamlanma Süresi | Geri Dönüş Zamanı | Bekleme süresi | |
---|---|---|---|---|---|---|---|
1 | P1 | A | 0 | 9 | 23 | 23 | 14 |
2 | P2 | B | 1 | 3 | 8 | 7 | 4 |
3 | P3 | C | 1 | 2 | 3 | 2 | 0 |
4 | P 4 | D | 1 | 4 | on beş | 14 | 10 |
5 | P 5 | VE | 2 | 3 | on bir | 9 | 7 |
6 | S 6 | F | 3 | 2 | 5 | 2 | 0 |
sonraki → ← önceki Uyandırma sinyallerinin israf edilmesi probleminden kurtulmak için Dijkstra, tüm uyandırma çağrılarının saklanmasını içeren bir yaklaşım önerdi. Dijkstra, üreticinin uyandırma çağrısını doğrudan tüketiciye vermek yerine, uyandırma çağrısını bir değişkende saklayabileceğini belirtiyor. Tüketicilerden herhangi biri ihtiyaç duyduğu anda okuyabilir. Semafor, üreticiden tüketiciye aktarılan uyandırma çağrılarının tamamını saklayan değişkenlerdir. Çekirdek modunda okuma, değiştirme ve güncellemenin otomatik olarak gerçekleştiği bir değişkendir. Semafor kullanıcı modunda uygulanamaz çünkü iki veya daha fazla işlem değişkene aynı anda erişmeye çalıştığında yarış durumu her zaman ortaya çıkabilir. Uygulanabilmesi için her zaman işletim sisteminin desteğine ihtiyaç duyar. Durumun talebine göre Semafor iki kategoriye ayrılabilir.
Her birini ayrıntılı olarak tartışacağız. |