FCFS Planlama Algoritması: Nedir, Örnek Program
⚡ Akıllı Özet
İlk gelen ilk hizmet (FIFO) zamanlama algoritması, işlemleri hazır kuyruğa ulaşma sırasına göre çalıştırır ve bu da onu bir işletim sisteminin uygulaması en kolay CPU zamanlama algoritması haline getiren basit, önceliksiz bir FIFO yaklaşımı kullanır.

İlk Gelen İlk Servis Yöntemi Nedir?
İlk Gelen İlk Servis (FCFS) FCFS, kuyruğa alınmış istekleri ve işlemleri geliş sırasına göre otomatik olarak yürüten bir işletim sistemi zamanlama algoritmasıdır. En kolay ve en basit CPU zamanlama algoritmasıdır. Bu algoritma türünde, CPU'yu ilk talep eden işlem, CPU tahsisini ilk alır. Bu, FIFO kuyruğu ile yönetilir. FCFS'nin açılımı First Come First Serve'dir (İlk Gelen İlk Hizmet).
Bir işlem hazır kuyruğuna girdiğinde, PCB'si (İşlem Kontrol Bloğu) kuyruğun sonuna bağlanır. Bu nedenle, CPU boşaldığında, kuyruğun başındaki işleme atanır.
FCFS Yönteminin Özellikleri
Öncelik sırasına göre hizmet verme yönteminin temel özellikleri aşağıda listelenmiştir:
- Bu, bir önleyici olmayan Zamanlama algoritması sayesinde, bir işlem, işlem süresi tamamlanana kadar işlemciyi meşgul eder.
- İş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 Planlamasına Örnek
FCFS yönteminin gerçek hayattan bir örneği, gişeden film bileti satın almaktır. Bu zamanlama algoritmasında, kişiler kuyruk sırasına göre hizmet alırlar. Kuyruğa ilk gelen kişi bileti ilk satın alır, ardından bir sonraki kişi. Bu, kuyruktaki son kişi bileti satın alana kadar devam eder. Bu algoritmayı kullanarak, CPU süreci de benzer şekilde çalışır.
FCFS Nasıl Çalışır? Ortalama Bekleme Süresinin Hesaplanması
Algoritmanın süreçleri nasıl planladığını anlamak için, farklı zamanlarda gelen beş sürecin örneğini inceleyelim. Her sürecin farklı bir işlem 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ı 0 olan P4 ile başlar.
) 2 Adım Zaman=1'de P3 gelir. P4 hala çalışıyor. Bu nedenle P3 kuyrukta tutulur.
) 3 Adım Zaman 2'de P1 gelir ve kuyruğa alınır.
) 4 Adım Zaman 3'te P4 süreci yürütmesini tamamlar.
) 5 Adım Zaman=4'te kuyrukta ilk sırada yer alan P3 yürütmeye başlar.
) 6 Adım Zaman=5'te P2 gelir ve kuyruğa alınır.
) 7 Adım Zaman 11'de P3, görevini tamamlar.
) 8 Adım Zaman=11'de P1 çalışmaya başlar. Çalışma süresi 6'dır, bu nedenle 17. zaman aralığında çalışmayı tamamlar.
) 9 Adım Zaman=17'de P5 çalışmaya başlar. 4'lük bir işlem süresine sahip olduğundan, çalışma zamanı=21'de tamamlanır.
) 10 Adım Zaman=21'de P2 çalışmaya başlar. Çalışma süresi 2'dır, bu nedenle 23. zaman aralığında çalışmayı tamamlar.
) 11 Adım Şimdi, 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
P1 = 11 – 2 = 9
P5 = 17 – 4 = 13
P2 = 21 – 5 = 16
Ortalama Bekleme Süresi = (0 + 2 + 9 + 13 + 16) / 5 = 40 / 5 = 8
FCFS'nin Avantajları
FCFS zamanlama algoritmasının avantajları ve faydaları şunlardır:
- Bu, bir şeyin en basit halidir. CPU planlama algoritması.
- Programlaması kolaydır.
- İşleyiş, basit bir "ilk gelen ilk alır" prensibine dayanmaktadır.
FCFS'nin dezavantajları
FCFS zamanlama algoritmasının dezavantajları ve sakıncaları şunlardır:
- Bu, önceliklendirme gerektirmeyen bir CPU zamanlama algoritmasıdır; bu nedenle, bir işlem CPU'ya tahsis edildikten sonra, yürütülmesi tamamlanana kadar CPU'yu asla serbest bırakmaz.
- Ortalama bekleme süresi yüksektir.
- Sıranın arkasındaki kısa işlemler, öndeki uzun işlemin bitmesini beklemek zorundadır.
- Bu, zaman paylaşımlı sistemler için ideal bir teknik değildir.
- Basitliği nedeniyle FCFS çok verimli değildir.












