Isbaran Akcayir
Canakkale 18 Mart Univ. Bilgisayar Muh.
http://ish.kodzilla.org
Page Replacement Algorithms ( PRA )
Bir program calistirildiginda, hafizada sayfalar (page) yoktur.
Program ihtiyac duydugunda frame'lere yuklenirler.
Butun frame'lerin dolu oldugu bir durumda, eger o anda frame'lerden birinde bulunmayan
bir sayfaya ulasilmak istenirse "Page Fault" dedigimiz durum olusur.
Isletim Sistemi bu sayfayi hafizaya almak zorundadir ama frame'ler dolu olduklarindan
o anda hafizada olan sayfalardan birisi bosaltilmalidir.
Iste Isletim sistemi PRA algoritmalarindan birini kullanarak nereyi bosaltacagina karar verir.
Iyi bir algoritma secimi bir programin calisma hizinda buyuk rol oynar ve
bu algoritmalar "yakin zamanda lazim olacak bir frame'i bosaltma!" mantigiyla calisirlar.
Bu sayfada sadece "The Optimal Page Replacement Algorithm" anlatilmistir.
The Optimal Page Replacement Algorithm
Bu en iyi sayfa yerdegistirme algoritmasi en iyisi oldugu halde uygulamasi imkansiz olan bir
algoritmadir. Nedeni, duzgun calismasinin, isletim sisteminin olacaklari tahmin etmesine bagli
olmasidir. Su sekilde calisir:
Bir "Page Fault" durumunda hafizada bazi sayfalar (Page) bulunur. Bu sayfalarin kac adim sonra
kullanilacaginin sayfa etiketlerinde yazili oldugunu dusunelim ( bu kismi algoritmayi calisamaz
yapiyor, cunku bir programin ne zaman ne yapacagi hic belli olmayabilir, dolayisiyla bu sayfalardaki
bilgilerin ne zaman kullanilmak istenecegi tahmin edilemez ). Optimal Page Replacement
Algoritmasi basitce en son kullanilacak olan sayfanin bulundugu frame'in bosaltilmasi prensibine
dayaniyor.
Asagidaki tabloda isleyisin nasil calistigi basitce gosterilmistir, referans dizisindeki verilerin
istenis sirasina gore frame'ler icerisindeki duruma dikkat ediniz, 1. adimda en son 7 istenecegi bilindigi
icin (!) 2, 7 yerine yazilmistir.
Bu yontem, program ilk once bir kere calistirilip sayfa referanslari takip edildigi takdirde,
ikinci bir calistirilista, onceden bilinen referans bilgileri kullanilmak suretiyle uygulanabilir. Eger bir
isletim sistemi optimal yerdegistirme'ninkinden 1% daha az bir performansla calisir duruma
ulasirsa, daha iyi bir algoritma bulmak icin harcanacak efor en fazla 1% daha iyi performans
saglayacaktir.
Bu durum optimal replacement algoritmasinin etkin bir algoritma oldugunu gostermiyor. Her ne kadar
sayfa yerdegistirme algoritmalarini kiyaslamak icin iyi bir yontem olsa da, yukarida bahsettigimiz
yontemde tek bir programin calistigi durum varsayilarak basit bir cozum getirilmistir ve bu yontem
aslinda gercek sistemlerde kullanilmamaktadir.
Kaynaklar:
Modern Operating Systems -> Andrew S. Tanenbaum
Operating Systems -> Bing-Yu Chen
Hata Bildir