FCFS algoritması

FIFO (First In First Out) yada diğer bilinen adıyla FCFS (First Come First Served) stratejisinde bekleme sırasına giren prosesler sıranın en başından seçilerek işlemciye aktarılır.

proses

Yukarıdaki proseslerin FIFO stratejisine göre işlemciye eklenmesi:

Resimde görüldüğü üzere bekleme sırasına giren ilk proses P1’dir. Bekleme sırasından çıkarılan P1 işlemciye yüklenir ve işlemci 7 birim zaman boyunca P1’i çalıştırır.

first-in-first-outBu sırada geçen 1 birimlik zaman içerisinde P0, 2 birimlik zamanın ardından P3 ve 7 birimlik zamanın ardından P2 prosesleri bekleme sırasına giriş yapar. Bekleme sırasına giriş yapan her proses bu sıranın en sonuna eklenir. Oluşturulan bekleme sırası {P0, P3, P2}. P1 işlemciden çıktığı anda sırada bekleyen ilk proses, P0, işlemciye alınır.

fifoP0 işlemciye alındıktan sonra geçen 1 birimlik zaman içerisinde bekleme sırasına P4 girer ve bu proses sıranın en sonuna eklenir. Yeni bekleme sırası {P3, P2, P4}. P1 işlemciden çıktığı anda sırada bekleyen ilk proses işlemciye alınır, P3.

fifo-nedirÖnceki adımlarda olduğu gibi işlemci sırada bekleyen prosesleri işlem süreleri boyunca çalıştırmaya devam eder.

cpufifo-yontemiProseslerin ortalama bekleme süreleri:

Ortalama bekleme süresi hesaplanırken proseslerin geliş zamanı ve işlemciye alınış zamanları göz önünde bulundurulur.

Bekleme zamanı hesaplama (1 kare = 1 zaman birimi):

0 numaralı prosesin bekleme sırasına giriş yapması gereken zaman proses tablosunda görüldüğü üzere 1. birim zamandır ancak P0’ın işlemciye giriş zamanı 6 birim zaman gecikmiştir. Bu sebepten dolayı P0’ın bekleme süresi 6 birim zaman olarak kaydedilir.

P1’in bekleme sırasına giriş ve işlemciye giriş zamanları aynı olduğu için P1 de herhangi bir gecikme söz konusu olmamıştır. Bu sebepten dolayı gecikme zamanı 0 olur.

Proses 3’ün işlemciye alınma zamanı tabloda 2 olarak verilmiştir ancak oluşan gecikmeden ötürü P3 işlemciye 12. birim zamanda girmiştir. P3′ ün bekleme süresi 12-2 = 10 birimdir.

Bu şekilde işlemciye giren her prosesin bekleme süresi toplanır ve aritmetik ortalamaları alınır:

(6+0+8+10+9) / 5 = 6.6 birim bekleme

proseslerin-ortalama-bekleme-sureleri

Yorum bırakın