64-bit Snow Leopard defaults to 32-bit kernel
Apple's Snow Leopard operating system, released Friday, by default loads with a 32-bit kernel, despite running 64-bit applications.
While Mac OS X version 10.6 ships with a number of 64-bit native applications, the kernel itself defaults to 32-bit, unless the user holds down the "6" and "4" keys during boot time, at which point the 64-bit kernel is loaded. Only Apple's X-Serve products, using Snow Leopard Server, boot into a 64-bit kernel by default.
"For the most part, everything that they experience on the Mac, from the 64-bit point of view, the applications, the operating system, is all going to be 64-bit," Stuart Harris, software product marketing manager at Apple Australia said.
Harris said that at this stage there were very few things, such as device drivers, that required 64-bit mode at the kernel level but the option is available.
"But we're trying to make it as smooth as possible, so people don't end up finding that 'oh, that doesn't work' because it's not available yet," he said.
There appears to be no way within the GUI to make this change permanent, requiring the editing of the com.apple.Boot.plist file to make the change--a text-based configuration file. Users have already released applications to address this issue.
Older Macs with a 32-bit EFI chipset are prevented from loading the 64-bit kernel, although there are claims that this is an arbitrary decision by Apple rather than a technical concern, with a hack using the Chameleon boot loader devised to get around the lockout.
An older mid-2007 MacBook with a 32-bit EFI chip can't register the full 4GB RAM.
(Credit: Screenshot by CBS Interactive)It is unknown at this stage what sort of performance implications running 64-bit applications on a 32-bit kernel will have compared with a 64-bit kernel.
While a large portion of the OS has been optimized and updated, some applications, such as the DVD player, Front Row, Grapher, and iTunes are still 32-bit only, and some extensions are still run as a Universal Binary, despite the PPC architecture no longer being supported.
Apple also released Snow Leopard Server on Friday, but was unable to detail the reasoning behind dropping ZFS support for the operating system, a much-touted feature during the development stage.
Some processes are still running as Universal Binary.
(Credit: Screenshot by CBS Interactive)Craig Simms of ZDNet Australia reported from Sydney.





