Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.

Consultant

macrumors G5
Original poster
Jun 27, 2007
13,314
34
Mac OS X 10.6 Snow Leopard (SL) introduces 32 bit and 64 bit kernel, processes, and applications to the end user. But what does it mean and does it affect you? Here are answers to some frequently asked questions.

Note that OS X 10.4 and 10.5 also have 64-bit support for part of the system. (Did you know PowerMac G5 introduced in 2003, with 32bit Mac OS, can access more than 4GB of RAM? Mac OS isn't limited as much with 32bit 64bit issues as windows.)

-----------------------
Common Questions
-----------------------

1. I don't understand 64 bit.
2. Why isn't my Mac booting a 64 bit kernel.
3. How do I boot a 64 bit kernel under Snow Leopard.
4. Why aren't all my applications 64 bit.
5. How come my Mac crashes when running the 64 bit kernel.

-----------------------
Answers
-----------------------

1. I don't understand 64 bit.

A. You don't HAVE to know about 64 bit. For most users of OS X, it won't matter.

The Application delivery mechanism for future OSX Snow Leopard apps will still be Universal Binary, which will include BOTH 32bit and 64bit code if available.

The default SL kernel is 32 bit which is more compatible. Note that the Snow Leopard 32 bit kernel can still run 64 bit processes that allows access to more memory, useful for some power users.

The only reason you have to know about 32bit or 64bit is if you are running windows.

With Windows there is a 4GB total memory limit with 32 bit windows. Mac OS is different. Even Macs running Leopard can contain and use far more RAM than the 4 GB limit the "32-bit" qualifier might seem to imply.

Yes, 64-bit kernel (K64) allows use of a very large number of RAM, 16 exabytes to be exactly, but do you have any apps that need more than a few GB of RAM?

With Windows you need to download a different version of the app / program / driver for different version of windows os. On Mac OS, you download 1 Universal Binary which will work on all 32bit and 64bit (if available) installs for that Mac OS.

Yes you are suppose to get higher benchmarks on certain artificial test for running K64, but in daily use you won't notice a difference for almost most users do on Mac OS X.

2. Why isn't my Mac booting a 64 bit kernel.

A. The default behavior of Mac OS X 10.6 Snow Leopard client is to boot into the 32 bit kernel. Servers on the right hardware defaults to K64.

Booting into 32 bit kernel for OS X client is to ensure maximum compatibility. Until every single app and driver are updated to 64 bit, most people should run the 32 bit kernel, as many older apps / drivers are 32 bit.

The Snow Leopard 32 bit kernel can create 32bit and 64 bit processes. Even 32 bit Mac OS can use high amount of system RAM, and allocate more RAM than 32 bit windows. So with Snow Leopard, you have compatibility of 32 bit kernel and performance of 64 bit processes.

Windows 32 bit is severely limited. 32 bit windows cannot do anything with 64bit and its RAM allocation is restricted. Note even for gamers who would benefit the most with 64bit windows, only about 30% of the high end windows market is running full 64bit.

Windows NEED full 64bit because the 32bit windows is very limited. Mac OS X is different, with 32bit kernel capable of launching 64bit processes.


3. How do I boot a 64 bit kernel under Snow Leopard.

A. Read 2. If you are absolutely certain you do not have 32 bit apps / drivers and you are not going to run 32 bit apps, you can boot into 64 bit kernel by holding the 6 and 4 key while you turn on your Mac.

Of course, you can edit a file to set OS X to boot into 64bit automatically. But in that case you probably don't need a FAQ, as you would have already read the 23 page detailed technical review of SL.

4. Why aren't all my applications 64 bit.

A. Developing apps take time.

Note that OS X Snow Leopard is set up to be 64 bit development friendly. It's likely that developer for your app is working on updating for 64 bit. It's just a matter of how long the development cycles are.

Cocao apps need to be revised and tested to take full advantage of 64bit architecture.

Old Carbon apps need to be rewritten for 64bit. Including most Adobe, Microsoft apps.
Some Apple apps are 64bit but Apple apps such as iTunes and Final Cut are still Carbon and 32bit.
Those will take more time. Note Apple has tried to push developers away from Carbon for quite a few years.

5. How come my Mac crashes when running the 64 bit kernel.

A. See #2. If your Mac is crashing in 64-bit only mode you probably have some 32 bit drivers. Switch back to 32 bit kernel. And wait for your apps / drivers to be updated by their developers. You might also want to wait for future Snow Leopard updates before attempting again.


-----------------------
Further reading:
-----------------------

Inside Mac OS X Snow Leopard: 64-bits
http://www.roughlydrafted.com/2009/09/02/inside-mac-os-x-snow-leopard-64-bits/

Road to Mac OS X 10.6 Snow Leopard: 64-Bits
http://www.appleinsider.com/articles/08/08/26/road_to_mac_os_x_10_6_snow_leopard_64_bits.html

Snow Leopard Summary of the 23 page technical review
http://obamapacman.com/2009/09/apple-mac-os-x-10-6-snow-leopard-technology-executive-summary/

Technical review, 23 pages
http://arstechnica.com/apple/reviews/2009/08/mac-os-x-10-6.ars/
 

Consultant

macrumors G5
Original poster
Jun 27, 2007
13,314
34
Great FAQ, from a geek who is running in K64.

Hehe. Thanks! Glad you like it.

I guess it's made for everyone, including those who know what they are doing. =)

FYI, a tip: I got 6 hard drives (2 ATA, 4 SATA) in my PowerMac G4 dual 800. Works great as a server. =p
 

lukin

macrumors regular
Jul 24, 2008
124
0
Thanks for the info.

So booting 32 bit kernel still runs 64 bit apps.
Booting 64 bit kernel still runs 32 bit apps.

What's the benefit of booting into the 64 bit kernel, then? After reading this I now understand why people were talking about booting into 64, but also after reading this, all apps run in each mode so... what's the deal about wanting to boot into a 64 bit kernel?

I booted into it a bit earlier and played around. I didn't notice much of anything (as the writing says I wouldn't). I did notice my computer idled around 63 when it typically idled at 45 or so.

