Sayfa tablosu

Sanal bellekte sayfalar, belleği dizinleyen bir tablo kullanılarak yerleştirilirler. Bu yapı “sayfa tablosu (page table)” olarak adlandırılır. Bellekte tutulan sayfa tablosu sanal bellek adresinin numarasına göre dizinlenmiştir ve ona karşılık gelen gerçek sayfa numarasını içerir. Her program, sanal adres uzayını, ana bellekteki bellek uzayına dönüştüren kendine ait bir sayfa tablosuna sahiptir. Sayfa tablosu, ana bellekte mevcut olmayan sayfaların kayıtlarını da tutabilir. Her sayfa tablosunda geçerli bit (1 veya 0 ) tutulur. Eğer bu bit mantıksal sıfıra eşit ise sayfa ana bellekte mevcut değil demektir ve “sayfa hatası (page fault)” oluşur. Eğer bit mantıksal bire işaret ediyorsa sayfa ana bellekte mevcut ve geçerli bir fiziksel adrese sahip demektir.

küçükresim|
Sayfa tablosu, karşılık gelen gerçek adresi elde etmek üzere sanal sayfa numarası ile dizinlenmiştir. Sayfa tablosu yazmacı sayfa tablosunun başlangıç adresini gösterir. Her kaydın geçerli biti adres dönüşümünün ve adresinin geçerliliğini gösterir. Eğer bu bit mantıksal sıfıra işaret ediyorsa sayfa bellekte mevcut değildir. Fazladan bitler ek bilgi saklamak veya güvenlik için kullanılabilir.

Sayfa Tablosu İçin Gerekli Depolama (Saklama) Boyutu ve Kullanılan Anabellek Miktarının Azaltılmasını Sağlayan Teknikler 

 Sayfa tablosunun boyutlarını sınırlayan bir sınır kaydı tutmak. Eğer sanal sayfa numarası sınır kaydının sınırını aşarsa kayıtlar sayfa tablosuna eklenmelidir. Bu teknik, bir işlem daha fazla alana ihtiyaç duyduğunda sayfa tablosuna büyüme yeteneği kazandırır. Sonuç olarak sanal adres uzayı yalnızca ihtiyaç duyulduğunda büyük tutulacaktır.
 Bölmelere ayırmak (segmentation): Çoğu dil iki boyutları büyüyebilen iki ayrı alan gerektirdiği için tek boyutta büyümenin yetersiz olduğu durumlarda sayfa tablosu ikiye bölünür. İki ayrı sayfanın farklı sınırlara sahip olması desteklenir. İki sayfa tablosu kullanımı adres uzayını da ikiye parçaya (segment) böler. Sınır kaydı her iki parça için de tutulur. MIPS mimarisi de bu tekniği desteklemektedir. 
 Sanal adrese bir hesaba dayalı adresleme (hashing) işlevi eklenerek sayfa tablosu veri yapısının sadece gerçek sayfa sayısı kadar boyutta olması sağlanabilir.Bu yapıya ters çevrilmiş (inverted) sayfa tablosu adı verilir.
 Birden fazla seviyeli sayfa tabloları kullanılabilir.
 Sayfa tabloları kullanımı için gerekli ana bellek miktarının azaltılması sayfa tablolarının tekrar sayfalanması ile sağlanabilir.

Ayrıca bakınız

 Sanal bellek
 Sayfalama

Kaynakça 

 http://oergin.etu.edu.tr/bil361/sanalbellek.pdf Oğuz ERGİN BİL 361 – Bilgisayar Mimarisi ve Organizasyonu, Sanal Bellek
 John L. Hennessy, David A. Patterson, Computer Architecture, A Quantitative Approach (ISBN 1-55860-724-2)
 https://web.archive.org/web/20100806135317/http://computer-refuge.org/bitsavers/pdf/burroughs/B5000_5500_5700/5000-21005_B5000_operChar.pdf Operational Characteristics for the Processors for Burroughs
 http://www.multicians.org/multics-vm.html The Multics Virtual Memory: Concepts and Design

Dış bağlantılar 

 wikipedia: virtual memory 
 howstuffworks: virtual memory
 www.cs.gmu.edu/cne :virual memory
 courses.cs.vt.edu : virtual memory tutorial
 belgeler.org: sanal bellek

Sanal bellek