Bellek Altsistemi
Önceki Bellek Özkaynakları Sonraki
Bellek Altsistemi
Unix sistemleri genelde süreçlere sanal adres alanları sunarlar. Bunun anlamı, verinin saklandığı adres alanlarının aslında fiziksel bellek adresleri değil, bunları kapsayan ama bu adreslere doğrudan erişim sağlamayan bellek bölgelerinin adresleri olduğudur. Sanal adreslerin fiziksel adreslere dönüştürüldüğü ek bir dolaylı işlem katmanı vardır ve bu işlemler normalde işlemcinin donanımı tarafından yapılır.
Bir sanal adres alanı kullanmanın çeşitli yararları vardır. En önemlisi süreç yalıtımıdır. Sistemde çalışmakta olan farklı süreçlerin birbirleriyle doğrudan etkileşmemeleri gerekir. Bir sürecin adres alanına başka hiçbir süreç yazamaz (Paylaşımlı bellek kullanımı hariç. Ancak bu da isteğe bağlıdır ve denetim altında yapılır).
Sanal bellek kullanımının diğer bir yararı da süreçlerin adres alanının mevcut fiziksel bellekten daha büyük bir bellek alanı olarak görünmesidir. Fiziksel bellek dış saklama ortamları ile genişletilebilir ve o an kullanılmayan bellek bölgeleri bu ortamlara aktarılabilir. Adres dönüşümü bu bellek bölgelerine erişimi engeller ve hemen bu içeriği fiziksel belleğe geri yükleyerek kullanıma hazır duruma getirir. Kullanılabilir fiziksel bellekle kullanılabilir sanal adres alanı arasındaki farkın bilindiği durumda bu işlem yazılımların belleği kullanabilmesi için gerekli hale gelir. Sistemde çalışmakta olan tüm süreçlerin çalışmalarını sürdürebilmeleri için fiziksel belleğin yetersiz kaldığı ve dış saklama ortamlarının hemen hemen dolduğu durumlarda bu iki ortam arsındaki takaslama işlemi küçük miktarlarda olmaya başlar ve bu sistemin belirgin biçimde yavaşlamasına sebep olur. Buna atıştırma (thrashing) denir (argosu: çöplenme).
Sanal bellek hakkında söylenebilecek son şey, önceki paragrafta bahsedilen sanal belleğin takaslanma büyüklüğü ile ilgilidir. Bu takaslama işlemi bayt bayt yapılmaz. Yönetsel karar organı bunun olmasına izin vermez (işlemci donanımı naparsan yap deyip bırakılmaz). Bunun yerine birkaç bin baytlık sayfa olarak nitelenen belirli miktarlarla bu işlem yapılır. Her sayfanın genişliği ikinin üstel katları olarak bayt cinsinden belirlenir. Günümüzdeki en küçük sayfa genişliği 4096 bayt olup, 8192, 16384 ve 65536 baytlık sayfa genişlikleri de görülmektedir.
Önceki Üst Ana Başlık Sonraki
Bellek Özkaynakları Başlangıç Bellek Parametrelerinin Sorgulanması
Bir Linux Kitaplığı Sayfası