LIFO (Last In First Out – Son Gelen Önce) Algoritması

LIFO (Last In First Out) stratejisi FIFO stratejisi ile neredeyse aynı prensipte çalışır. Aradaki tek fark FIFO’da bekleme sırasına giren prosesler, sıranın başından alınırken LIFO’da bekleme sırasının en sonundaki proses işlemciye alınır.

Örnek:

FIFO stratejisinde olduğu gibi LIFO stratejisi için de bekleme sırasına giren ilk proses P1’dir.

İşlemci P1’i 7 birim zaman boyunca çalıştırdığı sırada bekleme sırasına P0, P3 ve P2 prosesleri girerler, Bekleme sırası, {P0, P3, P2}. LIFO’yu FIFO’dan ayıran nokta burada başlamaktadır. FIFO stratejisinde P0 işlemciye alınırken LIFO’da bekleme sırasındaki en son proses işlemciye yüklenir, yani P2.

P2’nin işlemcide geçirdiği 1 birimlik zamanın ardından bekleme sırasına yeni bir proses eklenir, P4. Yeni bekleme sırası, {P0, P3, P4}. P2′ nin ardından işlemciye yeni girecek proses LIFO stratejisinde P4 olur, çünkü P4 bekleme sırasının en sonunda olan prosestir.

İşlemci 5 birim zaman boyunca P4’ü çalıştırır ve ardından sırada bekleyen diğer proseslerden en sondakini seçer, yani P3’ü. P3’ün ardından son olarak P0 işlemciye alınır.

Bekleme süresi;

P0 prosesin bekleme sırasına giriş yapması gereken zaman proses tablosunda görüldüğü üzere 1 birim zamandır ancak P0’ın işlemciye 17 birim zamanda girmiştir. Bu sebepten dolayı P0’ın bekleme süresi (17-1) 16 birim zaman olarak kaydedilir.

P1 prosesin 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.

P2 prosesin işlemciye alınma zamanı tabloda 7 olarak verilmiştir ve P2 işlemciye 7 birim zamanda girmiştir. P2’nin bekleme süresi (7-7) 0 birimdir.

P3 prosesin işlemciye alınma zamanı tabloda 2 olarak verilmiştir ancak oluşan gecikmeden ötürü P3 işlemciye 14 birim zamanda girmiştir. P3′ün bekleme süresi (14-2) 12 birimdir.

P4 prosesin işlemciye alınma zamanı tabloda 8 olarak verilmiştir ancak oluşan gecikmeden ötürü P4 işlemciye 9 birim zamanda girmiştir. P4′ün bekleme süresi (9-8) 1 birimdir.

Ortalama bekleme süresi;

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

(16+0+0+12+1) / 5 = 5.8 birim


<< FCFS (First Come First Served – İlk Gelen Önce) Algoritması | SJF (Shortest Job First – En Kısa İşletim Süresi Olan Önce) Algoritması >>

You may also like...