FCFS Planlama Algoritması: Nedir, Örnek Program
İlk Gelen İlk Servis Yöntemi Nedir?
İlk Gelen İlk Servis (FCFS) sıraya alınmış istekleri ve işlemleri geliş sırasına göre otomatik olarak yürüten bir işletim sistemi planlama algoritmasıdır. En kolay ve en basit CPU planlama algoritmasıdır. Bu tür algoritmada, CPU'yu ilk talep eden işlemler önce CPU tahsisini alır. Bu bir FIFO kuyruğu ile yönetilir. FCFS'nin tam şekli İlk Gelen İlk Hizmettir.
Proses hazır kuyruğuna girdiğinde PCB'si (Proses Kontrol Bloğu) kuyruğun kuyruğuna bağlanır ve CPU serbest kaldığında kuyruğun başındaki prosese atanmalıdır.
FCFS yönteminin özellikleri
- Önleyici olmayan ve önleyici planlama algoritmasını destekler.
- İşler her zaman ilk gelene ilk hizmet esasına göre gerçekleştirilir.
- Uygulaması ve kullanımı kolaydır.
- Bu yöntemin performansı zayıftır ve genel bekleme süresi oldukça yüksektir.
FCFS planlama örneği
FCFS yönteminin gerçek hayattaki bir örneği, bilet gişesinden sinema bileti satın almaktır. Bu planlama algoritmasında bir kişiye kuyruk usulüne göre hizmet verilir. Sıraya ilk gelen kişi önce bileti, sonra da sonraki bileti alıyor. Bu durum kuyruktaki son kişi bileti alana kadar devam edecektir. Bu algoritmayı kullanarak CPU işlemi benzer şekilde çalışır.
FCFS Nasıl Çalışır? Ortalama Bekleme Süresinin Hesaplanması
Burada farklı zamanlarda gelen beş sürecin bir örneği verilmiştir. Her işlemin farklı bir patlama süresi vardır.
Süreç | Patlama zamanı | Varış zamanı |
---|---|---|
P1 | 6 | 2 |
P2 | 2 | 5 |
P3 | 8 | 1 |
P4 | 3 | 0 |
P5 | 4 | 4 |
FCFS planlama algoritması kullanılarak bu işlemler aşağıdaki gibi ele alınır.
) 1 Adım Süreç, varış zamanı 4 olan P0 ile başlar.
) 2 Adım Zaman=1'de P3 gelir. P4 hala çalışıyor. Bu nedenle P3 kuyrukta tutulur.
Süreç | Patlama zamanı | Varış zamanı |
---|---|---|
P1 | 6 | 2 |
P2 | 2 | 5 |
P3 | 8 | 1 |
P4 | 3 | 0 |
P5 | 4 | 4 |
) 3 Adım Zaman = 2'de kuyrukta tutulan P1 gelir.
Süreç | Patlama zamanı | Varış zamanı |
---|---|---|
P1 | 6 | 2 |
P2 | 2 | 5 |
P3 | 8 | 1 |
P4 | 3 | 0 |
P5 | 4 | 4 |
) 4 Adım Zaman=3'te P4 işlemi yürütülmesini tamamlar.
) 5 Adım Zaman=4'te kuyrukta ilk sırada yer alan P3 yürütmeye başlar.
Süreç | Patlama zamanı | Varış zamanı |
---|---|---|
P1 | 6 | 2 |
P2 | 2 | 5 |
P3 | 8 | 1 |
P4 | 3 | 0 |
P5 | 4 | 4 |
) 6 Adım =5 zamanında P2 gelir ve kuyrukta tutulur.
Süreç | Patlama zamanı | Varış zamanı |
---|---|---|
P1 | 6 | 2 |
P2 | 2 | 5 |
P3 | 8 | 1 |
P4 | 3 | 0 |
P5 | 4 | 4 |
) 7 Adım Zaman 11'de P3 yürütmesini tamamlar.
) 8 Adım Zaman=11'de P1 yürütmeye başlar. 6 patlama süresine sahiptir. Yürütmeyi 17 zaman aralığında tamamlar.
) 9 Adım Zaman=17'de P5 yürütmeye başlar. Patlama süresi 4'tür. Yürütmeyi zaman=21'de tamamlar.
) 10 Adım Zaman=21'de P2 yürütmeye başlar. 2 patlama süresine sahiptir. Yürütmeyi 23 zaman aralığında tamamlar.
) 11 Adım Yukarıdaki örnek için ortalama bekleme süresini hesaplayalım.
Waiting time = Start time - Arrival time
P4 = 0-0 = 0
P3 = 3-1 = 2
PI = 11-2 = 9
P5= 17-4 = 13
P2= 21-5= 16
Ortalama Bekleme Süresi
FCFS'nin Avantajları
FCFS planlama algoritmasını kullanmanın artıları/yararları şunlardır:
- En basit şekli CPU planlama algoritması
- Programlaması kolay
- İlk gelen ilk alır
FCFS'nin dezavantajları
FCFS planlama algoritmasını kullanmanın eksilerini/dezavantajlarını burada bulabilirsiniz:
- Bu, Önleyici Olmayan bir CPU planlama algoritmasıdır, dolayısıyla işlem CPU'ya tahsis edildikten sonra, yürütmeyi tamamlayana kadar CPU'yu asla serbest bırakmaz.
- Ortalama Bekleme Süresi yüksektir.
- Kuyruğun arka kısmında yer alan kısa işlemler, ön taraftaki uzun işlemin bitmesini beklemek zorundadır.
- Zaman paylaşımlı sistemler için ideal bir teknik değildir.
- Basitliği nedeniyle FCFS çok verimli değildir.
ÖZET
- Tanım: FCFS, sıradaki istekleri ve işlemleri geliş sırasına göre otomatik olarak yürüten bir işletim sistemi planlama algoritmasıdır.
- Önleyici olmayan ve önleyici planlamayı destekler
- algoritması.
- FCFS, İlk Gelen İlk Hizmet anlamına gelir
- FCFS yönteminin gerçek hayattaki bir örneği, bilet gişesinden sinema bileti satın almaktır.
- CPU planlama algoritmasının en basit şeklidir
- Bu, Önleyici Olmayan bir CPU planlama algoritmasıdır, dolayısıyla işlem CPU'ya tahsis edildikten sonra, yürütmeyi tamamlayana kadar CPU'yu asla serbest bırakmaz.