32bit and the 4gb Myth

Started by MagosDomina, September 17, 2017, 18:11:49

Previous topic - Next topic

MagosDomina

I've done exhausting research on this over many years. Without digging up old threads from the internet this is what I have concluded:

1. The 4gb limit is a hard coded limit.
2. The PAE extension in XP does allow the use of memory above 4gb. This can also be done through 3rd party software so the extra memory can be used a ramdisk which will use the extra ram like a hard drive.
3. Windows 7 32bit can use up to 64 gb if you replace part of the kernal with the server edition. Other versions of this software exists but this one is the easiest to find.
http://www.unawave.de/windows-7-tipps/32-bit-ram-barrier.html?lang=EN
4. The Windows 2000 Datacenter Server edition supports 32 GB of physical RAM. Another 32bit Operating system.


Things I am unsure about:

1. The reason for limiting the memory actually has something to do with compatibility. Older software is not "segment aware" meaning it can only see up to 2gb or possibly 3gb with the PAE extension provided in later editions of XP.

Quoted from Microsoft:
Quote"The /3GB switch allocates 3 GB of virtual address space to an application that uses IMAGE_FILE_LARGE_ADDRESS_AWARE in the process header. This switch allows applications to address 1 GB of additional virtual address space above 2 GB. The virtual address space of processes and applications is still limited to 2 GB, unless the /3GB switch is used in the Boot.ini file.

Application Changes. No APIs are required to support application memory tuning. However, it would be ineffective to automatically provide every application with a 3-GB address space.

Executables that can use the 3-GB address space are required to have the bit IMAGE_FILE_LARGE_ADDRESS_AWARE set in their image header. If you are the developer of the executable, you can specify a linker flag (/LARGEADDRESSAWARE).

To set this bit, you must use Microsoft Visual Studio Version 6.0 or later and the Editbin.exe utility, which has the ability to modify the image header (/LARGEADDRESSAWARE) flag. For more information on setting this flag, see the Microsoft Visual Studio documentation.
"

2. Would software that is segment aware like old versions of Photoshop and Autodesk software (back when 32bit popular) function better on a 32bit version of Windows with the memory unlocked? How does a 32bit program that is segment aware work with more modern 64bit windows variants? Is it able to use more memory that the original limitation of earlier Windows?

3. Dell used to sell Dell Precision workstations like the 530 ( I own 3 of them) with PAE mentioned in the advertisements as they shipped with XP Pro. They also could be shipped with 16gb memory. Although now I think they are capable of more memory but at the time they didn't have larger Dimms to test with. These are neat machines because they came with a True multi-core set of Xeon processors. What I am trying to find out is if such a system would run a 32bit application in a real 32bit environment better than in a 64bit one? Wouldn't the system overall perform better running 64bit drivers? Especially considering they have Xeon processors.

Qube

Yeah, the whole 32bit and 4GB RAM limit has become a bit of a myth.

Old ( I mean old ) 32bit CPU's could not access more then 4GB of RAM, nor could certain motherboards, drivers or kernels. The 32bit Pentium Pro could access more than 4GB of RAM but the whole fiasco quickly moved into the server land side of things which were able to access more than 4GB of RAM.

Quote1. The 4gb limit is a hard coded limit.
Not entirely ( see above ) but for the home market I'd agree that it is - There "were" genuine reasons for it at one point but for whatever silly reason when tech moved along the whole 32bit / 4GB limit remained in the home market. You are right that it's now hard coded in a lot of cases for compatibility but I guess it's for the reason to do with the early hardware / software / drivers / kernels.

Quote1. The reason for limiting the memory actually has something to do with compatibility. Older software is not "segment aware" meaning it can only see up to 2gb or possibly 3gb with the PAE extension provided in later editions of XP.
I think this is more to do with apps and memory allocation in what 32bit can access in one go. I bet there are a whole shed load of 32bit apps ( probably Office ) that only work in the < 4GB workspace.

Overal though the whole 32bit and 4GB limit is a myth.
Mac Studio M1 Max ( 10 core CPU - 24 core GPU ), 32GB LPDDR5, 512GB SSD,
Beelink SER7 Mini Gaming PC, Ryzen 7 7840HS 8-Core 16-Thread 5.1GHz Processor, 32G DDR5 RAM 1T PCIe 4.0 SSD
MSI MEG 342C 34" QD-OLED Monitor

Until the next time.

sphinx

Nice reading.

I was always asking myself why my Windows 7 32bit can not see more than 2.5 GB of RAM even though 2^32 is 4 GB?!!!
Kind regards,
Maher F. Farag
www.ancientsoft.com
www.osakit.com