Thanks
 

CWallace

macrumors G4
Aug 17, 2007
11,959
10,616
Seattle, WA
What's the benefit of booting into the 64 bit kernel, then?

If you're working with very large amounts of installed RAM (32GB or more), a 64-bit kernel helps improve memory performance. For the much more modest amounts of RAM found in MBs, MBPs and iMacs, it really doesn't make any really noticeable performance difference.

I can't find it, but one website did a technical review of OS X 10.6 and they explained how, with large amounts (32GB+) of installed memory, the 64-bit kernel would be more advantageous.
 

Consultant

macrumors G5
Original poster
Jun 27, 2007
13,314
34
Thanks for the info.

So booting 32 bit kernel still runs 64 bit apps.
Booting 64 bit kernel still runs 32 bit apps.

What's the benefit of booting into the 64 bit kernel, then? After reading this I now understand why people were talking about booting into 64, but also after reading this, all apps run in each mode so... what's the deal about wanting to boot into a 64 bit kernel?

I booted into it a bit earlier and played around. I didn't notice much of anything (as the writing says I wouldn't). I did notice my computer idled around 63 when it typically idled at 45 or so.

Thanks

Certain 32 bit drivers and kernel extensions won't work with K64, and might cause problems. That's why the default is 32 bit kernel.

Also, to see whether your Mac has a 64-bit EFI firmware, you can type the command into the Terminal.

Code:
ioreg -l -p IODeviceTree | grep firmware-abi
 

2002cbr600f4i

macrumors 6502
Jun 21, 2008
489
0
While there are SOME certain performance advantages to running the 64 bit kernel, the 2 biggest reasons to do so are:

1) the KERNEL and KExts (drivers mostly) can access more than 4 GB RAM. (Honestly though, unless you have a TON of kexts, this shouldn't be a problem right now.)

2) to push developers to start moving their code to the 64 bit kernel (since it is the future.)

HOWEVER, for 99.9% of users out there, there's no need to move to the 64 bit kernel, and in fact, most machines from 2007 and earlier can't (no kext support for their hardware.)

