Avatar of SoLost
SoLostFlag for New Zealand

asked on 

Why can a 32bit operating system only see 4GB RAM but can see 2TB hard drives?

Hi there,
This is for my own knowledge more than anything else but lots of failed Google searches haven't found me the answer and it's niggling at me.

I understand the reason why a 32bit operating system can only see up to 4GB of RAM as 4GB is the maximum addressing range for a 32 bit number ( 2^32 = 4GB ).

But with that in mind, how come a 32bit operating system is able to see a much larger hard drive? Up to 2TB if I recall.

How have they overcome this particular limitation for hard drives but not for RAM?
Storage HardwareStorageOperating Systems

Avatar of undefined
Last Comment
nobus
Avatar of nobus
nobus
Flag of Belgium image

that is because it uses LBA - block adressing :
https://en.wikipedia.org/wiki/Logical_block_addressing
SOLUTION
Avatar of Dave Baldwin
Dave Baldwin
Flag of United States of America image

Blurred text
THIS SOLUTION IS ONLY AVAILABLE TO MEMBERS.
View this solution by signing up for a free trial.
Members can start a 7-Day free trial and enjoy unlimited access to the platform.
See Pricing Options
Start Free Trial
ASKER CERTIFIED SOLUTION
Avatar of ☠ MASQ ☠
☠ MASQ ☠

Blurred text
THIS SOLUTION IS ONLY AVAILABLE TO MEMBERS.
View this solution by signing up for a free trial.
Members can start a 7-Day free trial and enjoy unlimited access to the platform.
Avatar of Gary Case
Gary Case
Flag of United States of America image

Technically the premise of your question is wrong.   32-bit operating systems can see far more than 4GB, but can only directly address 4GB.    To USE more than 4GB requires some form of address extension, whereby the memory is addressed in pages, which can be mapped in and out of the 4GB address space the CPU can physically address.    Microsoft does this using PAE (physical address extension), which allows a 32-bit CPU to address up to 128GB of memory.

However, they only implemented this on server versions of Windows, and how much can actually be addressed is a function of the specific version of the OS.   For example, Server 2008 can address 64GB with the 32-bit version.

By the way, 32-bit versions of Windows from Vista on can see disks far larger than 2TB, as they all support GPT disks -- so you can use modern 6TB, 8TB, 10TB, and even larger disks.
Avatar of gheist
gheist
Flag of Belgium image

64GB to be accurate (4 bits in PAT for address selector)
Single 32bit process is limited to 4GB address space, on a 32bit system it uses same address space for system calls, on 64bit system it can use all 4GB for itself.
Avatar of Gary Case
Gary Case
Flag of United States of America image

Microsoft's implementation does indeed restrict the max total to 64GB ... although there was a version fo Server 2003 DataCenter Edition that supported 128GB with 32-bit CPU's.   But they've since restricted their 32-bit servers to a max of 64GB because of the easier implementation.
Avatar of Gary Case
Gary Case
Flag of United States of America image

From Mark Russinovich's blog on "Pushing the Limits of Windows: Physical Memory" ...

"... The maximum 32-bit limit of 128GB, supported by Windows Server 2003 Datacenter Edition,  comes from the fact that ..."

It accomplishes that through a PFN database that is used by the memory manager to track the pages and map them into a virtual space.   Microsoft did not choose to continue this scheme in subsequent server versions, since they could get better performance with the 4-bit PAT, which limits the addressing to 64GB, but it IS possible to support more.
Avatar of gheist
gheist
Flag of Belgium image

There is no such OS ever released.
PAE and PSE both go to 64GB ditto.
Avatar of Dave Baldwin
Dave Baldwin
Flag of United States of America image

Regardless... the basic answer to the original question is that RAM is addressed in bytes while disk space is accessed in 512-byte blocks.  There can be a lot more details but that's the basic answer.
Avatar of gheist
gheist
Flag of Belgium image

There are simple algorithms to do double-width math (or quad)
There should be no problem supporting exabytes on a 32bit system.
There is some practical limits though like how much address space is needed by practical on-disk structures in each case etc.
Avatar of Gary Case
Gary Case
Flag of United States of America image

"... There is no such OS ever released. " ==>  I presume you know who Mark Russinovich is ... founder of WinInternals;  Microsoft Technical Fellow (after they bought his company); and one of the most respected experts in Windows technologies.   The quote above is from his blog here:

https://blogs.technet.microsoft.com/markrussinovich/2008/07/21/pushing-the-limits-of-windows-physical-memory/
Avatar of gheist
gheist
Flag of Belgium image

Excel still makes blatant rounding errors...
If you read coments you see a lots of sceptics (especially show that 32bit system with 128GB support)
Avatar of SoLost
SoLost
Flag of New Zealand image

ASKER

Thanks everyone for helping me to understand.
Avatar of nobus
nobus
Flag of Belgium image

i was the first to post the solution - and nothing??
Avatar of SoLost
SoLost
Flag of New Zealand image

ASKER

Apologies.  I thought I had tagged the top 3... I don't seem to be able to modify my answer.
Avatar of nobus
nobus
Flag of Belgium image

you can if you want to - by using request attention
but tx anyway
Storage
Storage

Computer data storage, often called storage or memory, is a technology consisting of computer components and recording media used to retain digital data. In addition to local storage devices like CD and DVD readers, hard drives and flash drives, solid state drives can hold enormous amounts of data in a very small device. Cloud services and other new forms of remote storage also add to the capacity of devices and their ability to access more data without building additional data storage into a device.

45K
Questions
--
Followers
--
Top Experts
Get a personalized solution from industry experts
Ask the experts
Read over 600 more reviews

TRUSTED BY

IBM logoIntel logoMicrosoft logoUbisoft logoSAP logo
Qualcomm logoCitrix Systems logoWorkday logoErnst & Young logo
High performer badgeUsers love us badge
LinkedIn logoFacebook logoX logoInstagram logoTikTok logoYouTube logo