Sanal Bellek Nedir, Ne İşe Yarar?

Sanal bellek, RAM’e tam olarak sığmayan işlemleri (fiziksel bellek) çalıştırmanıza izin veren bir tekniktir. Ve, fiziksel bellekten daha büyük programların oluşturulmasını teşvik eder.

Sanal Bellek Tanımı ve Özellikleri

Windows İşletim Sisteminde Kullanılan Virtual Memory (Sanal Bellek & RAM) Nedir?

Ek olarak, sanal bellek, kullanıcının gördüğü mantıksal bölgeden ayıran bir RAM soyutlama şeması oluşturmaya yardımcı olur.

Bu, bellek sınırlamaları hakkında endişelenmek zorunda olmadıkları için programcılar için işleri büyük ölçüde kolaylaştırır.

Sanal Bellek Özellikleri

Sanal hafıza, programın yalnızca gerekli kısımlarını belleğe yükler. Programın tamamı bellekte değildir.

Sanal RAM, mantıksal bellek ve fiziki RAM arasındaki ayrımdır. Genellikle isteğe bağlı sayfalama yöntemiyle uygulanır. Ancak, segmentasyona sahip bir sistemde de uygulanabilir.

Bellek tükenince, diskte SWAP dosyası oluşturulur. Bu dosya, yardımcı hafıza işlevi görür. Windows, RAM bittiğinde SWAP dosyasını kullanır. Bu dosya, sabit diskten RAM’e veri taşır.

Bu yöntem, fiziksel bellekte boşluklar oluşturur. Ancak, sistemi yavaşlatır. Fakat, bu yöntem, 4GB RAM olmadan, 4GB RAM simüle eder. Ayrıca, birden fazla uygulamayı çalıştırır.

Çoğu bilgisayarda dört tür bellek vardır. Bunlar, CPU, önbellek, fiziksel RAM ve sabit sürücü belleğidir. Birçok uygulama, fiziksel bellekte tutulabilecekten daha fazla bilgiye ihtiyaç duyar. Özellikle, işletim sistemi birden çok işlem çalıştırdığında geçerlidir.

Belleğe ihtiyaç duyma sorununa bir çözüm vardır. Uygulamalar, bazı bilgileri diskte tutar ve gerektiğinde ana belleğe taşır. Bunu yapmanın birkaç yolu vardır.

Bir seçenek, her segmentasyonda hangi bilgilerin kaydedileceğine karar vermektir. Dezavantajı, tasarım ve uygulama zorluklarıdır. Ayrıca, iki programın çıkarlarının çelişmesi mümkündür.

Alternatif olarak, virtual memory kullanılır. Bu yöntem, ana ve ikincil belleği kullanır. Böylece, bilgisayar daha fazla ana belleğe sahipmiş gibi görünür.

Bu yöntem, süreçler için görünmezdir. Maksimum hafıza miktarı, işlemcinin özelliklerine bağlıdır. Örneğin, 32 bit sistemde maksimum RAM 4GB’tır.

Sonuç olarak, sanal bellek, uygulama programlayıcısının işini kolaylaştırır. Veriyi farklı alanları arasında taşımaya gerek yoktur. İşletim sistemi yazılımı sanal belleği uygular. Ancak, donanım ve yazılım birlikte kullanılır.

Sanal Bellek Nasıl Çalışır?

Sanal adresleri gerçek adreslere çeviren bir Bellek Yönetim Birimi’dir (MMU). İşletim sistemi, hangi program bölümlerinin fiziksel bellekte saklanacağını belirler. Ayrıca, MMU’nun kullandığı adres çeviri tablolarını korur.

Bir istisna meydana geldiğinde, işletim sistemi devreye girer. Fiziksel alanı bulur, bilgileri diskten alır. Ardından, çeviri tablolarını günceller. Son olarak, programın yürütülmesine devam eder.

Çoğu bilgisayarda bellek adresi çeviri tabloları fiziksel bellektedir. Bu, bir hafıza adresine başvurunun iki referansa ihtiyaç duyduğu anlamına gelir. Performansı hızlandırmak için çoğu CPU, çip üzerinde bir MMU içerir. Ayrıca, yeni adres çevirilerini tutan TLB’yi kullanır.

Bu arabellek, ek bellek referansını gerektirmez. Böylece, çeviri sırasında zaman kazandırır. Bazı işlemcilerde bu işlem tamamen donanım üzerinden yapıyoruz. Ancak, işletim sistemi yardımı gerekiyor.

Bir istisna durumunda, işletim sistemi TLB’yi günceller. Sonrasında, orijinal bellek referansı yeniden yürütür. Sanal bellek desteği, genellikle RAM korumasına da izin verir. MMU, hafıza referansı türüne göre çalışma şeklini değiştirir.

Bu, işletim sisteminin kendi kodunu ve verilerini korumasını sağlar. Ayrıca, uygulamaların birbirleriyle sorun yaşamasını önler.

Virtual Memory Kullanımı

Sanal RAM veya CPU bir adrese eriştiğinde donanım, bellek adreslerini çevirir. Gerçek bir hafıza adresi oluşturur veya ana hafızada olup olmadığını belirtir.

İlk durumda, bellek referansı normal şekilde tamamlanır. Yazılım gerekli konuma erişir ve çalışmaya devam eder.

İkinci durumda işletim sistemi durumu ele alır. Koşula göre programın devam etmesini veya durmasını sağlar.

Bu teknik, mevcut fiziksel bellekten daha fazla belleği simüle eder. Bu nedenle programlar, fiziksel belleğin boyutundan bağımsız olarak çalışır.

Bellek yanılsaması, hızlı disk depolama ve çevirisi ile destekler. Böylece sanal adres alanı gerçek belleğin yalnızca bir bölümünü izler. Geri kalanı diskte kalır ve kolayca erişilebilir.

CPU yalnızca ana belleğin kısmına eriştiği için referansları değişir. Bu nedenle bazı sanal RAM parçalarının ana belleğe taşınması gerekir. Sanal bellek artık modern işletim sistemleri için vazgeçilmezdir.

Bir sürecin yalnızca birkaç kısmı bellekte olduğundan daha fazla süreç sığar. Üstelik kullanılmayan parçalar yüklenmediği ve çıkarılmadığı için zaman tasarrufu sağlar.

Ancak işletim sisteminin bu düzeni etkili bir şekilde yönetmesi gerekir. Ek olarak bu, yer değiştirmeyle programın yürütülmesini basitleştirir. Böylece program herhangi bir fiziksel bellek konumunda çalışır.

Kararlı bir durumda ana hafıza süreç parçalarıyla doludur. Sonuç olarak CPU ve işletim sistemi birçok işleme doğrudan erişime sahiptir. İşletim sisteminin başka bir parçayı yüklemek için bir parçayı çıkarması gerekir.

Bir parçanın ihtiyaç duyulmadan önce çıkarılması, yeniden yüklenmesini gerektirir. Aşırı takas, hiper sayfalamaya yol açar. Burada CPU, talimatları yürütmekten çok takas için daha fazla zaman harcıyor.

Bunu önlemek için işletim sistemi hangi parçalara daha az ihtiyaç duyulacağını tahmin eder. Bu tahmin, yakın zamandaki kullanım geçmişine dayanmaktadır. Bu, veri referanslarının gruplandırıldığı yerellik ilkesine dayanır.

Bu nedenle aynı anda yalnızca birkaç proses parçasına ihtiyaç duyar. Yerelliğin doğrulanması, sanal bellekteki işlem performansının değerlendirilmesini içerir. Hafıza şemalarının işe yarayabileceğini öne sürüyor.

Etkili hafıza iki bileşen gerektirir. Öncelikle donanım desteğine ihtiyaç var. İkinci olarak, işletim sisteminin bellek ile ikincil depolama arasındaki sayfa veya bölüm hareketlerini yönetmesi gerekir.

Fiziksel adres alındıktan sonra önbelleği kontrol eder. Yakın zamanda kullanılan veriler bulunursa arama başarılı olur. Ancak başarısız olursa sanal bellek ana belleğe veya diske erişir.

Sayfalama Tekniği

Sanal RAM genellikle disk belleği ile uygulanır. Sayfalamada, sanal RAM adresinin en az önemli bitleri korur. Bu bitler, doğrudan fiziksel RAM adresinin en az önemli bitleri olarak kullanır.

Ancak, en önemli bitler farklıdır. Bu bitler, fiziksel adresin kalan kısmını bulmaya yarar. Ayrıca, adres çeviri tablosunda anahtar olarak kullanılırlar.

Sonuç

Sonuç olarak, sanal bellek fiziksel RAM kaynaklarını verimli yönetir. Ayrıca, büyük programları çalıştırmayı sağlar. Bu nedenle, sanal hafıza alanı modern bilgi işlemde çok önemlidir.

Fiziksel RAM’den daha büyük RAM simülasyonu önemlidir. Bu, birden fazla uygulamayı çalıştırmak için gereklidir.

Hem programcılar hem de kullanıcılar, sanal belleğin ilkelerini ve işlevlerini anlamalıdırlar. Böylece, bunun sistem performansını ve kararlılığını korumadaki önemini anlayabilirler.

Add a Comment

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir