Bilgisayarlar dünyasında, bellek, bu programı çalıştırabilirsek çalıştıramayacağımız sınırı belirler. DOS'u deneyimleyecek kadar şanssızsanız, 640k bellek sınırının sıkıntısını biliyorsunuzdur. Günümüzde hafıza neredeyse sonsuz gibi gözüküyor ve hiç kimse dün yılın 'yeterli hafıza' mesajını alamıyor. Bunu nasıl başardılar??
Bunun cevabı çok akıllı bir bellek yönetimi prosedürüdür. Bellekte olması gereken bazı parçaları sabit diskinizin içine yerleştirerek, bir bilgisayarın bellek kapasitesini kurulu olanın ötesine taşıyabilirler; buna sanal bellek denir. Diyelim ki bilgisayarınızda sadece 1GB bellek var ve toplam bellek tüketimi 1.5GB civarında olan birkaç program başlatıyorsunuz. Sanal bellek olmadan bunu yapmanıza izin verilmez. Ancak sanal bellekle, işletim sistemi sabit diskin bir kısmını belleğin bir parçası olarak atar ve verileri orada tutar. Yukarıdaki örnekte, sanal belleğin de 1GB olduğunu varsayalım. 1GB gerçek bellek + 1GB sanal bellek = 2GB sistem belleği. Bu şekilde, hafızanız sınırlı olsa bile, bellekte geniş uygulamaları kullanmaya devam edebilirsiniz.
Yine de sanal belleğin bir dezavantajı var. Bir sabit diskten veri okumak bellekten okumaktan çok daha yavaştır. Böylece, sabit diskinizde ne kadar çok bilgi depolanırsa, sisteminiz o kadar yavaş hale gelir..
Öte yandan önbellek, sahip olduğunuz bellek miktarını genişletmez, sadece verilere erişmek için gereken süreyi azaltır. Konsepti kolayca anlayabilmeniz için, diyelim ki işlemcinin rapor yapan bir öğrenci olduğunu varsayalım. Ne zaman veriye ihtiyaç duyarsa kitap rafına gider (kitaplık hafızadır ve kitaplar verilerdir) ve bir kitabı çıkarır ve sandalyesine geri getirir. Okur, sonra raporuna devam etmeden önce kitap rafına geri döner. Öğrenci olsaydınız, bir veriye her ihtiyacınız olduğunda ayağa kalkmanız ve bir kitap almanız gerçekten zaman alıcı olurdu. Pratikte bir öğrenci kitaplıktan birkaç kitap alıp masanın üzerine yerleştirirdi. Böylece, son zamanlarda kullandığı kitapta bulunan bilgiye ihtiyaç duyuyorsa, sadece silahların ulaşabileceği bir yerdedir ve bunu elde etmek için ayakta durması ve yürümesi gerekmez.
Bu metaforda tablo önbellekimizdir. İşlemci verileri her kullandığında, yeniden ihtiyaç duyulması durumunda hızlı erişim için önbellekte en son kullandığı verileri koyar. Önbellek, sınırlı alana sahip bir tablo gibi çok sınırlıdır, bu nedenle en uzun erişilmeyen veriler önbelleği daha yeni veriler için boşaltmak için belleğe geri döner.
Önbellek ve Sanal bellek hakkında daha fazla bilgi edinin.