Atacan TUFAN

030401003


                                                                 Sanal Bellek Yönetimi

Second Chance

    Modern bilgisayarlarda, Memory Management Unit (MMU : Bellek Yönetim Ünitesi) denen özel bir donanım mevcuttur. Bu ünite CPU ve Bellek ünitesi arasındadır. CPU belleğe erişmek için harekete geçtiğinde(Load veya Store işlemlerinden herhangi biri) erişmek istediği adresi MMU' ya yollar. MMU ise bellek ünitesine bu adresi yollamadan kendi içinde ürettiği  uygun bir adresi yollar. Sonuçta CPU tarafından indeksleme veya aritmetik adresleme sonunda üretilen bu gibi adresler Sanal Adres, MMU'nun bu adresten ürettiği bellek ünitesindeki adres ise Fiziksel Adres 'tir.
                   MMU                                           Sanal Bellek

    Bu bilgilerin verdiği cesaretle; sanal bellek metodunun kullandığı paging (sayfalama) tekniği için tasarlanmış yerleştirme algoritmalarından "Second Chance"den bahsedelim.
    FIFO* algoritmasının basitçe iyileştirilmesiyle ortaya konmuştur. Sayfa tablosunda her sayfa için bir referans biti bulunur. Her seferinde MMU eriştiği belleğin referans bitini 1 yapar. Eğer bir sayfalama hatası olursa, second chance algoritması bu referans bitine bakar ve eğer bu bitin 1 olduğunu görürse bu biti 0 yaparak dallanır sonra başka bir sayfayı arar.

    Algoritması:
 
Check (en eski sayfanın Referans Biti);
 
Eğer: (Referans Biti == 0) yer değiştif; ve referans bitini temizle;
 
Eğer: (Referans Biti == 1) Referans Biti'ni temizle; Sayfayı Listenin en sonuna at;  ve aramaya devam et...

ilk hali
   

son hali

       0 anında gelen ve en eski sayfa olan A, süreçle birlikte başlamıştır. Farz edelim ki 20. saniyede bir hata meydana geldi. Eğer A’ nın R biti silinmişse bellekten diske yazılır. Fakat R biti yerleşikse A listenin en sonuna alınarak R sonunda temizlenir. Arama B ile devam eder.