Devingen Bölümlü Bellek Yönetimi

Bu yöntemin temel ilkesi, işlerin görevlere dönüştürülüp sisteme sunulmasında bölümlerin devingen olarak yaratılmasıdır. İşlemler bellekteki boşluklara bloklar halinde yerleştirilir. Yeni bir işlem geldiğinde bellekte işlemin yeteceği kadar bir alan ayrılarak konumlandırılır ve işletim sistemi boş alanlar ve dolu alanlar ile ilgili bilgileri kayıt altına alır. Bölümlerle ilgili bölüm başlangıç adresi, boyutu gibi bilgiler tutulur.

64M’lık ana belleğin 20M P1, 14M P2, 18M P3, 8M P4 için kullanılacağını düşünelim.

(a) Başlangıçta ana belleğin işletim sistemi dışında boş olduğunu varsayalım. Programlar birbirleri ardına gerekli bölümleri oluşturarak ana belleğe yüklenir.

(b) P4 işlemi için bellekte yeterli yer olmadığı görülür. Yer değiştirme (swap) işlemiyle bir işlem sanal belleğe taşınır. P2’nin yer değiştireceğini varsayalım.

(c) P2’nin yer değiştirmesinden sonra bellekte 14M’lık bir bölüm serbest kalır. P4, bu bölüme yüklenebilir.

(d) P2’nin çalışması için tekrar ana belleğe yüklenmesi gerekirse, bu sefer P1’in bekleme durumunda olduğunu ve yer değiştireceğini varsayalım. Yer değiştirme olayından sonra P2 tekrardan ana belleğe yüklenebilir.

(e) Bellekte oluşan dış parçalanmalardan kurtulmak için bitiştirme işlemi yapılır.

Ana Belleğin Parçalanması Sorunu

Ana belleğin parçalanması, bitişik alanların görevlere atanan bölümlerle, zaman içinde küçülmesi olarak tanımlanır. Bu sorun, kullanılan bölümler arasına sıkışmış, işletim için bekleyen görevlerin gereksinimini karşılayamayan boş alanların varlığıyla ortaya çıkar. Görevlere ayrılan alan konumlarının işletim sırasında değiştirilememesi parçalanma sorununun temel nedenleridir. Parçalanma sonucu oluşan boş alan bölüm içindeyse iç parçalanma, bölümler arasındaysa dış parçalanma olarak adlandırılır. Devingen bölümlü bellek yönetiminde bölümler arasında boş alanlar kalmakta, yani dış parçalanma oluşmaktadır.

Bu sakıncalı durumun yok edilebilmesi için bitiştirme işlemi kullanılabilir. Tüm bellek alanına dağılmış durumdaki bölümleri, yerlerini değiştirerek yan yana yerleştirip tek bir bitişik boş alan yaratma işlemine bitiştirme işlemi (compaction) denir. Bitiştirme işlemiyle tüm kullanılmayan parçalar bir yerde toplanır. Bitiştirme işlemi, işlemciyi meşgul eden, zaman alan ve dolayısıyla bilgisayarı yavaşlatan bir işlemdir. Bitiştirme ihtiyacını azaltmak için aşağıdaki yerleştirme algoritmaları kullanılır.

  • İlk Uygun Yer Algoritması (First Fit)
  • Sonraki Uygun Yer Algoritması (Next Fit)
  • En Uygun Yer Algoritması (Best Fit)

Kaynak


<< Değişmez Bölümlü Bellek Yönetimi | Sayfalı Bellek Yönetimi >>

You may also like...