Tavsiye, 2024

Editörün Seçimi

İşletim Sisteminde Sanal ve Önbellek Arasındaki Fark

Bellek, bilgileri geçici veya kalıcı olarak saklamak için kullanılan bir donanım aygıtıdır. Bu makalede, sanal ve önbellek arasındaki farkları tartıştım. Önbellek belleği, verilere erişim süresini azaltmak için kullanılan yüksek hızlı bir bellektir. Öte yandan, Sanal hafıza tam olarak fiziksel bir hafıza değildir, ana hafızanın kapasitesini sınırını aşan bir tekniktir.

Sanal bellek ve önbellek arasındaki en büyük fark, sanal belleğin, kullanıcının ana bellekten daha büyük programları yürütmesine izin vermesidir; oysa önbellek, yakın zamanda kullanılmış olan verilere daha hızlı erişim sağlar. Aşağıda gösterilen karşılaştırma tablosu yardımıyla biraz daha farklılıkları tartışacağız.

Karşılaştırma Tablosu

Karşılaştırma için temelSanal bellekÖnbelleğe Alınmış Bellek
TemelSanal bellek, kullanıcı için ana belleğin kapasitesini arttırır.Önbellek, verilerin CPU'ya erişme hızını arttırır.
DoğaSanal hafıza bir tekniktir.Önbellek bir depolama birimidir.
fonksiyonSanal bellek, ana bellekten daha büyük olan programın yürütülmesine izin verir.Önbellek, yakın zamanda kullanılmış orijinal verilerin kopyalarını saklar.
Bellek yönetimiSanal bellek, işletim sistemi tarafından yönetilir.Önbellek tamamen donanım tarafından yönetilir.
BoyutSanal bellek önbelleğe alınmış bellekten çok daha büyük.Önbellek boyutu sınırlanmış.
haritalamaSanal bellek, sanal adresi fiziksel adresle eşlemek için harita yapıları gerektirir.Önbellek belleğinde olduğu gibi hiçbir eşleme yapısı gerekmez.

Sanal Belleğin Tanımı

Sanal bellek bir bilgisayarın tam olarak fiziksel belleği değildir, bunun yerine ana bellekte tam olarak yerleştirilemeyen büyük bir programın yürütülmesine izin veren bir tekniktir . Programcının ana bellekten daha büyük programları yürütmesini sağlar.

Şimdi sanal belleğin nasıl çalıştığını anlayalım mı? Program, birkaç sayfaya bölünmüş sanal bellek adresine sahiptir. Ana hafıza da birkaç sayfaya bölünmüştür. Şimdi bir programın sanal adresini görebildiğimiz gibi mevcut ana bellekten daha büyük. Böylece hafıza haritası, sanal adresi ana hafızaya haritalamak için kullanılır.

Sayfa 0, 1, 2, ana bellekte eşlenir ve ana bellek dolar. Şimdi, sanal belleğin 3. sayfası ana bellekte yer istediğinde, en eski yerleştirilen sayfa yani sayfa 0 sabit diske aktarılır ve 3. sayfadaki yeri ana bellekte tahliye eder ve işlem devam eder. 0 sayfasına tekrar ihtiyaç duyulursa, o zaman yine en eski yerleştirilen sayfa, sayfa 0 için yer alan sabit diske aktarılır.

İki programın ana belleğe yerleştirilmiş aynı verilere ihtiyacı varsa, bellek haritalama ünitesi her iki programın da paylaşılan verilerin depolandığı ana bellekte aynı adres alanını paylaşmasına izin verir. Bu dosyaların paylaşımını kolaylaştırır.

Sanal belleğin faydaları:

  • Programlar artık ana bellek limiti ile sınırlandırılmamaktadır.
  • Sanal bellek, çoklu programlama derecesini arttırır.
  • CPU kullanımını arttırır.
  • Daha az G / Ç ünitesi, bellekteki programları yüklemek veya değiştirmek zorunda kalacaktır.

Ancak, sanal belleğin bir dezavantajı vardır, bir programın daha fazla sayfasını sabit diske yerleştirmek, sabit diskten verilere erişmenin ana bellekten verilere erişmeye kıyasla daha fazla zaman alması nedeniyle performansı yavaşlatır .

Önbellek tanımı

Sanal belleğin aksine, Cache işlemcinin üzerinde uygulanan bir depolama aygıtıdır . Son zamanlarda erişilen orijinal verilerin kopyalarını taşır. Orijinal veriler ana hafızaya veya ikincil bir hafızaya yerleştirilebilir. Önbellek, verilerin erişim hızını arttırır, ama nasıl? Hadi anlayalım.

İşlemcinin erişim hızının ana belleğin erişim hızıyla sınırlı olduğunu söyleyebiliriz. Ne zaman bir program işlemci tarafından çalıştırılacaksa, onu ana bellekten alır. Programın bir kopyası işlemcide uygulanan önbellekte zaten mevcutsa . İşlem, bu verilere daha hızlı bir şekilde erişebilir ve bu da daha hızlı çalıştırma ile sonuçlanır.

Sanal ve Önbellek Arasındaki Anahtar Farklılıklar

  1. Sanal bellek, kullanıcı için neredeyse ana bellek kapasitesini arttırır. Ancak, önbellek, CPU için verilere daha hızlı erişilmesini sağlar.
  2. Önbellek bir hafıza depolama birimidir, oysa Sanal hafıza bir tekniktir .
  3. Sanal bellek, programın ana bellekten daha büyük yürütülmesini sağlar. Öte yandan, önbellek, son kullanılan orijinal verilerin kopyalarını saklar.
  4. Sanal bellek yönetimi işletim sistemi tarafından yapılır. Öte yandan, önbellek yönetimi, donanım tarafından yapılır.
  5. Sanal bellek, önbellekteki boyuttan çok daha büyüktür.
  6. Sanal bellek tekniği, eşleme yapılarının sanal adresi fiziksel adresle eşlemesini gerektirir, oysa önbellek herhangi bir eşleme yapısı gerektirmez.

Sonuç:

Sanal bellek, kullanıcılar için sanal olarak ana belleğin kapasitesini genişletme tekniğidir. Önbellek, CPU'nun daha hızlı erişmesini sağlayan yakın zamanda erişilen verileri depolayan bir depolama birimidir.

Top