Nee, hier maak je een foutje waardoor je mist in gaat. Of dat een denkfout is of dat je per ongelijk een verkeerd begrip gebruikt weet ik niet, daar kom je wel uit

Een 32 bits processor kan 2^32 bits aanspreken, wat neerkomt op ruwweg 4 GigaBytes.
Al het bruikbare geheugen, dus in een regulier RAM + geheugen op de videokaart en verdere reserveringen door hardware en randapparatuur, moet binnen die 2^32 bits passen, dus binnen 4GB.
Even simpel houden is makkelijkste, houdt even alleen de grote jongens uit dat rijtje in de gaten: werkgeheugen en videogeheugen
Als je nu 2GB werkgeheugen hebt, een videokaart met 512MB er op, dan gebruik je van de 4GB die je aan kunt sturen dus 2.5GB.
Die 512MB van de videokaart worden niet van die 2GB RAM afgetrokken of wat dan ook.
Het moment dat je niet meer al het ingestoken werkgeheugen (RAM) kunt benutten ontstaat wanneer je op het totaal van alle geheugens over die 4GB gaat. Prik jij 4GB RAM in je moederbord en steek je er ook een videokaart in met 1GB geheugen, dan is dat samen 5GB. Maar je kunt dus maar 4GB aansturen als je een 32 bits systeem en OS gebruikt. Hardware reserveringen hebben "voorrang" op het systeemgeheugen en daardoor zou er in zo'n geval 1GB RAM "onzichtbaar" worden voor de processor.
Ook verschillende cache van je processor en je hardeschijf worden van je systeemgeheugen afgetrokken. Wat dan over blijft wordt dan daadwerkelijk beschikbaar voor het besturingssysteem.
Of dat voor processor caches geldt weet ik niet zeker, maar voor harddisk caches geldt dit voor zover ik weet niet.
De processor heeft geen directe zeggenschap over die caches, dat hebben de harddisken zelf. De processor praat met de controller, bijv SATA controller. Harddisken hebben die caches in hun eigen beheer voor zover ik weet. Ze kunnen wel de opdracht van de controller krijgen om die caches daadwerkelijk weg te schrijven. Maar hoe ze er verder mee omgaan bepalen ze zelf. De processor heeft geen idee wat er precies in die harddisk cache zit en hoeft er dan ook geen adresruimte voor te alloceren.
Als je 4GB hebt in een computer met een 32-bits besturingssysteem, en je hebt een 512MB videokaart, hou je 3,5GB over voor Windows. Trek daar ook de verschillende cache's en dergelijke vanaf en je houd meestal de bekende 3,25GB over
Lees je eens in in de addresserings en allocatie technieken

Hier zeg je het inderdaad wel goed.

Hier maak je echter weer een foutje.
Een 32 bits systeem kan wel degelijk meer dan 4GB aansturen en een 32 bits besturingsysteem kan het ook. Ooit gehoord van
Physical Address Extension (PAE) ?
Deze uitbreiding, sinds de Pentium Pro, voegt extra adreslijnen toe waardoor er 36 bits zijn om geheugen aan te spreken.
2^36 bits kunnen dan worden aangesproken, wat afrond op zo'n 64GB.
Wel moet het OS ook ondersteuning voor PAE hebben, wat de meeste Windows varianten voor thuisgebruik niet aanbieden.
Echter ben je nog wel gelimiteerd tot een maximum van 2GB per proces.
En er zijn soms compatibiliteits issues tussen PAE en drivers die zich ineens in een geheugenruimte bevinden waar de ontwikkelaar geen rekening mee had gehouden.
Maar dat is wat specifiek en misschien voor een aantal drivers ook wel opgelost.
Windows XP (vanilla en SP1) hadden ondersteuning voor PAE, maar vanwege compatibility issues met o.a. drivers is die functionaliteit bij SP2 uitgeschakeld.
Echter vanwege de limitatie dat je maar 2GB per proces kunt gebruiken heeft het gebruiken van een 64 bits architectuur en OS de voorkeur omdat je daar dan niet mee zit.
Als de processor 64 bits ondersteunt installeer ik dan ook altijd een 64 bits OS. Ongeacht of er bijvoorbeeld maar 2GB RAM in zit, zoals het geval is bij mijn werkstation @ work.
[
Voor 23% gewijzigd door
Ultraman op 20-12-2011 14:04
]
Als je stil blijft staan, komt de hoek wel naar jou toe.