Olympus-OM
[Top] [All Lists]

[OM] Re: [OT] Memory addressing limits for XP

Subject: [OM] Re: [OT] Memory addressing limits for XP
From: James King <jking@xxxxxxxxxxxxxx>
Date: Tue, 27 Mar 2007 14:09:41 +0100


Lawrence Plummer wrote:
> XP (32-bit) can use up to 4GB, with default configurations giving 2GB to
> applications.  This can be altered by changing the boot.ini file.  There is
> a /3GB option to increase process space to a max of 3GB, but it can be
> somewhat problematic (see http://support.microsoft.com/kb/833721/en-us).  XP
> (64-bit) can use up to 128GB.  Addressing is always done using unsigned.
> 

Xp was another example of poor design by microsoft.
The intel processors had limits of 4gb per *program* running so one 
program could not access more than 4gb but you could have 2 programs 
each using 4gb. Microsoft choose not to support this or did not know and 
so *everything* running has to fit into 4gb. They could have fixed this 
without the need to go to 64bit but again choose not to. This is why 
Linux does not have this problem. In fact with a little creatitiy XP 
could have not even had the 4gb limit at all. The proccessor has 6 
registers for addressing memory each register could be loaded with a 
different 4gb slab of memory offering 4gb for the code, and the 
remaining 5 registers offering 20gb for the data. Again this is on a per 
program basis. Again they chose not to support this. The additional 
advantage is that each register can be security protected so that 
malicious programs could not execute code or write modify the program 
code again they chose not to support this hense the buffer over run 
problems etc. One day Microsoft may drag its 32 bit operating system in 
line with the hardware caperbility of the processors has the 486 let 
alone the pentium 1 series....

As far as signed or unsigned addresses go ALL adresses are unsign as far 
as the processor is concerned but because most compilers treat pointers 
to memory as numbers they must mnake the choice of signed or unsigned 
and most compilers stupidly decided pointers where signed thereby 
throwing away 50% of the available addressing space. GGGRRRRR. Same 
thing happened with file sizes two hense the 2gb limit on a file size 
when it could have been 4gb.

sorry for the rant
James




==============================================
List usage info:     http://www.zuikoholic.com
List nannies:        olympusadmin@xxxxxxxxxx
==============================================

<Prev in Thread] Current Thread [Next in Thread>
Sponsored by Tako
Impressum | Datenschutz