Realize though, you're not really losing anything. You still can run all the same software you could before, you're not losing out on more than a few % points of performance, etc.

Also, please remember that this is the first release of the 64 bit Kernel. If your machine isn't currently supported, hang in there, you never know, Apple might release more support in point releases.


Oh, and one other clarification - any Carbon based applications are having to be totally rewritten to use Cocoa in order to become 64 bit as there is no 64 bit Carbon (and never will be.) If they choose not to do so, then you'll be stuck with 32 bit versions (at least until Apple totally removes Carbon support, but I doubt that'll happen anytime soon.)
 

zzfuzion

macrumors newbie
Sep 10, 2009
7
0
Oregon
Thanks for this post. It is a good basic overview of 32 vs 64-bit for average users.

However, I am still curious; if all this is true and the only advantages are for power users and huge amounts of RAM, then why is it that my MacBook Pro w/ 2GB RAM runs smoothly, without a hiccup in 64-bit (despite 32-bit apps). Yet my MBP (and numerous users') runs like crap in 32-bit mode?

I can't seem to find an answer anywhere. And its really buggin me, lol. I do understand why apple would boot natively in 32-bit; for backward support. But I don't see why people are being encouraged to stay in 32-bit mode when its running so crappy for so many users.... Any thoughts?

2) to push developers to start moving their code to the 64 bit kernel (since it is the future.)

YES! lets push into the future!
 

cjmillsnun

macrumors 68020
Aug 28, 2009
2,399
48
FYI, a tip: I got 6 hard drives (2 ATA, 4 SATA) in my PowerMac G4 dual 800. Works great as a server. =p

Yeah that was what I was planning to do with it. Will be getting a SATA card soon. It's still in use as a workstation until I can get a Mac Pro though :p
 

Consultant

macrumors G5
Original poster
Jun 27, 2007
13,314
34
Snow Leopard Technology: Grand Central Dispatch is now open source
with references for developers
http://libdispatch.macosforge.org/

Thanks for this post. It is a good basic overview of 32 vs 64-bit for average users.

However, I am still curious; if all this is true and the only advantages are for power users and huge amounts of RAM, then why is it that my MacBook Pro w/ 2GB RAM runs smoothly, without a hiccup in 64-bit (despite 32-bit apps). Yet my MBP (and numerous users') runs like crap in 32-bit mode?

I can't seem to find an answer anywhere. And its really buggin me, lol. I do understand why apple would boot natively in 32-bit; for backward support. But I don't see why people are being encouraged to stay in 32-bit mode when its running so crappy for so many users.... Any thoughts?

YES! lets push into the future!


Perhaps submit feedback on your case?

Yes, Snow Leopard development tools and a lot of the new technology pushes developers toward 64 bit.

I think when a good number of apps are fully 64 bit then Apple would probably turn on automatic 64 bit mode.
 

Consultant

macrumors G5
Original poster
Jun 27, 2007
13,314
34
Submit feedback where and on what case? My case of running so well in 64-bit mode or so crappy in 32? I'm not sure what you're getting at...

Sounds like your perception of your experience is different than the norm. Since we cannot confirm anything on a forum, you might want to use apple.com/feedback
 

jpma

macrumors 6502
May 31, 2009
254
3
I turn most of my software to 32bits in order to work with multiclutch
I seriously did not notice any difference using it in 64bits it's not like any of my software will need ram more than 4g and also my macbook pro max is just 8g.

what I'm wondering, is there any security improvement in 64bits like how apple state it in safari 4 with 64bits?
 

vansouza

macrumors 68000
Mar 28, 2006
1,735
3
West Plains, MO USA Earth
My iMac 7,1 reports EFI of 64 and I know the 2.8 Extreme is 64 bit but holding the 6 and 4 keys does nothing... so there must be something else that is a qualifier/disqualifier ... yes?:mad::apple:
 

Consultant

macrumors G5
Original poster
Jun 27, 2007
13,314
34

Attachments

  • 64-bit-yes.jpg
    64-bit-yes.jpg
    17.7 KB · Views: 804

Shake 'n' Bake

macrumors 68020
Mar 2, 2009
2,186
2
Albany
Looks interesting.

I did notice that you said SL boots into 32-bit by default. That's true for everything except the Nehalem Xserves, which boot K64.
 

Consultant

macrumors G5
Original poster
Jun 27, 2007
13,314
34
Looks interesting.

I did notice that you said SL boots into 32-bit by default. That's true for everything except the Nehalem Xserves, which boot K64.

I said SL Client boots into 32-bit by default.

Those Xserves are running SL Server. =)

