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.

FCFS Çalışmaları

) 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

FCFS Çalışmaları

) 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

FCFS Çalışmaları

) 4 Adım Zaman=3'te P4 işlemi yürütülmesini tamamlar.

FCFS Çalışmaları

) 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

FCFS Çalışmaları

) 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

FCFS Çalışmaları

) 7 Adım Zaman 11'de P3 yürütmesini tamamlar.

FCFS Çalışmaları

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

FCFS Çalışmaları

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

FCFS Çalışmaları

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

FCFS Çalışmaları

) 11 Adım Yukarıdaki örnek için ortalama bekleme süresini hesaplayalım.

FCFS Çalışmaları

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 Çalışmaları
= 40/5= 8

FCFS'nin Avantajları

FCFS planlama algoritmasını kullanmanın artıları/yararları şunlardı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.

Günlük Guru99 Bülteni

Gününüze, şu anda elinize ulaşan en son ve en önemli yapay zeka haberleriyle başlayın.