İşletim Sisteminde Sanal Bellek: Nedir, Talep Çağrısı, Avantajları
⚡ Akıllı Özet
Sanal bellek, ikincil depolamanın bir bölümünü RAM olarak ele alarak kullanıcıya büyük bir ana bellek yanılsaması veren bir depolama mekanizmasıdır. Fiziksel bellekten daha büyük işlemlerin çalışmasına olanak tanır ve talep üzerine sayfalama ile uygulanır.

Sanal Bellek Nedir?
Sanal bellek Sanal bellek, kullanıcıya çok büyük bir ana belleğe sahip olma yanılsamasını sunan bir depolama mekanizmasıdır. Bu, ikincil belleğin bir bölümünün ana bellek olarak ele alınmasıyla gerçekleştirilir. Sanal bellekte, kullanıcı mevcut ana bellekten daha büyük boyutta işlemleri depolayabilir.
Bu nedenle, işletim sistemi ana belleğe uzun bir işlem yüklemek yerine birden fazla işlemin çeşitli parçalarını ana belleğe yükler. Sanal bellek çoğunlukla talep sayfalama ve talep bölümleme ile uygulanır.
Neden Sanal Belleğe İhtiyaç Duyulur?
Sanal bellek kullanmanın nedenleri şunlardır:
- Bilgisayarınızın fiziksel belleğinde yer kalmadığında, hatırlaması gereken bilgileri sanal bellek olarak bir takas dosyasına yazar.
- Çalışan bir bilgisayar varsa Windows Sistemde kurulu olan bellekten/RAM'den daha fazlasına ihtiyaç duyduğunda, bu amaçla sabit sürücünün küçük bir bölümünü kullanır.
Sanal Bellek Nasıl Çalışır?
Günümüzde sanal bellek oldukça yaygın hale gelmiştir. Bazı sayfaların yürütme için ana belleğe yüklenmesi gerektiğinde ve bu sayfalar için yeterli bellek bulunmadığında kullanılır.
Bu durumda, işletim sistemi sayfaların ana belleğe girmesini engellemek yerine, son zamanlarda minimum düzeyde kullanılan veya referans alınmayan RAM alanını arar ve yeni sayfalar için ana bellekte yer açmak üzere bu alanı ikincil belleğe taşır.
Anlayalım sanal bellek yönetimi bir örnek yardımıyla.
Örneğin
İşletim sisteminin çalışan tüm programları depolamak için 300 MB belleğe ihtiyaç duyduğunu varsayalım. Ancak şu anda RAM'de yalnızca 50 MB kullanılabilir fiziksel bellek bulunmaktadır.
- İşletim sistemi daha sonra 250 MB sanal bellek oluşturacak ve bu 250 MB'ı yönetmek için Sanal Bellek Yöneticisi (VMM) adı verilen bir program kullanacaktır.
- Bu durumda, VMM (Sanal Makine Yöneticisi), gerekli olan ek belleği depolamak için sabit diskte 250 MB boyutunda bir dosya oluşturacaktır.
- İşletim sistemi, RAM'de yalnızca 50 MB alan mevcut olsa bile, sanki 300 MB gerçek bellek depolanmış gibi belleğe erişmeye devam edecektir.
- Sanal bellek yöneticisinin (VMM) görevi, gerçekte yalnızca 50 MB bellek alanı mevcut olsa bile 300 MB belleği yönetmektir.
Talep Çağrısı nedir?
Talep sayfalama mekanizması, bir talep çağrı mekanizmasına çok benzer. çağrı sistemi takas ilepingBurada işlemler ikincil bellekte saklanır ve sayfalar önceden değil, yalnızca talep üzerine yüklenir.
Dolayısıyla, bağlam değiştirme gerçekleştiğinde, işletim sistemi eski programın sayfalarından hiçbirini diskten veya yeni programın sayfalarından hiçbirini ana belleğe kopyalamaz. Bunun yerine, ilk sayfayı yükledikten sonra yeni programı çalıştırmaya başlar ve referans verilen program sayfalarını getirir.
Program çalışması sırasında, eğer program ana bellekte bulunmayan, yani takas yoluyla dışarı atılmış bir sayfaya referans veriyorsa, işlemci bunu geçersiz bir bellek referansı olarak kabul eder. Bunun nedeni, sayfa hatasının kontrolü programdan işletim sistemine geri aktarması ve işletim sisteminin sayfayı tekrar belleğe kaydetmesini talep etmesidir.
Sayfa Değiştirme Yöntemi Türleri
İşte bazı önemli sayfa değiştirme yöntemleri:
- FIFO
- Optimal Algoritma
- LRU Sayfasının Değiştirilmesi
FIFO Sayfasının Değiştirilmesi
FIFO (İlk giren ilk çıkar) basit bir uygulama yöntemidir. Bu yöntemde bellek, en uzun süre belleğin sanal adresinde bulunan sayfayı değiştirilecek sayfayı seçer.
Özellikler
- Yeni bir sayfa yüklendiğinde, bellekte en uzun süre kalan sayfa kaldırılır. Bu nedenle, hangi sayfanın kaldırılacağına karar vermek kolaydır, çünkü kimlik numarası her zaman FIFO yığınının önünde yer alır.
- Ana bellekteki en eski sayfa, değiştirilmek üzere ilk seçilmesi gereken sayfadır.
Optimal Algoritma
En uygun sayfa değiştirme yöntemi, bir sonraki referansa kadar geçen sürenin en uzun olduğu sayfayı değiştirme için seçer.
Özellikler
- Optimal algoritma en az sayıda sayfa hatasıyla sonuçlanır. Bu algoritmanın uygulanması zordur.
- En uygun sayfa değiştirme algoritması, tüm algoritmalar arasında en düşük sayfa hatası oranına sahiptir. Bu algoritma mevcuttur ve MIN veya OPT olarak adlandırılmalıdır.
- Uzun süre kullanılma olasılığı düşük olan sayfayı değiştirin. Sadece sayfanın kullanılması gerektiği zamanlarda kullanılır.
LRU Sayfasının Değiştirilmesi
LRU'nun açılımı En Az Son Kullanılan Sayfa'dır. Bu yöntem, işletim sisteminin kısa bir süre içindeki sayfa kullanımını bulmasına yardımcı olur. Bu algoritma, her sayfaya bir sayaç atanarak uygulanmalıdır.
Nasıl Çalışır?
- Ana bellekte en uzun süre kullanılmamış olan sayfa, değiştirilmek üzere seçilecektir.
- Uygulaması kolay, liste tutun, sayfaları geriye bakarak değiştirin.
Özellikler
- LRU değiştirme yöntemi en yüksek sayıya sahiptir. Bu sayaç aynı zamanda yaşlandırma kaydı olarak da adlandırılır ve yaşlarını ve ilgili sayfalarına ne kadar sıklıkla referans verilmesi gerektiğini belirtir.
- Ana bellekte en uzun süredir kullanılmayan sayfa, değiştirilmek üzere seçilmesi gereken sayfadır.
- Ayrıca bir liste tutar ve geçmişe bakarak sayfaları değiştirir.
Arıza oranı
Arıza oranı, tasarlanmış bir sistemin veya bileşenin arızalanma sıklığıdır. Birim zamandaki arıza sayısı olarak ifade edilir. Yunanca λ (lambda) harfiyle gösterilir.
Sanal Belleğin Avantajları
Sanal belleğin kullanımının avantajları/faydaları şunlardır:
- Sanal bellek, programın yürütülmesi için programın yalnızca belirli bir bölümü gerektiğinde hız kazanmaya yardımcı olur.
- Çoklu programlama ortamının uygulanmasında çok faydalıdır.
- Aynı anda daha fazla uygulamayı çalıştırmanıza olanak tanır.
- Birçok büyük programı daha küçük programlara sığdırmanıza yardımcı olur.
- Bellek arasında ortak veri veya kod paylaşılabilir.
- Bir süreç, tüm fiziksel hafızadan bile daha büyük hale gelebilir.
- Veri/kod, gerektiğinde diskten okunmalıdır.
- Kod, yer değiştirmeye gerek kalmadan fiziksel belleğin herhangi bir yerine yerleştirilebilir.
- Ana bellekte daha fazla işlemin tutulması gerekir, bu da CPU'nun etkin kullanımını artırır.
- Her sayfa, ihtiyaç duyulana kadar diskte saklanır, ihtiyaç duyulduktan sonra ise silinir.
- Aynı anda daha fazla uygulamanın çalıştırılmasına olanak sağlar.
- Çoklu programlamanın derecesi konusunda belirli bir sınır yoktur.
- Sanal adres alanı fiziksel belleğe kıyasla daha fazla olduğundan, büyük programlar bu şekilde yazılmalıdır.
Sanal Belleğin Dezavantajları
Sanal bellek kullanmanın dezavantajları/olumsuz yönleri şunlardır:
- Sistem sanal bellek kullanıyorsa uygulamalar daha yavaş çalışabilir.
- Uygulamalar arasında geçiş yapmak muhtemelen daha fazla zaman alacaktır.
- Bu, kullanımınız için daha az sabit disk alanı sunar.
- Sistem kararlılığını azaltır.
- Bu, yeterli fiziksel RAM'e sahip olmayan sistemlerde daha büyük uygulamaların çalışmasına olanak tanır.
- RAM ile aynı performansı sunmuyor.
- Sistemin genel performansını olumsuz etkiler.
- Bu, başka amaçlarla uzun vadeli veri depolama için kullanılabilecek depolama alanını işgal eder.

