İşletim Sisteminde Sanal Bellek: Nedir, Talep Çağrısı, Avantajları
Sanal Bellek Nedir?
Sanal bellek kullanıcıya çok büyük bir ana belleğe sahip olduğu yanılsamasını sunan bir depolama mekanizmasıdır. İkincil belleğin bir kısmının ana bellek olarak ele alınmasıyla yapılır. Sanal bellekte kullanıcı, mevcut ana bellekten daha büyük boyuttaki işlemleri saklayabilir.
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 belleği kullanmanın nedenleri şunlardır:
- Bilgisayarınızın fiziksel belleğinde yer olmadığında, hatırlaması gerekenleri sanal bellek olarak bir takas dosyasında sabit diske yazar.
- Çalışan bir bilgisayar varsa Windows Daha fazla belleğe/RAM'e ihtiyaç duyar, daha sonra sisteme yüklendiğinde sabit sürücünün küçük bir kısmını bu amaç için kullanır.
Sanal Bellek Nasıl Çalışır?
Modern dünyada sanal bellek bugünlerde oldukça yaygın hale geldi. Yürütme için bazı sayfaların ana belleğe yüklenmesi gerektiğinde ve belleğin bu kadar çok sayfa için mevcut olmadığı durumlarda kullanılır.
Bu durumda işletim sistemi, sayfaların ana belleğe girmesini engellemek yerine, son zamanlarda minimum kullanılan veya ikincil belleğe referans verilmeyen RAM alanını arayarak yeni sayfalara yer açar. ana hafıza.
Anlayalım sanal bellek yönetimi bir örnek yardımıyla.
Örneğin
Bir işletim sisteminin çalışan tüm programları depolamak için 300 MB belleğe ihtiyacı olduğunu varsayalım. Ancak şu anda RAM'de depolanan yalnızca 50 MB kullanılabilir fiziksel bellek var.
- İşletim sistemi daha sonra 250 MB sanal bellek kuracak ve bu 250 MB'ı yönetmek için Sanal Bellek Yöneticisi (VMM) adı verilen bir programı kullanacaktır.
- Dolayısıyla bu durumda VMM, gerekli olan ekstra belleği depolamak için sabit diskte 250 MB boyutunda bir dosya oluşturacaktır.
- İşletim sistemi artık, yalnızca 300 MB alan mevcut olsa bile, RAM'de depolanan 50 MB'lık gerçek belleği göz önünde bulundurarak belleği adreslemeye devam edecektir.
- Yalnızca 300 MB gerçek bellek alanı mevcut olsa bile 50 MB belleği yönetmek VMM'nin görevidir.
Talep Çağrısı nedir?
Talep sayfalama mekanizması, bir talep çağrı mekanizmasına çok benzer. çağrı sistemi İkincil bellekte saklanan işlemlerin ve sayfaların önceden değil, yalnızca talep üzerine yüklendiği takas ile.
Dolayısıyla, bir bağlam değişikliği meydana geldiğinde, işletim sistemi eski programın herhangi bir sayfasını diskten veya yeni programın herhangi bir sayfasını ana belleğe asla kopyalamaz. Bunun yerine, ilk sayfayı yükledikten sonra yeni programı çalıştırmaya başlayacak ve programın başvurulan sayfalarını getirecektir.
Programın yürütülmesi sırasında, program değiştirildiği için ana bellekte bulunamayan bir sayfaya başvurursa, işlemci bunu geçersiz bir bellek referansı olarak değerlendirir. Bunun nedeni, sayfa hatası ve aktarımların, kontrolü programdan işletim sistemine geri göndermesi ve OS'nin de sayfayı tekrar belleğe kaydetmesini talep etmesidir.
Sayfa Değiştirme Yöntemi Türleri
Burada bazı önemli Sayfa değiştirme yöntemleri verilmiştir
- 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, hafızaya yeni gelen sayfa kaldırılır. Kimlik numarası her zaman FIFO yığınında olduğundan hangi sayfanın kaldırılması gerektiğine karar vermek kolaydır.
- Ana bellekteki en eski sayfa, ilk önce değiştirilmek üzere 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.
- Optimum sayfa değiştirme algoritması yöntemi, tüm algoritmalar arasında en düşük sayfa hatası oranına sahiptir. Bu algoritma mevcuttur ve buna MIN veya OPT denilmesi gerekir.
- Daha uzun süre kullanılmayacak olan sayfayı değiştirin. Yalnızca sayfanın kullanılması gereken süreyi kullanır.
LRU Sayfasının Değiştirilmesi
LRU'nun tam biçimi En Son Kullanılanlar sayfasıdır. Bu yöntem, işletim sisteminin kısa bir süre içinde sayfa kullanımını bulmasına yardımcı olur. Bu algoritma bir sayacı çift sayfayla ilişkilendirerek uygulanmalıdır.
Nasıl Çalışır?
- Ana bellekte en uzun süre kullanılmayan 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 sayaca, yaşlarını ve ilgili sayfalara ne kadar referans verilmesi gerektiğini belirten eskime kayıtları da denir.
- Ana bellekte en uzun süre 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 zaman başına başarısızlıklarla ifade edilir. Yunan harfiyle gösterilir? (lambda).
Sanal Belleğin Avantajları
Sanal Bellek kullanmanın artıları/yararları ş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.
- İşlem fiziksel belleğin tamamından bile daha büyük olabilir.
- Gerektiğinde veri/kod 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 bir diskte saklanır, sonrasında kaldırılır.
- 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.
- Mevcut sanal adres alanı fiziksel belleğe kıyasla daha fazla olduğundan büyük programlar yazılmalıdır.
Sanal Belleğin Dezavantajları
Sanal bellek kullanmanın dezavantajları/eksileri şunlardır:
- Sistem sanal bellek kullanıyorsa uygulamalar daha yavaş çalışabilir.
- Uygulamalar arasında geçiş yapmak muhtemelen daha fazla zaman alır.
- Kullanımınız için daha az sabit disk alanı sunar.
- Sistem kararlılığını azaltır.
- Daha büyük uygulamaların, onları çalıştırmak için tek başına yeterli fiziksel RAM sunmayan sistemlerde çalışmasına olanak tanır.
- RAM ile aynı performansı sunmuyor.
- Sistemin genel performansını olumsuz etkiler.
- Uzun süreli veri depolaması için kullanılabilecek depolama alanını işgal eder.
ÖZET
- Sanal Bellek, kullanıcıya çok büyük bir ana belleğe sahip olduğu yanılsamasını sunan bir depolama mekanizmasıdır.
- Bilgisayarınızın fiziksel belleğinde yer olmadığında sanal belleğe ihtiyaç duyulur
- Talep sayfalama mekanizması, ikincil bellekte depolanan işlemlerin ve sayfaların önceden değil, yalnızca talep üzerine yüklendiği, takaslı sayfalama sistemine çok benzer.
- Önemli Sayfa değiştirme yöntemleri şunlardır: 1) FIFO 2) Optimal Algoritma 3) LRU Sayfa Değiştirme.
- FIFO (First-in-first-out) yönteminde hafıza, hafızanın sanal adresinde en uzun süre kalan sayfayı değiştirme için seçer.
- 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.
- LRU yöntemi, işletim sisteminin kısa bir süre içinde sayfa kullanımını bulmasına yardımcı olur.
- 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.
- Sistem sanal bellek kullanıyorsa uygulamalar daha yavaş çalışabilir.