Solved

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

Posted on 2016-10-02
17
112 Views
Last Modified: 2016-10-04
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?
0
Comment
Question by:SoLost
  • 5
  • 4
  • 3
  • +3
17 Comments
 
LVL 92

Expert Comment

by:nobus
ID: 41825863
that is because it uses LBA - block adressing :
https://en.wikipedia.org/wiki/Logical_block_addressing
1
 
LVL 83

Assisted Solution

by:Dave Baldwin
Dave Baldwin earned 250 total points
ID: 41825865
Hard drives are addressed / accessed in blocks.  The standard block / sector size for Windows hard drives has been 512 bytes.  That means that, in general, hard drive size can be 512 times what the RAM memory limit is.  In practice, there have been many smaller limits for hard drives in the past.  

When the first hard drive controllers were built, hard drives were 5 to 20 megabytes.  There was no thought to build them to be capable of Gigabyte or Terabyte sizes and the controller didn't provide for the hardware to do it.  This article describes some of the gyrations that they have gone thru to provide larger hard drives.  https://en.wikipedia.org/wiki/Logical_block_addressing
1
 
LVL 62

Accepted Solution

by:
☠ MASQ ☠ earned 250 total points
ID: 41825877
The limits are down to two separate reasons but both are related to the legacy of a 32bit system

The drive limitation is not directly related to the architecture of the operating system but the formatting of the drive.

Storage space on a drive is divided up into units called clusters - normally of 512 bytes.

The MBR format of a drive is your limitation here, with the drive formatted as MBR you can have a maximum of 2^32 x 512 bytes so just shy of 2.2TB

To see drive space in excess of this you either need to have a non-standard cluster size which is an inefficient use of space or a different drive format - normally now this is GPT


The limit on available memory (not storage) is also a victim of the 2^32 limit but with RAM each byte needs to be separately addressed by the processor so here the limit really is 2^32 (4,294,967,296) or 4GB

These are all design limitations from a time when both drive capacities and System RAM were measured in MB - how technology has moved :)
4
PRTG Network Monitor: Intuitive Network Monitoring

Network Monitoring is essential to ensure that computer systems and network devices are running. Use PRTG to monitor LANs, servers, websites, applications and devices, bandwidth, virtual environments, remote systems, IoT, and many more. PRTG is easy to set up & use.

 
LVL 70

Expert Comment

by:garycase
ID: 41825903
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.
0
 
LVL 62

Expert Comment

by:gheist
ID: 41826047
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.
0
 
LVL 70

Expert Comment

by:garycase
ID: 41826876
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.
0
 
LVL 62

Expert Comment

by:gheist
ID: 41826901
0
 
LVL 70

Expert Comment

by:garycase
ID: 41826953
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.
0
 
LVL 62

Expert Comment

by:gheist
ID: 41826996
There is no such OS ever released.
PAE and PSE both go to 64GB ditto.
0
 
LVL 83

Expert Comment

by:Dave Baldwin
ID: 41827019
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.
0
 
LVL 62

Expert Comment

by:gheist
ID: 41827035
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.
0
 
LVL 70

Expert Comment

by:garycase
ID: 41827046
"... 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/
0
 
LVL 62

Expert Comment

by:gheist
ID: 41827065
Excel still makes blatant rounding errors...
If you read coments you see a lots of sceptics (especially show that 32bit system with 128GB support)
0
 
LVL 5

Author Closing Comment

by:SoLost
ID: 41827390
Thanks everyone for helping me to understand.
0
 
LVL 92

Expert Comment

by:nobus
ID: 41827476
i was the first to post the solution - and nothing??
0
 
LVL 5

Author Comment

by:SoLost
ID: 41827482
Apologies.  I thought I had tagged the top 3... I don't seem to be able to modify my answer.
0
 
LVL 92

Expert Comment

by:nobus
ID: 41828199
you can if you want to - by using request attention
but tx anyway
0

Featured Post

The Eight Noble Truths of Backup and Recovery

How can IT departments tackle the challenges of a Big Data world? This white paper provides a roadmap to success and helps companies ensure that all their data is safe and secure, no matter if it resides on-premise with physical or virtual machines or in the cloud.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

#Citrix #POC #XenDesktop #vCenter #VMware #ESX
This article aims to explain the working of CircularLogArchiver. This tool was designed to solve the buildup of log file in cases where systems do not support circular logging or where circular logging is not enabled
This tutorial will walk an individual through the process of installing the necessary services and then configuring a Windows Server 2012 system as an iSCSI target. To install the necessary roles, go to Server Manager, and select Add Roles and Featu…
This is used to tweak the memory usage for your computer, it is used for servers more so than workstations but just be careful editing registry settings as it may cause irreversible results. I hold no responsibility for anything you do to the regist…

839 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question