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.
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!