Sorry, too bad you won't be able to use it. Well you can, just load Windows 7 64 bit on the darn thing and put it to good use.
The performance hit is when you start your first 64-bit application --- OS X grinds a bit as it loads up 64-bit versions of various libraries. If Snow Leopard stays 32-bit, that means it will still have both 32-bit and 64-bit versions resident, burning off more of your RAM compared to having all-32 or all-64.
The sky isn't falling and puberty will end, trust me.
Right there, in the second Paragraph... let's try that one more time:
"the user holds down the "6" and "4" keys during boot time, at which point the 64-bit kernel is loaded."
Not all Macs with intel chips that can run 10.6 are 64 bit. Why start in it by default?
Windows had no option. You either installed 64-bit or 32-bit Windows, and that was that. Having a simple toggle is more elegant.
Anyway, THIS IS NEWS???? It's been known for weeks and months...
>> Not all Macs with intel chips that can run 10.6 are 64 bit. Why start in it by default?
Because on hardware not capable of running 64-bit code, you wouldn't start it -- ever. Not even if you hold down "6" and "4".
PC Mag:
http://www.pcmag.com/article2/0,2817,2352066,00.asp
InfoWorld:
http://www.infoworld.com/d/mac/mac-os-x-snow-leopard-perfection-refined-364
Forbes:
http://www.forbes.com/2009/08/27/apple-operating-system-technology-enterprise-snow-leopard.html
Irrelevant... you won't be running 64-bit apps if your processor doesn't support 64-bit... whether the 32bit kernel can or not.
Changing the boot arguments is extraordinary?
solution, Apple starts useing dual mode chips like AMD's. then they could run a native 64 bit platform that can operate all 32 bit commands with out emulation. I've been doing this with windows since the amd fx-55. welcome to the game apple try and keep up.
Apple *IS* using "dual-mode" chips...they are the same processors that go into PC's which handle the dual-mode thing just fine under Linux and Windows (intel calls theirs "EMT64"). It's just the geniuses at apple thought that it was better to "thunk" upwards rather than downwards. Probably because they had painted themselves into a corner by selling hundreds of thousands of laptops with intel chips but no 64-bit capabilities (the original intel "core" cpu's) that they felt they couldn't afford to alienate. Unless there is hardware support for such "reverse-thunking"...I would imagine there's a measure-able performance hit here.
Snow Leopard is designed not for today, but for the future. Software makers have to redesign their apps to be able to access up to 16 Billion GB of memory, and to handle multiple processors (now simplified in Snow Leopard). It can handle 16 thousand gigabytes of RAM. No machine today exists to take full advantage of it.
While that statement makes alot of sense, and I would normally agree with you... 3rd party vendors had over a year's worth of access to Vista and they still were completely irresponsible in drive support. IMO 75% of vista's poor perception in the market place is due to irresponsible hardware vendors... and that wasn't even a architechure change like 32->64. Yes, the sound and print engines were completely overhauled, but there was PLENTY of time in advance. (I was working in the software QA division of a large printer company at the time... they didn't even touch vista until a month before RTM. Bad.)
A stages approach like this will soften the blow to the end user, and that's good, but it's not going to kick any 3rd party vendors in the pants and get them moving.
I wonder if there are other cheat codes that unlock additional functionality.
Man, this is getting sooooooo over blown and by people who do not know s@#t about it.
Do any of you know why you might even need 64 bit computing? anyone?
Though so.
Even Linux handles this more gracefully than Apple.
A sucker is born every minute.
"Man my 64bit Jaguar is sooo totally more extreme than your 16bit Genesis!"
64bit is currently relevant to only a handful of people, mostly researchers and people doing high end graphics work. Beyond that it is a marketing term (for now).
So what 64-bit really provides on Snow Leopard is the ability for any one application to use more than 4GB of physical memory. And I don't know who needs that other than Photoshop users, video editors and scientists. Photoshop is not yet 64-bit and won't be until CS5, I don't believe FCP is yet either, and scientists can turn on 64-bit knowing that they won't have full kext support, but the don't care...
Photoshop cs4 also comes in 64-bit. Please research facts if you are going to state them.
While it is commonly said that only people who *need* > 4GB of memory are the only ones who benefit, that is totally false. Simple functionality like decryption, loading and decoding jpeg images, playing movies, modifying images all take advantage of this increased functionality. Three of the most processor intensive operations (DFT, or Discrete Fourier Transform, DWT, Discrete Wavelet Transform, and DCT, Discrete Cosine Tranform) are heavily used throughout the system to perform the above tasks. They all make heavy use of trigonometric functions, which must be implemented in software on 32bit machines, which can take hundreds of cycles to perform. G5s and x86_64 chips have these functions (all based on the hardware cos function) and can perform the same action in only one or two cycles. That means playing iTunes while rendering in Final Cut or number crunching in Matlab will take less time and consume less power. Same goes for games, web browsers (which need to play video or display images), screen savers and the like. Once developers really start including OpenCL into their code, not only will both the 32 & 64bit chip components be working at full tilt, but extra capacity of the graphics cards can be brought online too.
64bit will be a Good Thing for all users. However, that doesn't mean it's always necessary, or crucial that people have it *right now*. Having 32bit code isn't a Bad Thing, nor is having a mix. It wasn't crucial for all 16biters to immediately have 32bit support, and it's not true that everyone needs immediate access to all of the 64bit 'goodness' that can be had. Eventually, 64bit will be the standard, and companies will tout the need for newer, faster 128bit chips.
Please research your own facts before correcting someone, lest you look like a tool.
http://bit.ly/5AHTH
Short summary: while 64-bit gives programmers valuable options, it's not correct or realistic for users to assume that 64-bit [whatever] is necessarily better than 32-bit [whatever.]
Or as Adobe's John Nack put it in an entry in his <a href="http://blogs.adobe.com/jnack/">blog</a>: "Please stop asking for a 64-bit version of iTunes or DVD Player or Fireworks or whatever, blindly assuming that /number of bits' equals 'goodness.'"
If you boot into a 64bit kernel, none of your 32bit device drivers will work, so people who are upgrading will struggle. Drivers built for snow leopard will have both 32 & 64 bit code, but until that happens, booting into 64bit by default isn't the right way to go.
That said, 'booting into 64bit' only refers to the kernel. All of the other libraries that apps depend on, AppKit, FoundationKit, libc, etc are all 64 bit, and will load if a 64 bit processor is accessible. Also, any program that was compiled with 64bit code will run in 64bits period, giving you that (2x) improvement.
The biggest problem for users will be that their software (Photoshop, Logic, etc) will be 64 bit, but their plugins might not be. If any program has plugins or extensions that are not 64 bit, it will have to be relaunched into 32bit mode to use them. Contrary to contentcreator's comments, OSX does not 'grind a bit' when loading 64 bit code, nor does it load BOTH 32 and 64 bit. It loads 64bit code if it's dependent libraries and the processor support it. If not, it degrades gracefully (and speedily) to 32bit code.
That said, nearly all programs 32/64/ppc continue to run well on SL, and all of them get to take advantage of GCD when they run, so they run a bit faster as well.
In the pre-release versions of SL, all of the Macbook Pros, Mac Pros and XServes could be set to boot in 64bit by default (without 32bit device drivers), and the others (with the exception of the MBA and Mini) could be booted with the '64' keys held down. I guess they removed it to keep users from getting confused if their devices stopped working. My guess it will be the default for all machines once the driver community has moved all of their code over.
Please post more often.
Er, 64 bit does not give 2x improvement. I can't believe people are still saying that. Makes it hard for me to take anything else you wrote seriously...
And another point unlike Microsoft, Apple's main concern was first have a stable transition. Functionality over features. The users' need to maintain compatibility with older hardware which may not be ready with 64bit drivers is very important. The experience in 32bit with functioning hardware is much much better than a marginally better 64bit experience with some possible driver issues. If you take vista for example how many upgraded right off the bat with little concern for their device drivers only to find out it doesn't work.
Snow Leopard does not support installation on PowerPC machines, but does continue to support the Rosetta environment to execute older PowerPC-based applications. No doubt that is why some of the lower-level kernel extensions (e.g. "BSDKernel") continue to be supplied as Universal Binaries.
"Apple ... was unable to detail the reasoning behind dropping ZFS support for the operating system, a much-touted feature during the development stage."
Leaving aside the question of who was doing the touting, the short answer seems to be that the ZFS port to Mac OS X wasn't complete and is missing some functionality critical to the Mac user experience. See here: http://bit.ly/1LKDvA
If you want to force it to boot 64-bit, first go to the terminal and check that you've got a 64-bit EFI. In the Terminal, type:
ioreg -l -p IODeviceTree | grep firmware-abi
... if you see "EFI64" then you are good to go. Next, you should boot using the '6' and '4' method and verify that all your devices work fine (most common things should). If everything checks out, you can force booting in to the enable that with this (in the Terminal):
sudo defaults write /Library/Preferences/SystemConfiguration/com.apple.Boot 'Kernel Flags' 'arch=x86_64'
You can also directly set the boot flags:
sudo nvram boot-args=?arch=x86_64?
or
nvram boot-args=?arch=i386?
This has the effect of forcing the 64-bit kernel load. The practical upshot is that the system will only be able to use 64-bit drivers, which may or may not work for you, depending on what you've got.
You don't need the 64-bit kernel to load in order to run 64-bit applications or to access >4G of RAM. Conversely, if you've got a machine with an Intel 945 chipset that doesn't address >3G of RAM, there's no software magic at all that will fix that. Booting the 64-bit kernel only only has the effect on whether it loads the 32-bit or 64-bit version of a kernel extension or device driver. Right now, there are a few 32-bit only device drivers, but no 64-bit only ones. Presumably this is why the default was chosen as it was.
Incidentally, if you screw up and find out that you set the machine to boot 64-bit when it can't, you can use the logical step of holding down the "3" and "2" keys to boot into a 32-bit kernel.
Jus' sayin'.
Core Solo/Duo macs: 2GB RAM max due to HARDWARE limitations
Intel 945 chipset macs: 3GB RAM max due to HARDWARE limitations
Core 2 Duo Santa Rosa and above, Xeon hardware: 4GB+ (6GB max for Santa Rosa, not 8GB, but not positive that is hardware related or that Apple would not enable more than 6GB because Leopard can't address more than 6GB)
If you upgrade to SL, help us all out report bugs to:
http://bugreporter.apple.com
and report application (in)compatibilites to:
http://snowleopard.wikidot.com/
Save the screeching for the day your computer falls off your desk and breaks your foot. Until then, if you've got something useful to contribute, please do. Otherwise, well...
Good Software/OS development is an inclined plane, it moves (relatively smoothly) upwards. Large steps are jarring and often painful, so companies are trying to smooth out the bumps. They should be lauded, not jeered. Apple has a long tradition of successful transitions: 68k -> PPC, G3/4 -> G5, classic -> OSX, and now PPC -> Intel and I'm sure this one will be a success too.
Doubtless, people will complain about incompatibilities between 32/64 bit Windows 7, and 32/64 bit versions of Linux. Driver issues, installation issues, bugs and vulnerabilities are an inevitable consequence of software upgrades. All coders are affected; there's nothing 'fishy' about that.
"The problem is not with Apple's drivers... The problem is everyone else's. Printers, scanners, usb devices, data acquisition software, PC cards, etc all need to have 64bit drivers in order to work properly."
The irony is that this is one of the leading claims that Apple fans make to justify why Windows is such a failure in their viewpoint. I'm glad to see someone level headed enough to point out that the OS OEM cannot force third parties to produce good products / drivers on demand and that all you can do is fortify your own core OS to work with whatever you're given as best you can.
Snow Leopard will allow the OS itself to take advantage of > 4 GB of RAM. You can boot Snow Leopard in 32-bit mode and run 32-bit or 64-bit apps. You can boot Snow Leopard in 64-bit mode and still run 32-bit or 64-bit apps.
For the 10.6.0 release, it defaults to 32-bit for the OS. Which will run 32-bit or 64-bit applications just fine. Including some 32-bit Apple apps and some newly-64-bit Apple apps, and of course mixed third-party apps.
I would bet that 10.6.2 will default boot in 64-bit mode -- once third-party drivers are all updated -- on any machine capable of operating in 64-bit mode. Apple has seamlessly transitioned from PowerPC to Intel chips in a couple of smooth hops -- something no one else has done. Certainly not Microsoft. The Snow Leopard release is the second hop in the road to pure 64-bitness, and it will also be a smooth transition.
And all the PC fanboys are jealous.
Now Apple is here trying to have their cake and eat it too, claiming 64-bit is the big thing, but having to silently turn off their 64-bit kernel to avoid the same problems and maintain their air of moral superiority. It's tiresome. People have to just call BULLS**T on them. Apple and Microsoft both to do things good and horrifyingly bad, it's important to keep them straight.
Snow Leopard in 64-bit actually allows your apps to use all that memory without the virtual memory paging overhead.
- by August 28, 2009 11:14 AM PDT
- I have an Aluminum Intel Core 2 Duo iMac running Snow Leopard right now, and I've tried the 'hold 6+4' method at boot time, as well as the SUDO commands posted later on, and System Profiler still tells me that the 64-bit kernel and extensions = NO. what gives? I also punched in the command that DOES tell me that I have 'EFI64'... Is system profiler reporting incorrectly, and I can find out what mode my kernel is in, elsewhere?
- Like this Reply to this comment
-
Showing 1 of 3 pages (144 Comments)