Road to Mac OS X Snow Leopard: 64-bits, Santa Rosa, and the great PC swindle
Snow Leopard's across-the-board leap to 64-bits, from the kernel to all of its bundled apps, will do more than just make more memory available. It also exposes a great PC swindle and highlights Apple's lead in 64-bit computing. Here's why.
Following the initial introduction to 64-bit computing leading up to Snow Leopard, this second segment takes a look at the issues related to the amount of RAM that can be installed and actually used by the system. Additional segments will examine how much memory a specific app can reserve for itself, how the OS gets faster with 64-bit addressing despite the additional overhead involved, how the market for 64-bit apps is unfolding, and how Apple is pioneering 64-bits on the desktop.
Road to Mac OS X Snow Leopard 1: 64-bits
2: 64-bits, Santa Rosa and the great PC swindle
3: Twice the RAM, half the price, 64-bits
4: The Future of 64-bit Apps
Virtual Memory, PAE, and the 4GB barrier
Right now, few mainstream users need more than 4GB of RAM, even when running a 64-bit operating system. An OS can manage a large 64-bit virtual address space and simply page memory into the limited amount of RAM available as needed, using the hard drive as overflow when required (below left). Consumers will eventually want a full 4GB however, and many power users already need even more than that right now.
Because hardware with 32-bit addressing can only work with 4GB of RAM at once, special tricks such as Intel's PAE (Physical Address Extension) are needed to take advantage of more physical RAM (below right). PAE can give the system more breathing room in the amount of RAM it has access to, an important factor in reducing the kernel's need to page memory in and out to a relatively slow hard drive.
Mac OS X running on a new Mac Pro or Xserve can handle as much as 32GB of installed RAM using PAE. Linux can also use PAE, but 32-bit Windows PCs are stuck at a maximum of 4GB of installed RAM. Windows XP initially offered support for using more than 4GB with PAE, but this caused problems related to driver bugs, so Microsoft simply disabled support for more than 4GB, starting with Windows XP SP2 and continuing into Windows Vista. Unless you're running Vista x64 or an expensive "datacenter" or "enterprise edition," you simply can't use more than 4GB of RAM on a Windows PC.
System RAM vs MMIO: the "where is my 4GB?" problem
If you're feeling cramped within 4GB, hold on tight because things are about to get worse. The first issue is a historical limitation in the Intel x86 architecture, related to "Memory Mapped I/O." Essentially, all of the device memory used by video cards or any other expansion cards is mapped on top of the 4GB addresses used by the system's RAM. This didn't used to be a problem before anyone wanted to actually use the entire 4GB address space for system RAM.
Note that this doesn't mean that MMIO "eats up" your RAM, it's just that the hardware maps that device-related memory over the top of physical memory, leaving fewer addresses available to the operating system to use for its system RAM. This problem is tied to 32-bit chipsets, which are independent from the CPU. There are 64-bit PCs with 32-bit chipsets. For example, Apple's 64-bit Core 2 Duo laptops prior to the second half of 2007 all used 32-bit addressing.
That means that while they can execute 64-bit code and handle 64-bit virtual memory, they still can't address more than 4GB of physical RAM, minus roughly 0.75 GB of MMIO, for a grant total of 3.2GB usable RAM. If you install a full 4GB, the portion in conflict with the MMIO will simply not be used. For PC users installing a high end video card with 1GB of VRAM, the additional MMIO becomes an even greater problem: their usable system RAM shrinks by down to around 2.3GB.
The great PC RAM swindle
With Intel's "Santa Rosa" platform, Apple's Core 2 Duo machines gained chipset support to internally handle 8GB of address space. This allows Santa Rosa Macs to shove MMIO up into the high end of the space and reclaim all of the addresses below the 4GB mark, making the full amount available to the system. No version of 32-bit Windows supports this, and conversely, there is no 32-bit version of Mac OS X Leopard, so the "where is my full 4GB?" issue is now a Windows-only problem going forward.
Prior to using the Santa Rosa platform, Apple sold its laptops as only supporting a maximum of 3GB RAM because of this. However, many Original Equipment Manufacturer PC assemblers represent their machines as supporting 4GB of RAM even though the operating system can't actually make any use of a big chunk of it. With hardware that only supports 32-bit addressing, no operating system can make use of the full 4GB. However, even with Santa Rosa-style hardware that can make use of the full 4GB, the mainstream 32-bit Windows Vista still won't use more than 3.2GB or less because it can't remap MMIO.
One developer we consulted about the issue noted, "consumers are being scammed by [PC] OEMs on a large scale. OEMs will encourage customers to upgrade a 2GB machine to 4GB, even though the usable RAM might be limited to 2.3GB. This is especially a problem on high-end gaming machines that have huge graphics cards as well as lots of RAM."
"Microsoft even changed the way the OS reports the amount of RAM available; rumor is, due to pressure from OEMs," the developer told us. "In Vista and prior, it reported usable RAM, while in SP1 they changed it to report installed RAM ignoring the fact that much of the RAM was unusable due to overlap with video memory." And so many PC users are installing 4GB of RAM in their PCs and thinking that it is being used by the system, when in fact it is no more beneficial than if the RAM were simply poked halfway into the CD slot.
For example, Dell's top of the line $5799 Alienware gamer PC comes standard with a 1GB video card, 2GB of RAM, and 32-bit Windows Home Premium. That means the system can only possibly use 2.3GB of RAM, but Dell "recommends" users spend $250 (or $8 per month with financing) to buy a 4GB upgrade (below) that will offer them little more than bragging rights, as the 1GB video card and the roughly 750MB of other MMIO will make the extra 2GB unusable. Dell says "Upgrading your memory allows you to take full advantage of system capabilities as well as increasing system efficiency," but that's simply not true on this page.
The next segment will look at another aspect of RAM use in Mac OS X that underlines why apps can use more memory than apps in Windows Vista, and how this relates to performance gains coming in Snow Leopard.
Following the initial introduction to 64-bit computing leading up to Snow Leopard, this second segment takes a look at the issues related to the amount of RAM that can be installed and actually used by the system. Additional segments will examine how much memory a specific app can reserve for itself, how the OS gets faster with 64-bit addressing despite the additional overhead involved, how the market for 64-bit apps is unfolding, and how Apple is pioneering 64-bits on the desktop.
Road to Mac OS X Snow Leopard 1: 64-bits
2: 64-bits, Santa Rosa and the great PC swindle
3: Twice the RAM, half the price, 64-bits
4: The Future of 64-bit Apps
Virtual Memory, PAE, and the 4GB barrier
Right now, few mainstream users need more than 4GB of RAM, even when running a 64-bit operating system. An OS can manage a large 64-bit virtual address space and simply page memory into the limited amount of RAM available as needed, using the hard drive as overflow when required (below left). Consumers will eventually want a full 4GB however, and many power users already need even more than that right now.
Because hardware with 32-bit addressing can only work with 4GB of RAM at once, special tricks such as Intel's PAE (Physical Address Extension) are needed to take advantage of more physical RAM (below right). PAE can give the system more breathing room in the amount of RAM it has access to, an important factor in reducing the kernel's need to page memory in and out to a relatively slow hard drive.
Mac OS X running on a new Mac Pro or Xserve can handle as much as 32GB of installed RAM using PAE. Linux can also use PAE, but 32-bit Windows PCs are stuck at a maximum of 4GB of installed RAM. Windows XP initially offered support for using more than 4GB with PAE, but this caused problems related to driver bugs, so Microsoft simply disabled support for more than 4GB, starting with Windows XP SP2 and continuing into Windows Vista. Unless you're running Vista x64 or an expensive "datacenter" or "enterprise edition," you simply can't use more than 4GB of RAM on a Windows PC.
System RAM vs MMIO: the "where is my 4GB?" problem
If you're feeling cramped within 4GB, hold on tight because things are about to get worse. The first issue is a historical limitation in the Intel x86 architecture, related to "Memory Mapped I/O." Essentially, all of the device memory used by video cards or any other expansion cards is mapped on top of the 4GB addresses used by the system's RAM. This didn't used to be a problem before anyone wanted to actually use the entire 4GB address space for system RAM.
Note that this doesn't mean that MMIO "eats up" your RAM, it's just that the hardware maps that device-related memory over the top of physical memory, leaving fewer addresses available to the operating system to use for its system RAM. This problem is tied to 32-bit chipsets, which are independent from the CPU. There are 64-bit PCs with 32-bit chipsets. For example, Apple's 64-bit Core 2 Duo laptops prior to the second half of 2007 all used 32-bit addressing.
That means that while they can execute 64-bit code and handle 64-bit virtual memory, they still can't address more than 4GB of physical RAM, minus roughly 0.75 GB of MMIO, for a grant total of 3.2GB usable RAM. If you install a full 4GB, the portion in conflict with the MMIO will simply not be used. For PC users installing a high end video card with 1GB of VRAM, the additional MMIO becomes an even greater problem: their usable system RAM shrinks by down to around 2.3GB.
The great PC RAM swindle
With Intel's "Santa Rosa" platform, Apple's Core 2 Duo machines gained chipset support to internally handle 8GB of address space. This allows Santa Rosa Macs to shove MMIO up into the high end of the space and reclaim all of the addresses below the 4GB mark, making the full amount available to the system. No version of 32-bit Windows supports this, and conversely, there is no 32-bit version of Mac OS X Leopard, so the "where is my full 4GB?" issue is now a Windows-only problem going forward.
Prior to using the Santa Rosa platform, Apple sold its laptops as only supporting a maximum of 3GB RAM because of this. However, many Original Equipment Manufacturer PC assemblers represent their machines as supporting 4GB of RAM even though the operating system can't actually make any use of a big chunk of it. With hardware that only supports 32-bit addressing, no operating system can make use of the full 4GB. However, even with Santa Rosa-style hardware that can make use of the full 4GB, the mainstream 32-bit Windows Vista still won't use more than 3.2GB or less because it can't remap MMIO.
One developer we consulted about the issue noted, "consumers are being scammed by [PC] OEMs on a large scale. OEMs will encourage customers to upgrade a 2GB machine to 4GB, even though the usable RAM might be limited to 2.3GB. This is especially a problem on high-end gaming machines that have huge graphics cards as well as lots of RAM."
"Microsoft even changed the way the OS reports the amount of RAM available; rumor is, due to pressure from OEMs," the developer told us. "In Vista and prior, it reported usable RAM, while in SP1 they changed it to report installed RAM ignoring the fact that much of the RAM was unusable due to overlap with video memory." And so many PC users are installing 4GB of RAM in their PCs and thinking that it is being used by the system, when in fact it is no more beneficial than if the RAM were simply poked halfway into the CD slot.
For example, Dell's top of the line $5799 Alienware gamer PC comes standard with a 1GB video card, 2GB of RAM, and 32-bit Windows Home Premium. That means the system can only possibly use 2.3GB of RAM, but Dell "recommends" users spend $250 (or $8 per month with financing) to buy a 4GB upgrade (below) that will offer them little more than bragging rights, as the 1GB video card and the roughly 750MB of other MMIO will make the extra 2GB unusable. Dell says "Upgrading your memory allows you to take full advantage of system capabilities as well as increasing system efficiency," but that's simply not true on this page.
The next segment will look at another aspect of RAM use in Mac OS X that underlines why apps can use more memory than apps in Windows Vista, and how this relates to performance gains coming in Snow Leopard.
Comments
So Windows is screwed up? What a revelation!
Not only screwed up but screwed their customer base. I hope Apple starts making this well known out there in PC Fan Boy Land.
"Hi I'm a Mac. Excuse me PC, how much memory did you pay for and how much do you really have?"
"Hi Mac, mmmm ... I can't remember, I must have a memory problem ..."
Not only screwed up but screwed their customer base. I hope Apple starts making this well known out there in PC Fan Boy Land.
"Hi I'm a Mac. Excuse me PC, how much memory did you pay for and how much do you really have?"
"Hi Mac, mmmm ... I can't remember, I must have a memory problem ..."
Nice !
Unfortunately, for some people, it will be a revelation to read that Windows is screwed up !
No version of 32-bit Windows supports this, and conversely, there is no 32-bit version of Mac OS X Leopard, so the "where is my full 4GB?" issue is now a Windows-only problem going forward.
[ View this article at AppleInsider.com ]
Careful how you word it Daniel. I know you mean "when using 64 bit hardware, there is no '32 bit version' of Leopard", but I happen to be running Leopard in 32 bits right here on my old G4.
for a grant total of 3.2GB
grand total.
Great article.
And so many PC users are installing 4GB of RAM in their PCs and thinking that it is being used by the system, when in fact it is no more beneficial than if the RAM were simply poked halfway into the CD slot.
I know people complain about the partisan comments in these technical articles, but you gotta love this image...
PC Fan Boy Land.
PC Fan Boys such as me already know of the issue...this is nothing new. This only affects non-techies who know crap about their computer. These are the same people who take their computer troubles to the Geek Squad and get screwed over there...losing documents unnecessarily and buying unnecessary hardware when their current hardware is fine. These are the same people who, when they get fed up with their PC, switch to Mac after some salesman tells them Macs run flawlessly, which is another lie.
Yeah...PC users are getting screwed over if they stay uninformed. If they choose to become informed even the most basic research will deliver the correct answer, upgrade to a 64 bit OS. Since all recent essential hardware supports 64 bit just throwing on a 64 bit OS is all that is needed to solve the problem.
PC Fan Boys such as me already know of the issue...this is nothing new. This only affects non-techies who know crap about their computer. These are the same people who take their computer troubles to the Geek Squad and get screwed over there...losing documents unnecessarily and buying unnecessary hardware when their current hardware is fine. These are the same people who, when they get fed up with their PC, switch to Mac after some salesman tells them Macs run flawlessly, which is another lie.
You do have some good points in regard to hyperbolic absolute statements, however: Most people are not technical with computers and shouldn't be expected to be; while Macs don't run flawlessly the more seamless HW/SW integration and included SW makes for an easier system for these non-technical masses to use; & there has been long term, well known, rampant 64-bit driver support issues with Windows.
You do have some good points, however: Most people are not technical with computers and shouldn't be expected to be, there is has been long term, well known rampant 64-bit driver support issues with Windows, and while Macs don't run flawlessly the more seamless HW/SW integration and included SW makes for an easier system for these non-technical masses to use.
I will give you that...you combine hardware from 5 different manufacturers with an OS from yet another company...you're bound to have problems a lot of the time. Where you see issues for the non-tech masses I see unnecessary restrictions placed on hardware and software that is operating in Macs. Apple keeps a stranglehold on their hardware and software...this much I know. I have a taste of it through owning my iPhone 3G (the only reason I came to this site, since it's the only Apple product I own). Personally I would much rather have a more open market and figure it out for myself. That's just me though.
There is a lot that needs fixing on both sides of the fence...more on the PC side than Macs for the non-tech crowd though. If PC makers and PC tech Shops like the Geek Squad (ok I guess they probably do Macs as well, seeing how BB sells Macs) would be a hell of a lot more honest with their customers Apple probably wouldn't be seeing the switch rate that they are. Honestly...I hope Apple can put some pressure on PC Makers and Microsoft to make them straighten up and fly right.
Personally I would much rather have a more open market and figure it out for myself. That's just me though.
And because of the free market system you can do just that. You can choose to run the OS on the HW you want. Regarding your iPhone, for a technical person the constrictions may seem severe, but you can always jailbreak it if you wish, but more importantly you should see what the iPhone is doing for the smartphone market as a whole. Nolia/Symbian, BB, WinMo aficionados are benefiting from Apple's move into the smartphone market. The same thing has happened with Macs and PCs in the past: the specialized boutique systems paving the way for the masses in a less confined space.
If PC makers and PC tech Shops like the Geek Squad (ok I guess they probably do Macs as well, seeing how BB sells Macs) would be a hell of a lot more honest with their customers Apple probably wouldn't be seeing the switch rate that they are.
I think people are just fed up in general with Windows. The universal system of the internet, the fact that you can put Windows on your Mac in various ways if need be, the integration of their popular iPod, and the proliferation of Apple stores has given people a chance to see a Mac outside of a school lab. PC tech shops, like any repair place (read: auto repair) has always has a reputation for taking advantage of the ignorant customer. Such is life, that isn't going to change.
BTW, I did call recently and Geek Squad does service Macs now.
Unless you're running Vista x64 or an expensive "datacenter" or "enterprise edition," you simply can't use more than 4GB of RAM on a Windows PC.
That's wrong. There's also XP64 which can use as much ram as a mac (actually more in most cases since there are so many more 64 bit windows apps).
I guess there are probably some windows users who have more ram installed than the system can handle, but there are also plenty of PC users running the 64 bit version of either XP or Vista and using every bit of their ram.
This article is REALLY misleading, it spins things like mac users can use all the ram while PC users can't when in fact PC users can use it all with a 64 bit OS, and there are way more 64 bit apps on the PC side.
That's wrong. There's also XP64 which can use as much ram as a mac (actually more in most cases since there are so many more 64 bit windows apps).
I guess there are probably some windows users who have more ram installed than the system can handle, but there are also plenty of PC users running the 64 bit version of either XP or Vista and using every bit of their ram.
This article is REALLY misleading, it spins things like mac users can use all the ram while PC users can't when in fact PC users can use it all with a 64 bit OS, and there are way more 64 bit apps on the PC side.
This is a good point if worded a little inflammatorily... XP and Vista both have 64 bit editions, and the percentage of users buying the 64-bit editions has made huge jumps in the last few months. Some OEMs are even making the 64-bit editions of Windows the default on all new desktops. At this point I suspect the market share of 64-bit Windows is at least as big as the total MacOS market share.
And because Microsoft didn't make the bone-headed decision not to support 64-bits on their older APIs, users will actually be able to *USE* 64 bits on their software, unlike Mac Photoshop users for example.
All in all, Apple blew the 64 bit transition big-time. They had a much better story than Windows a year ago but now are way behind.
Not a geek but not clueless either, my 2008 Mac Pro will benefit by using 8 gigs or ram or not? Anyone?
Yes it will benefit. It uses PAE.