24.08.2009

32 bitlik sistemler ve bellek sınırları

Windows ve diğer işletim sistemlerinin 64 bitlik sürümlerini duymuşsunuzdur. Sistem tasarımında 64 bitlik adres ve veriyolu kullanan bu yeni sistemlerin 32 bitlik sistemlere göre bir seferde daha fazla (2 kat) veri aktarabilecekleri fikri, başta herkes gibi bana da daha hızlı bir sistem çağrışımı yapmıştı. Zaman geçtikçe sağda solda benchmark testleri, 32 bitlik sistemlerle 64 bitlik sistemlerin performans açısından ciddi farklar sağlamadığını (hatta bazı özel durumlarda daha bile yavaş kaldıklarını) gösterdi. Peki 64 bitin avantajı neydi?

32 bitlik bir adres ve veriyoluna sahip bir mikroişlemcinin adresleyebileceği azami alan 4 GB'dir. Bu alana bellekle birlikte işlemcinin erişeceği diğer donanım da dahildir (örneğin ekran kartı). Bu gibi donanımlara erişmek için kullanılan alan genelde 4 GB'lık alanın en son kısmında yer alır. Bu ne demek? Eğer 1 GB'lık belleği olan bir ekran kartınız varsa bu 1 GB'lık belleğe erişim için 4 GB'lık adres alanının sonunda 1 GB'lık alan ayrılır. Diğer sistem donanımlarınız (ses kartı, ethernet kartı vs.) için de bir miktar alan ayrılır. Dolayısıyla 4 GB'lık alanın 1 GB'tan daha büyük bir kısmı kullanılamaz olur. Bu da, piyasada satılan 4 GB belleği ve 1 GB'lık bir ekran kartı olan bir oyun bilgisayarını 32-bitlik bir işletim sistemi ile kullanmak isterseniz en azından 1 GB'lık bir belleği adresleyemezsiniz demektir. Yani size kalır 3 GB'tan daha az bir bellek. Ama siz 4 GB parası vermiştiniz?

Aslında 64 bitlik sistemlerde de durum aynı. Adreslenebilir alanın son 1 GB'tan fazla kısmı ekran kartına ve diğer sistem donanımlarına ayrılır. Ama 64 bit bir sistemin adresleyebileceği alan çok daha fazla bir alan olduğu için bu, en azından şimdilik, muhtemel bellek miktarlarından daha uzak bir noktaya denk geliyor. Kısacası şu, 4 GB'lık belleğinizin tümünü 1 GB'lık ekran kartı olan bir makinede kullanabilirsiniz!

32 bitlik Windows Server işletim sistemlerinin, PAE (Physical Address Extension) sayesinde, 4 GB'tan daha fazlasını adresleyebilmeleri mümkün. Windows XP sürümlerinin böyle bir şansı yok. Bunun sebebi de Mark Russinovich'in Technet'teki blog'unda açıklanmış. Burada söylenene göre masaüstü işletim sistemlerinde 4 GB sınırını koyan donanımların sürücüleri. Bu sürücülerin 4 GB sınırlarla tasarlanmış olmaları ve PAE eklentileri ile daha yüksek bellek miktarlarınında yapılan denemelerde ciddi sistem hatalarına yol açmaları. Bu yüzden Microsoft, Windows XP 4 GB sınırı koymuş. Elbette bu, Windows XP'nin 64 bitlik sürümleri için geçerli değil.

Windows Vista yüklü bir bilgisayarda ne kadar belleğiniz olduğunu ve bunun ne kadarını kullanabildiğinizi görmek için Sistem Bilgisi'ni (msinfo32.exe) kullanabilirsiniz.

Yukarıdaki Sistem Bilgisi penceresinde görüldüğü gibi bilgisayardaki toplam fiziksel bellek (Installed Physical Memory) 4 GB olmasına rağmen, kullanılabilir fiziksel bellek (Total Physical Memory) sadece 3,48 GB. Aradaki farkın hangi donanımlar tarafından kullanıldığını görmek isterseniz Aygıt Yöneticisini kullanabilirsiniz.

Masaüstü bilgisayarlarımızda 512 MB kullandığımız günlerden 4 GB'lık sistemlere geçiş çok hızlı oldu. Bu konuda Windows Vista'nın payı büyük (!). Ama Windows 7, Vista'ya kıyasla daha az bellek kullanıyor. Bu sebeple 4 GB sınırı bir süre daha 32 bitlik işletim sistemi kullananları rahatsız etmeyecek gibi. Bunun için Microsoft da Windows 7'nin 32 bitlik sürümlerini çıkarıyor. Ama gelecek 64 bitte. Er ya da geç 64 bit sürücülerin yaygınlaştığı, uygulama uyumsuzluklarının kalmadığı bir gün gelecek.

Hiç yorum yok: