5

Is Mac OS X Leopard (10.5.x) 32 bit or 64 bit?

Can I address more than 4GB of RAM?

4 Answers 4

8

The short answer is that Leopard is a mix of 32-bit and 64-bit.

  • Tiger added 64-bit support for low-level system libraries, enabling 64-bit for non-GUI applications.
  • Leopard added 64-bit support throughout the system frameworks, so any app can be 64-bit.
  • Snow Leopard will add a 64-bit kernel and many 64-bit user applications shipped by Apple. The 32-bit versions of all the frameworks and libraries are of course still available, but running apps in both modes requires both stacks to be loaded, which is inefficient, and a big reason why Apple is strongly encouraging developers to get on the boat and build their apps with a 64-bit version.

Because the kernel in 10.5 is still 32-bit, the greater amount of addressable memory is achieved with some trickery. The exact details evade me at the moment, but I think that under Leopard you can only address 4 GB of physical memory — I believe the 64-bit memory space spills over to virtual memory on disk, just like when 32-bit processes exceed the amount of installed RAM.


Edit: I was incorrect about the virtual memory aspect. The 32-bit kernel can address more than 4 GB of memory, but adding lots of physical memory uses up a good chunk (~ 1/3) of the kernel's 32-bit memory space, which (at the limit) can decimate kernel performance. Obviously, if your application uses more memory than is available (either in 32-bit or 64-bit mode), the OS must map virtual memory.

Among other things, the 64-bit kernel in Snow Leopard provides breathing room in the kernel itself by vastly increasing the address space it can use, including for describing physical memory. Most people aren't running into that limit yet, but they will start to as installed RAM increases in the near future.

2
  • Leopard can address more than 4GB of physical memory and there is no spilling of address spaces. Your bullet points seem to be correct, but your summary is completely incorrect.
    – Amok
    Sep 8, 2009 at 19:37
  • The way I understand it the OS always maps virtual memory, which is made up of physical memory and swap space. Sep 9, 2009 at 17:02
6

I found this series very informative:

Road to Mac OS X 10.6 Snow Leopard 64 Bits

It goes into a fair amount of depth on Apple's 64-bit support and architecture over the last few years.

2
0

There is platform support for all of x86, x86-64, PowerPC. All new macs ship as x64.

Snow Leopard drops support for PowerPC.

If you are running on x64 then yes you can address more than 4GB of RAM.

Even if it is 64Bit though, you can successfully run 64Bit and 32Bit applications.

See this wikipedia page for reference.

0

The reason this is so confusing is that Mac OS X is the only OS that can run most of the 32-bit kernel in compatibility mode of long mode while running native 64-bit apps on top (in 64-bit mode of course). As a result, Mac OS X Snow Leopard actually has three modes. I have an article on my blog about it: http://yuhongbao.blogspot.com/2009/09/mac-os-xs-64-bit-modes.html

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.