Skip to main content

SANAL BELLEK

Sanal bellek, fiziksel belleğin görünürdeki miktarını arttırarak uygulama programına (izlence) fiziksel belleğin boyutundan bağımsız ve sürekli bellek alanı sağlayan bilgisayar tekniğidir.

Neden Sanal Bellek Kullanılır ?

  • Programların konumlandırılması, belleğin programlar arasında etkin ve güvenli bir şekilde paylaşılması.
  • Sınırlı boyuta sahip ana belleğin programlama ve kullanım açısından yaratacağı güçlükleri aşmak.

Eski işletim sistemlerinde ihtiyaç olmadığından kullanılmaz.

Sanal Belleğin Çalıştırılması

Merkezi İşlem Birimi (Central Processing Unit) bir “sanal adres (mantıksal adres)” üretir.

Sanal adreslerin oluşturduğu kümeye “adres uzayı” denir. Yazılım ve donanımın birlikte çalışmasıyla bu sanal adres, ana belleğe ulaşmak için kullanılacak bir gerçek (fiziksel) adrese dönüştürülür.

Bu işleme “adres dönüştürme” (memory mapping / address translation) denir. Gerçek adreslerin oluşturduğu kümeye ise “bellek uzayı” denir.

Yerleştirme

Programların çalıştırılmak üzere yüklenmesinde “yerleştirme (relocation)” tekniğini kullanarak kolaylık sağlar.

Yerleştirmede programın kullandığı sanal adresler, ana belleğe erişimden önce farklı gerçek adreslere yönlendirilirler.

Bu işlem, programı yüklerken ana belleğin herhangi bir yerini kullanabilmemizi sağlar.

Sayfalama

Sayfalama durgun sanal bellek sayfalarının ikincil bellekte saklanarak daha sonra ihtiyaç duyulduğunda ana belleğe yüklenmesi işlemini içerir.

Yazmalar

Adres Dönüştürme Önbelleği (ADÖ) (Translation Lookaside Buffer (TLB))

Sanal Bellek Tasarımında Temel Sorunlar

  • İkincil bellekten ana belleğe aktarılacak olan bilgi öbeklerinin boyutunun belirlenmesi
  • Ana bellekteki tüm sayfalar kullanımdayken sayfa hatası oluşması durumunda, işletim sisteminin bir sayfayı değiştirmek(takas yapmak) üzere seçmesi yöntemi
  • Belleğin hangi bölgesinin yeni sayfayı tutacağının belirlenmesi (konumlandırma yöntemi)
  • İstek üzerine yükleme yöntem

Bir Cevap Yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir