Bir
sayfa referans edildiğinde sayfa hatası meydana gelir. R (referans)
biti ayarlanır ve doğru sayfayı işaret etmesi için sayfa tablo girişi
düzenlenir . Ek olarak
sayfa sadece okunur şekilde ayarlanır. Eğer sayfa daha sonra yazılırsa,
M (modified) bit
kurulur ve sayfa yazılır/okunur şekline çevrilir.Bir süreç çalışmaya
başladığında bütün R ve M bitleri sıfırlanır. Periodik olarak
(örneğin her saat vuruşunda) R biti sıfırlanır.Bu hangi sayfaların son
olarak referans edildiğini
anlamamızı sağlar.
Not: Bitler her hafıza referansında güncellenir.
O/S bir program çalışmaya başladığında bitleri 0'a ayarlar.
Bir sayfa hatası meydana geldiğinde, O/S bütün sayfaları araştırır ve onları o an geçerli olan R
ve M bitlerine bağlı olarak 4 katagoriye ayırır.
Class 0 : Not Referenced, Not Modified
Class 1 : Not Referenced, Modified
Class 2 : Referenced, Not Modified
Class 3 : Referenced, Modified
NRU algoritması bir sayfayı rasgele olarak en düşük numaralı boş
olmayan sınıfdan kaldırır.Çok optimal bir algoritma olmamasına rağmen,
NRU yeterli performansı sağlar, ayıca
anlaması ve uygulaması da kolaydır. NRU, LRU ya benzer bir
algoritmadır. NRU sadece referans edilmiş bitleri değil modifiye
edilmiş bitleri de kullanır.
Kendi başına çok iyi olmasa da onun farklı biçimleri modern
bilgisayarlarda ağırlıklı
olarak kullanılan algoritmaların kaynağıdır. Bu populerliğin nedeni NRU
ve onun türevi algoritmalar R ve M bitleri haricinde donanıma
gereksinim duymazlar.
| time | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
|---|---|---|---|---|---|---|---|---|---|---|---|
| w | c | a* | d | b* | e | b | a* | b | c | d | |
| frame 0 | a | a/00 | a/11 | a/11 | a/11 | a/01 | a/01 | a/11 | a/11 | a/01 | a/01 |
| frame 1 | b | b/00 | b/00 | b/00 | b/11 | b/01 | b/11 | b/11 | b/11 | b/01 | b/01 |
| frame 2 | c | c/10 | c/10 | c/10 | c/10 | e/10 | e/10 | e/10 | e/10 | e/00 | d/10 |
| frame 3 | d | d/00 | d/00 | d/10 | d/10 | d/00 | d/00 | d/00 | d/00 | c/10 | c/10 |
| page fault | 1 | 2 | 3 | ||||||||
| page(s) loaded | e | c | d | ||||||||
| page(s) removed | c | d | e |
Yukarıdaki tabloda sayfalardan sonra gelen iki bit sırasıyla R ve M bitidir. Bunun gibi bir tablo vasıtasıyla sayfaların belirli zaman aralığındaki R ve M değerleri kayıtlı tutulur. Ayrıca sayfa hataları, yüklenen ve kaldırılan sayfalarda bu tablolarda mevcuttur.
Kaynaklar