web-gelistirme-sc.com

Sanal bellek ve fiziksel bellek arasındaki farklar nelerdir?

İşletim sistemlerinde sanallaştırma kavramıyla sık sık kafam karışıyor. RAM'i fiziksel bellek olarak kabul edersek, neden bir işlem yürütmek için sanal belleğe ihtiyacımız var?

Bu sanal bellek, harici sabit sürücüdeki işlem (program) yürütme için ana belleğe (fiziksel bellek) getirildiğinde nerede durmaktadır.

Sanal belleğe kim bakıyor ve sanal belleğin boyutu nedir?

Farz edelim ki RAM boyutu 4 GB ise (yani 2 ^ 32-1 adres alanı) sanal belleğin boyutu nedir?

84
starkk92

Sanal bellek, diğer şeylerin yanı sıra, programcıya sistemlerinde sınırsız bellek bulundurma yanılsaması vermek için bir soyutlamadır.

Sanal bellek eşlemeleri gerçek fiziksel adreslere karşılık gelecek şekilde yapılır. işletim sistemi bu eşlemeleri oluşturur ve ele alır - eşleştirmeyi sürdürmek için diğer veri yapılarının yanı sıra sayfa tablosunu kullanır. Sanal bellek eşlemeleri her zaman sayfa tablosunda veya benzer veri yapısında bulunur (sanal belleğin diğer uygulamaları durumunda, belki de "sayfa tablosu" olarak adlandırılmamalıyız). Sayfa tablosu da fiziksel bellekte - genellikle kullanıcı programlarının üzerine yazamadığı çekirdeklerde ayrılmış alanlarda.

Sanal bellek tipik olarak fiziksel bellekten daha büyüktür - sanal bellek ve fiziksel bellek aynı boyutta olsaydı sanal bellek eşlemeleri için pek fazla neden olmazdı.

Bir programın sadece ihtiyaç duyulan kısmı tipik olarak bellekte bulunur - bu “disk belleği” olarak adlandırılan bir konudur. Sanal bellek ve disk belleği ile sıkı bir şekilde ilişkili, ancak değil aynı konuyla ilgili. Segmentasyon gibi başka sanal bellek uygulamaları da vardır.

Burada yanlış olduğunu varsayıyor olabilirim, ama kafanızı sarmak için zor bulduğunuz şeylerin, sanal bellek ve muhtemelen büyük olasılıkla disk belleği uygulamalarıyla ilgili olduğu konusunda iddiaya girerim. Disk belleği yapmak için tek yönlü yoktur - birçok uygulama vardır ve ders kitabınızın tarif ettiği şey muhtemelen Linux/Windows gibi gerçek işletim sistemlerinde görünen ile aynı değildir - muhtemelen çok farklılıklar vardır.

Disk belleği ile ilgili bin paragrafı kesebilirdim ... ama bence özellikle bu konuyu hedef alan farklı bir soruya bırakılmalı.

76

Ben alıntıları utanmadan kopyalayacağım.

VIRT - Sanal Görüntü (kb) Görev tarafından kullanılan toplam sanal bellek miktarı. Tüm kod, veri ve paylaşılan kütüphaneleri artı değiştirilen sayfaları ve haritalanan ancak kullanılmayan sayfaları içerir.

SWAP - Takas boyutu (kb) Yerleşik olmayan ancak bir görevde mevcut olan bellek. Bu, değiştirilen ancak yerleşik olmayan başka bir bellek içerebilen hafızadır. Bu sütun fiziksel belleği sanal bellekten çıkartarak hesaplanır

16
Cleonjoys

Buraya bakın: Fiziksel Vs Sanal Bellek

Sanal bellek sabit sürücüde saklanır ve RAM doldurulduğunda kullanılır. Fiziksel bellek, bilgisayara takılan RAM yongalarının boyutuyla sınırlıdır. Sanal bellek, sabit sürücünün boyutu ile sınırlıdır, bu nedenle sanal bellek daha fazla depolama kapasitesine sahiptir.

6
Reihan_amn