Beste vliegtuig,
32-bits Windows 7 of 64-bit Windows 7 is bij minder dan 4GB geheugen lood om oud ijzer, alleen moet je er rekening mee houden dat bij een toekomstige upgrade van het geheugen je toch naar naar een 64-bit versie uit moet kijken en het upgraden van 32-bit naar 64-bit gaat niet door upgrade maar door herinstallatie.
Nu met betrekking tot de 4GB grens en het geheugen wat je kwijt bent onder Windows 7 32-bit. Dit is een vrij wazig gebeuren en er moet moeten een aantal kanttekeningen bij geplaatst worden. met name het volgende:
Windows 7 32-bit zal altijd geheugen onder de 4GB grens afsnoepen, dit heeft te maken met reservering van geheugen voor I/O (devices). Onder Windows 7 64-bit is dit niet altijd het geval, maar is wel afhankelijk van de chipset en de CPU. Wanneer de Chipset en CPU maximaal 4GB ondersteunen, dan zal je onder 64-bit Windows 7 ook maar 3.2GB zien, ondersteund je chipset/cpu meer geheugen dan zal dit boven de 4GB grens worden gereserveerd waardoor je gewoon 4GB ram hebt. Nu is de vraag, wat kan dit opleveren?
Stel je gebruikt alleen maar 32-bits applicaties dan moet je er op rekenen dat onder Windows 7 64-bit een 32-bits applicatie, 15-25% meer geheugen gebruikt dan onder 32-bit Windows. Daarnaast is de vertaling van 32-bit API call's naar het 64-bit Subsystem ook nog van invloed, echter nagenoeg verwaarlossbaar in snelheid.
Dus de keuze voor 32-bit/64-bit is vrij complex. Maar bij 4GB geheugen en een goede chipset/cpu is 64-bit Windows 7 te overwegen. Je zal er niet veel mee opschieten door de overhead in geheugengebruik van 32-bits applicaties onder Windows 7 64-bit maar het is geen enkel probleem. Wanneer je echter onder 64-Bit Windows 7 ook maar 3.2GB geheugen ziet, dan is het slimmer om gewoon de 32-bits versie te gebruiken.
Edit:
Overigens het artikel (
http://www.ni.com/white-paper/5709/en) wat hierboven genoemd wordt moet je een beetje voorzichtig mee zijn. Bijvoorbeeld de zinsnede:
Most 32-bit software will still function because of a Microsoft emulation layer. This emulation layer, known as Windows on Windows 64 or WoW64, enables 32-bit programs to run as though on a 32-bit version of Windows by translating instructions passing in and out of 32-bit applications into 64-bit instructions. Emulated programs act as though they are running on an x86 computer and operate within the 2 GB of virtual memory that a 32-bit version of Windows allocates to every process.
is complete onzin. Er is geen emulator die instructies vertaald, maar een conversie tussen Win32(s) API Call's en het Windows 64-bit subsystem. Voorbeeld: void _EenWin32APICall( dword Paramter ) heeft gewoon een wrapper die de routine void _EenWin64APICall( qword 0x00 || Parameter ) aanroept.
Daarnaast is een Windows 32-bits proces altijd 4GB waarbij 2GB gereserveerd is voor het OS en 2GB voor de Applicatie code en data (overigens kan dit 1GB/3GB worden bij gebruik van de /3GB switch in boot.ini).
[
Voor 24% gewijzigd door
Wim-Bart op 29-05-2012 14:00
]
Beheerders, Consultants, Servicedesk medewerkers. We zoeken het allemaal. Stuur mij een PM voor meer info of kijk hier De mooiste ICT'er van Nederland.