# Sanal Bellek

Adres: https://softwaredictionary.org/tr/terimler/virtual-memory
Kategori: İşletim Sistemleri
Son güncelleme: 2026-09-30
İngilizcesi: Virtual Memory
Okunuşu: vörçuıl memıri

Kısaca: Sanal bellek, her process'e kendine ait özel bir adres alanı veren ve bunu arka planda fiziksel RAM'e ya da diske eşleyen bir işletim sistemi tekniğidir.

## Sanal bellek (virtual memory) nedir?

Sanal bellek, işletim sisteminin her process'e büyük, özel ve kesintisiz bir bellek bloğunun tamamen kendisine ait olduğu yanılsamasını vermesinin bir yoludur. Bir programın kullandığı adresler sanal adreslerdir; işletim sistemi CPU'nun yardımıyla bunları fiziksel RAM'deki gerçek konumlara çevirir.

Bellek, yaygın olarak her biri 4 KB olan, sabit boyutlu sayfalar (page) denen parçalara bölünür. Her process için bir sayfa tablosu (page table), her sanal sayfanın gerçekte nerede yaşadığını kaydeder ve bellek yönetim birimi (MMU) denen bir donanım birimi her bellek erişiminde çeviriyi yapar. Bir sayfa o anda RAM'de değilse CPU bir sayfa hatası (page fault) yükseltir ve kernel onu yükler; bu sırada daha az kullanılan bir sayfayı takas alanı (swap space) ya da sayfa dosyası (page file) denen bir bölgede diske taşıyabilir.

Sanal belleği, bir kapıcının yönettiği bir binadaki daire numaralarına benzetin. Her kiracı yalnızca kendi daire numaralarını bilir; kapıcı ise eşyalarının hangi odalarda durduğuna dair özel bir harita tutar, hatta bazı kutular bina dışı bir depodadır. Bu tasarım process'leri birbirinden yalıtır, programların fiziksel olarak var olandan fazla bellek kullanmasına olanak tanır ve sistem kütüphaneleri gibi paylaşılan kodun bir kez yüklenip birçok process tarafından kullanılmasını sağlar.

Sanal bellek çoğu zaman sanal makine (virtual machine) ya da swap alanıyla karıştırılır. Sanal makine bütün bir bilgisayarı taklit eder; sanal bellek ise tek bir işletim sistemi içindeki bir adresleme düzenidir. Swap, sanal belleğin yalnızca bir parçasıdır ve ona ağır biçimde güvenmek (thrashing) sistemi çok yavaşlatır; çünkü diskler RAM'den çok daha yavaştır.

## Önemli noktalar

- Her process kendi özel sanal adres alanını alır.
- MMU ve sayfa tabloları sanal adresleri fiziksel adreslere çevirir.
- Bellek, yaygın olarak 4 KB olan sabit boyutlu sayfalarla yönetilir.
- RAM'de olmayan bir sayfaya erişmek bir sayfa hatası tetikler ve kernel onu yükler.
- Sanal bellek yalıtım, bellek paylaşımı ve fiziksel RAM'i aşabilme imkânı sağlar.

## Örnek: Linux'ta bellek ve sayfa boyutunu kontrol etmek

```bash
# Show physical RAM and swap usage
free -h

# Compare this shell's virtual size (VmSize) with the RAM it really uses (VmRSS)
grep -E 'VmSize|VmRSS' /proc/$$/status

# Show the page size in bytes (often 4096)
getconf PAGESIZE
```

## Sık sorulan sorular

**Sanal bellek swap ile aynı şey midir?**

Hayır. Sanal bellek, sanal adresleri fiziksel belleğe eşlemenin tüm sistemidir; swap ise işletim sisteminin RAM'e sığmayan sayfaları tutmak için kullanabileceği disk alanıdır. Swap kapalı olsa bile bir sistem sanal bellek kullanır.

**Sayfa hatası (page fault) nedir?**

Sayfa hatası, bir programın o anda fiziksel RAM'e eşlenmemiş bir sanal sayfaya erişmesiyle olur. Kernel bunu sayfayı yükleyerek, adres geçersizse programı segmentation fault ile durdurarak ele alır.

**Sanal bellek bilgisayarımı hızlandırır mı?**

Sanal bellek ham hızdan çok güvenliği ve esnekliği artırır. Aynı anda daha fazla programın çalışmasına izin verir, ancak sistem swap'a ağır biçimde güveniyorsa performans keskin biçimde düşer.

---

Software Dictionary: https://softwaredictionary.org/tr · https://softwaredictionary.org/tr/llms.txt