The default behavior of Mac OS X 10.6 Snow Leopard client is to boot into the 32 bit kernel. Servers on the right hardware defaults to K64.
 

dukebound85

macrumors Core
Jul 17, 2005
19,118
4,096
5045 feet above sea level
a nice review I had come across via the hackintosh forums

Please can we stop this now, most people reading these articles are getting soooo confused by everyone throwing around the words 64-bit and 32-bit.

It works like this, Snow Leopard is a 64-bit OS, and almost all of its applications are 64-bit, and almost if not all of its frameworks for developers to tap into are 64-bit. There is a part of the operating system called a kernel, it can run in either 32-bit mode or 64-bit mode. There is a lot of code that taps into the kernel for low level device functions, these bits of code are called kernel extensions or kexts, they are written both by Apple and by third parties. 32-bit kexts do not play well with a 64-bit kernel, and as almost all kexts are 32-bit because pre Snow Leopard the kernel was 32-bit, this would cause a huge amount of headache to end users to default to a 64-bit kernel. and most kexts will not see a performance improvement by running in a 64-bit mode.

What are the advantages of running a 64-bit kernel?
The way Mac OS X is designed to take advantage of more then 4GB memory pre 64-bit, causes it to swap address for memory above the 4GB barrier, which in turn makes each memory operation slightly slower. If you have more then 4GB of memory in your computer, running a 64-bit kernel will speed up memory read/write some, but will cause more compatibility issues with kexts. Thats it. If you have less then 4GB of memory a 64-bit kernel will have no advantage what so ever, and above that you will see some performance improvement when more then 4GB of memory is consistently being used. Obviously as no mac ships with more then 4GB of memory by default, and only more recent macs (excluding xserves and Mac Pros) can even accept more then 4GB of memory, and as it will take third parties some time to write 64-bit kexts, it makes absolutely 100% sense to default to a 32-bit kernel at this point.
 

garyd9

macrumors member
Jul 30, 2008
59
0
Pittsburgh, PA area
A question on this...

I seem to remember when I converted a linux machine to 64bit many years ago, there was a noticeable speed increase for applications recompiled for 64bit along with a certain gcc switch (in addition to -march) (forget what it was.) The best explanation I was able to find at that time was that the CPU, in 64bit mode, had access to several more registers.

I see no reason why that wouldn't be the case for the OSX kernel as well, and if true would mean that applications that make heavy use of kernel (and kernel extension) services in osx would see a performance boost when running against a 64-bit kernel with 64bit kexts as opposed to a 32-bit kernel.
 

Consultant

macrumors G5
Original poster
Jun 27, 2007
13,314
34
A question on this...

I seem to remember when I converted a linux machine to 64bit many years ago, there was a noticeable speed increase for applications recompiled for 64bit along with a certain gcc switch (in addition to -march) (forget what it was.) The best explanation I was able to find at that time was that the CPU, in 64bit mode, had access to several more registers.

I see no reason why that wouldn't be the case for the OSX kernel as well, and if true would mean that applications that make heavy use of kernel (and kernel extension) services in osx would see a performance boost when running against a 64-bit kernel with 64bit kexts as opposed to a 32-bit kernel.

OSX is hybrid 32 bit 64 bit system even under 32 bit mode. The other OS 32 bit mode is just the limited 32 bit mode.

Yes certain types of apps will see performance benefits under 64 bit only (K64), but for most users it doesn't matter at this time.
 

Washac

macrumors 68030
Jul 2, 2006
2,511
128
Hi

How do I see if I am booting into 32 or 64 ?

If I want to change this, how do I do it please ?


Thanks....
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.