noimage

İçeriği Paylaş:

Sayfa Tabloları (Page Tables)

Sayfa Tabloları (Page Tables)Sanal adresi (virtual address) fiziksel adrese çevirebilmek için sanal adres, sanal sayfa numarası(virtual page b- number) ve göreli konum (offset) e parçalanır.Örneğin; 16 bitlik adres , 4kb lık sayfa boyutu ile16 bit adres =4 bit sanal sayfa numarası + 12 bit göreli konumaparçalanır. Sayfa boyutuna göre farklı parçalama yapılabilir.Sanal sayfa numarası sayfa tablolarında indeks değeri olarak kullanılır.Sayfa tablosundan sanal sayfa numarasına karşılık gelen sayfa çerçevesi bulunur. Bulunan adres göreli konum(offset) ile birleştirilir ve fiziksel adres oluşturulur.Bu adres belleğe gönderilir.Bu yaklaşımda iki temel problem ortaya çıkabilir :

  1. Sayfa tabloları oldukça büyük
  2. Eşleme işlemi çok hızlı yapılmalıdır.

Modern bilgisayarlarda 32 bit sanal adres kullanırlar. Eğer sayfa boyutunu 4 kb seçersek, 1 milyon sanal sayfa olmalıdır.                 Sayfa tablosunda 1 milyon girdi bulunmalıdır.Her sürecin kendi sanal adres uzayı olduğu için kendi sayfa tablosu da olmalıdır.Çok seviyeli sayfa tabloları (multi level page tables)Büyük sayfa tablolarını bellekte tutma problemini çözmek için çok seviyeli sayfa tabloları (multilevel page tables) kullanılmaktadır.32 bitlik sanal adres = 10 bit PT1 + 10 bit PT2 +12 bit göreli konuma parçalanır. Sayfa boyutları 4 kb olduğu için sayfa tablosunda 220 adet girdi vardır.Çok seviyeli sayfa tablolarında tüm sayfalar aynı anda bellekte bulunmaz.Sanal adres MMU ya verildiğinde, PT1 ayrılır. Bu değer ilk seviyeli tabloda indeks olarak kullanılır.İlk seviyedeki tablo girdisi ikinci seviyedeki tablo indeksini ya da adresini verir.İlk tablodaki 1024 girdiden her biri 4MB lık sanal belleğe karşılık gelmektedir.PT2 2. seviyedeki tablonun indeks değeri olarak kullanılır ve sayfa çerçevesi numarasını bulmak için kullanılır.Sanal adres MMU ya verildiğinde, PT1 ayrılır. Bu değer ilk seviyeli tabloda indeks olarak kullanılır.İlk seviyedeki tablo girdisi ikinci seviyedeki tablo indeksini ya da adresini verir.İlk tablodaki 1024 girdiden her biri 4MB lık sanal belleğe karşılık gelmektedir.PT2 2. seviyedeki tablonun indeks değeri olarak kullanılır ve sayfa çerçevesi numarasını bulmak için kullanılır.image007Sayfa Tablosu Girdilerin YapısıBu girdinin tam şekli makineye göre değişir fakat kabaca içerisindeki bilgiler aynıdır. Boyutu değişebilir ama genellikle 32 bit dir.Sağdan sola doğru sayfa çerçeve numarası, eşleme var ya da yok, koruma bitleri (RWX) | (R / W), M biti sayfaya yazma olduğunda 1 lenir(dirty biti), R biti sayfaya okuma ya da yazma olduğunda 1 yapılır.Caching  disabled biti cache(ön bellekleme) işleminin sayfa için yapılmasını engeller. Bu özellik bellek yerine aygıt yazmaçlarına eşlenmiş olan sayfalar için önemlidir.Eğer bellek ile I/O eşlemesi yok ise bu bit kullanılmaz.

İçeriği Paylaş:
İlginizi Çekebilir
Yorum Yapılmamış

Henüz Hiç Yorum Yapılmadı..

Yorum Yaz

Sayfa Tabloları (Page Tables)

İşletim Sistemleri

28/08/2017 | Yorum Yok | 59 | Mustafa Küçükakarsu