[OS]x-bit OS kan max 2^x byte addresseren.

Pagina: 1
Acties:

  • EXX
  • Registratie: Juni 2001
  • Laatst online: 27-06 14:21

EXX

EXtended eXchange

Topicstarter
Vaak kom je de kreet tegen dat een x-bit OS maximaal 2^x bytes aan geheugen kan adresseren. Een voorbeeld: 32 bit Windows XP kan maximaal 2^32 = 4 GB geheugen aan. Bij Windows klopt deze formule dus. Maar volgens mij gaat deze redenering in het algemeen niet op:

Het x-bit OS geeft aan wat de woordbreedte van de data aan waarmee gerekend wordt is en niet de breedte van de adresbus = hoevellheid adresseerbaar geheugen. Dit is iets wat door de hardware wordt bepaald en niet door het OS.

Een 8 bit OS zoals CP/M kan 2^16 en niet 2^8 bytes aan geheugen adresseren. De beperking van 2^16 wordt veroorzaakt door het feit dat de gebruikte hardware (8080 / Z80) maar 16 adreslijnen hebben.

Een 16 bit OS zoals MS-DOS kan 2^20 en niet 2^16 bytes aan geheugen adresseren. Ook hier is dat bepaalt door de 8086 met zijn 20 adreslijnen.

Waarom roept men dan toch steeds dingen als: WinXP kan niet meer als 4 GB adresseren, want het is een 32 bit OS (zelfs in de PMG FAQ)? IMHO is dat dus fundamenteel fout.

For it is the doom of men that they forget...           Huidige en vroegere hardware specs         The Z80 is still alive!


  • CyBeR
  • Registratie: September 2001
  • Niet online

CyBeR

💩

Strict gezien is het ook correct, maar d'r zijn workaround verzonnen. Zoek 's op PAE. Overigens is 't iets beperkter dan jij stelt: een 32-bits OS kan een bepaalde hoeveelheid (2GB meestal) geheugen per proces alloceren.

[ Voor 45% gewijzigd door CyBeR op 11-06-2007 14:07 ]

All my posts are provided as-is. They come with NO WARRANTY at all.


  • EXX
  • Registratie: Juni 2001
  • Laatst online: 27-06 14:21

EXX

EXtended eXchange

Topicstarter
Nee, het is niet correct. Het feit dat de 32 bits versie maar max 4 GB aankan heeft te maken dat het geschreven is voor een processorarchitectuur met toevallig ook 32 Adreslijnen. Dat heeft echter niets te maken met het feit dat het OS zelf 32 bits is.

Neem bv. de G4 processor. Die is ook 32 bit, maar heeft geen last van een 4 GB grens. Het OS dat draait op de G4 dus ook niet.

[ Voor 19% gewijzigd door EXX op 11-06-2007 14:25 ]

For it is the doom of men that they forget...           Huidige en vroegere hardware specs         The Z80 is still alive!


  • CyBeR
  • Registratie: September 2001
  • Niet online

CyBeR

💩

EXX schreef op maandag 11 juni 2007 @ 14:14:
Nee, het is niet correct. Het feit dat de 32 bits versie maar max 4 GB aankan heeft te maken dat het geschreven is voor een processorarchitectuur met toevallig ook 32 Adreslijnen. Dat heeft echter niets te maken met het feit dat het OS zelf 32 bits is.

Neem bv. de G4 processor. Die is ook 32 bit, maar heeft geen last van de 4 GB grens. Het OS dat draait op de G4 dus ook niet.
Er is geen G4 processor. Dat ding heet Motorola 74xx. Anyway, die kan idd wel meer dan 32-bits aan strict gezien (in de praktijk echter niet, maar dat heeft met de proc niks te maken) maar het OS daarop kan nog steeds maar 2GB per proces aan. Uiteraard kun je wel 20 processen met elk 2GB geheugen laten draaien.

All my posts are provided as-is. They come with NO WARRANTY at all.