Bölümlü Bellek Yönetimi

Bölümlü bellek yönetiminde (segmentation) mantıksal adres alanı sayfalar yerine bölümlerden oluşmaktadır. Bir adres, hem bölüm numarası (s) hem de bölüm içerisindeki adresi belirten ofset numarasından (d) meydana gelmektedir.

Mantıksal adreslerin fiziksel adreslere dönüştürülmesi için bölüm tablosuna ihtiyaç vardır. Bölüm tablosu, her bölümün başlangıç (taban) adresi ve uzunluğu bilgisini tutmaktadır. Böylece her bölümün başlama ve bitiş (tavan adresi) noktaları hesaplanabilir.

Bir mantıksal adresin ofset değeri, taban ve tavan değerleri arasında olmalıdır. Eğer ofset değeri fazla olursa mantıksal adresin bölümü aşması bellek erişim hatası (segment fault) oluşur. Eğer ofset değeri belirtilen sınırlar arasında ise bölüm taban değeri ile ofset adresi toplanarak, fiziksel adres oluşturulmaktadır.

Fiziksel Adres (FA) = Bölüm Taban Adresi (TA) + Ofset (d)

Örnek:

Bölüm tablosunun yandaki gibi olduğunu varsayınız. Aşağıdaki mantıksal adreslerin (bölüm no, ofset) fiziksel adres karşılıklarını bulunuz.

a) (0, 198)   b) (2, 156)   c) (1, 530)   d) (3, 455)   e) (0, 252)

Fiziksel adresi hesaplamak için aşağıdaki formül kullanılabilir:

Fiziksel Adres (FA) = Bölüm Taban Adresi (TA) + Ofset (d)

İlk olarak her mantıksal adresin hangi bölümde olduğu bölüm tablosu kullanılarak bulunmalı ve ofset değeri bu bölümün uzunluğu ile karşılaştırılmalıdır. Eğer ofset küçükse fiziksel adres hesaplanmalı, değilse bellek erişim hatası oluşturulmalıdır.

Kaynak


<< Sayfalı Bellek Yönetimi | Sayfalı ve Bölümlü Bellek Yönetimleri Arasındaki Farklar >>

You may also like...