Temat ciągle powraca, a że ceny pamięci stały się niemal śmieszne, coraz więcej osób chciałaby sobie takie coś do kompa upchnąć. Po włączeniu kompa nagle okazuje się, że Windows raportuje np. 3,1GB RAM.
Pojawił się w końcu fajny artykulik na stronach supportu, który tąże kwestię wyjaśnia w końcu dość pożądnie. Przedstawię skót najważnieszych informacji dla leniuchów, którym nie chce się czytać:

  • nie jest to wina systemu operacyjnego
  • sytuacja odnosi się zarówno do wXP jak do Vista
  • wynika z kwestii sprzętowych i ograniczeń tak zwanego MMIO (memory-mapped I/O). Bardzo w skórcie polega to na tym, że wiele urządzeń ma/wykorzystuje własną pamięć – ot choćby karta graficzna. Procesor 32bit potrafi zaadresować tylko 2^32 adresów a więc robi rezerwację pamięci w obszaże <4GB. Adresy te są więc blokowane i niemożliwe do wykorzystania przez system
  • większość obecnie kupowanych procesorów jest x64 i spokojnie radzą sobie z takimi problemami. BIOS musi wspierać możliwość „memory remap feature”.
  • po instalacji SP1 dla vista w informacjach o systemie pojawi się wymarzone 4GB – nie zmienia to jednak w żaden sposób wykorzystania pamięci. Vista po prostu raportuje ilość RAM zainstalowaną w kompie a nie dostępną przez system.

Reasumując: chcesz móc korzystać z 4GB+? Musisz zainstalować system x64.

Jeśli zagląda tu jakaś osoba, która zna się na linuxach – teoretycznie całość jest opisywana jako kwestia sprzętowa (nie tylko na stronach Microsoft), co raportuje Linux a ile pamięci jest w stanie jest w stanie zaadresować kernel?
Pytanie wynika z faktu, że problem 4GB jest zawsze mitycznie łączony z Windowsem – czyżby Linux po prostu zawsze raportował ilość zainstalowanej pamięci, czy też ma jakiś sprytny sposób na obejście problemu – co byłoby dość poważnym policzkiem dla Windows…