İş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.

  • ???? Tanım: Sanal bellek, daha büyük işlemleri çalıştırmak için ikincil depolamanın bir bölümünü ana bellek gibi kullanır.
  • 🎯 Neden Gerekli: Fiziksel RAM yetersiz kaldığında, disk üzerindeki bir takas dosyası kullanarak ek bellek sağlar.
  • 📥 Talep Üzerine Çağrı Sistemi: Sayfalar, yalnızca gerçekten referans edildikleri zaman diskten RAM'e yüklenir.
  • 🔁 Sayfa Değiştirme: FIFO, Optimal ve LRU algoritmaları, sayfa hatası durumunda hangi sayfanın silineceğine karar verir.
  • ✅ avantajı: Çoklu programlamayı destekler ve programların fiziksel belleğin boyutunu aşmasına olanak tanır.
  • ⚠️ Dezavantaj: RAM'den daha yavaştır ve genel sistem performansını düşürebilir.

İşletim Sisteminde Sanal Bellek

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 Çağrısı

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.

SSS

Bir program, ana bellekte bulunmayan bir sayfaya referans verdiğinde sayfa hatası oluşur. İşletim sistemi programı durdurur, gerekli sayfayı diskten RAM'e getirir, sayfa tablosunu günceller ve ardından yürütmeye devam eder.

Sistem, takas işlemlerine daha fazla zaman harcadığında aşırı yüklenme meydana gelir.ping RAM ve disk arasında, çalışan işlemlerden daha fazla sayfa paylaşılır. Bu durum, çok yüksek oranda çoklu programlamadan kaynaklanır ve performansı ciddi şekilde düşürür. Aktif işlem sayısını azaltmak veya RAM miktarını artırmak yardımcı olur.

RAM, aktif verilerin depolandığı hızlı fiziksel donanımdır. Sanal bellek ise, disk alanını bellek gibi kullanarak RAM'i genişleten bir tekniktir. Sanal bellek çok daha büyüktür ancak gerçek RAM'den çok daha yavaştır.

Yapay zeka, bir programın bellek erişim kalıplarını öğrenebilir ve hangi sayfaların yakında gerekli olacağını tahmin edebilir. Bu, işletim sisteminin RAM'de faydalı sayfaları tutmasını ve doğru olanları dışarı atmasını sağlayarak ideal Optimal algoritmasına yaklaşır ve sayfa hatalarını azaltır.

Evet. Yapay zeka modelleri, geçmiş erişim dizilerini analiz ederek, sayfalar istenmeden önce önceden yükleyebilir ve sayfaların ne kadar agresif bir şekilde değiştirileceğini ayarlayabilir. Bu, sayfa hatalarını ve aşırı yüklenmeyi azaltır, ancak tahmin hataları ve ek yük düşük tutulmalıdır.

Bu yazıyı şu şekilde özetleyin: