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

JD92

macrumors 6502a
Original poster
Apr 14, 2005
934
31
Hey people,

I was just playing around with my 11" MBA and found it doesn't seem to support the 64-bit OS X kernel. I tried holding the 6 and 4 keys at bootup then running 'uname -a' in the terminal and it reports I'm still running the 32-bit kernel. I also tried running "sudo systemsetup -setkernelbootarchitecture x86_64" and it reported that the architecture had successfully been changed, but on rebooting I found I was still running the 32 bit kernel.

It's not big deal really, and I'm not entirely clear as to whether there are any performance advantages, but as I don't need any 32 bit drivers I figured I might as well take advantage of the 64 bit kernel, but apparently I can't :(

Anyone else tried this?
 

tdfreeman

macrumors member
Nov 13, 2010
30
0
It's that way on both the 11" and 13". I've not seen an explanation why. I don't see a piece of hardware that would limit it, maybe they limited it in software to reduce heat?
 

KPOM

macrumors P6
Oct 23, 2010
18,311
8,322
It's that way on both the 11" and 13". I've not seen an explanation why. I don't see a piece of hardware that would limit it, maybe they limited it in software to reduce heat?

I doubt that it's heat-related since Boot Camp supports Windows 7 64-bit, which the earlier MacBook Airs (and even the MacBook) did not. I'm guessing that since there really is no advantage to the 64-bit kernel yet (since the 32-bit kernel OS X supports 64-bit applications, unlike Windows 32-bit), Apple just didn't include it.
 

Anonymous Freak

macrumors 603
Dec 12, 2002
5,604
1,388
Cascadia
Since the only differences of the 64-bit kernel are the fact that it uses 64-bit drivers instead of 32-bit; and it can access more than 4 GB of RAM directly in the kernel, there is no reason for the Air to use it. Nothing within the OS itself cares when you only have a maximum of 4 GB of RAM, so the only possible downside is if a company (VERY unlikely,) makes a driver that is 64-bit-only.
 

tdfreeman

macrumors member
Nov 13, 2010
30
0
I would think there would be a benefit with all the apps that support 64-bit. The first one that comes to mind is Fusion. With running an OS with an OS, I would think 64-bit would be a huge benefit. It can't be that big of a space saver, so doubt that was the reason. I also don't think they can limit what Windows kernel is used based off drivers they provide, but I could be incorrect there.
 

NorCalLights

macrumors 6502a
Apr 24, 2006
600
89
No 64bit kernel means Apple doesn't have to include 64bit drivers, so that saves HD space. As a previous poster mentioned, since the Air only supports 4gigs of RAM, there's really not much advantage to including a 64bit kernel in the standard Air OSX installation.
 

KPOM

macrumors P6
Oct 23, 2010
18,311
8,322
I would think there would be a benefit with all the apps that support 64-bit. The first one that comes to mind is Fusion. With running an OS with an OS, I would think 64-bit would be a huge benefit. It can't be that big of a space saver, so doubt that was the reason. I also don't think they can limit what Windows kernel is used based off drivers they provide, but I could be incorrect there.

Only newer Macs support Windows 7 64-bit natively. Pre-late 2009 MacBooks, and pre-late 2010 MacBook Airs didn't support it, even though they had 64-bit processors.
 

tdfreeman

macrumors member
Nov 13, 2010
30
0
I was told the limitation on the old Macs was due to a non-64bit EFI even though the processors themselves were 64bit capable. In the case of the new Airs, they have a 64bit EFI, so that is not the issue.

Looking at the Windows drivers on the install DVD, all the x64 files don't add up to over 100MB. Considering they include all the languages and other junk, 100MB doesn't seem to be a deal breaker.
 

bcaslis

macrumors 68020
Mar 11, 2008
2,184
237
Actually I found the answer to this recently. It appears Apple has some code in the startup routine that prevents "non-pro" Macs from booting the 64 bit kernel. So the Xserve, Mac Pro, and MacBook Pros will do this but other Macs won't. Doesn't seem to be any hardware limitation or space issue. There was some info on using a hex editor to make changes but it seemed too risky to me to bother with. It really doesn't make any difference since the kernel never needs more than 4GB and you can't get more than 4GB on the MBA anyway.
 

CWallace

macrumors G5
Aug 17, 2007
12,527
11,543
Seattle, WA
It appears Apple has some code in the startup routine that prevents "non-pro" Macs from booting the 64 bit kernel. So the Xserve, Mac Pro, and MacBook Pros will do this but other Macs won't.

X Serves boot into the 64-bit kernal by default. The rest of the Mac line boot into the 32-bit kernal by default, but can be forced to boot into the 64-bit kernal (where supported).
 

bcaslis

macrumors 68020
Mar 11, 2008
2,184
237
X Serves boot into the 64-bit kernal by default. The rest of the Mac line boot into the 32-bit kernal by default, but can be forced to boot into the 64-bit kernal (where supported).

Yes, I'm aware of this and also that Mac OS X Server will boot into 64 bit mode by default. However you can't force the MBA in 64 bit kernel mode. I've tried it several ways. This is the restriction I'm talking about. You can force the Mac Pro and MacBook Pro into 64 bit mode but you can't the MBA, or MacBook.
 

linkandzelda

macrumors regular
Nov 8, 2010
189
0
Is it just me, or does that mean the MBA cant actually access more than 3.25GB of its 4GB RAM? If so then that sucks badly... Or is it that the system is running in 32 bit mode but still has access to 4GB? I really hope its the latter..

I would guess though, that all 2GB models would boot into 32bit mode as they would never see more than 2GB of ram. But the 4GB models, if 32bit can only support up to 3.25GB of ram then i guess they have to be running in 64bit mode.. right?
 

toxic

macrumors 68000
Nov 9, 2008
1,664
1
Is it just me, or does that mean the MBA cant actually access more than 3.25GB of its 4GB RAM? If so then that sucks badly... Or is it that the system is running in 32 bit mode but still has access to 4GB? I really hope its the latter..

I would guess though, that all 2GB models would boot into 32bit mode as they would never see more than 2GB of ram. But the 4GB models, if 32bit can only support up to 3.25GB of ram then i guess they have to be running in 64bit mode.. right?

OS X with the 32-bit kernel can address up to 16 or 32GB (don't remember which one). a 32-bit kernel is not the same as a 32-bit OS. OS X has been 64-bit (to varying degrees) since 10.3...I think 10.6 is pretty much fully 64-bit except the default 32-bit kernel.
 

linkandzelda

macrumors regular
Nov 8, 2010
189
0
OS X with the 32-bit kernel can address up to 16 or 32GB (don't remember which one). a 32-bit kernel is not the same as a 32-bit OS. OS X has been 64-bit (to varying degrees) since 10.3...I think 10.6 is pretty much fully 64-bit except the default 32-bit kernel.

Ah i understand. The kernel and OS are different. That makes sense then. What are the advantages of the 64-bit kernel as someone said its to do with the kernel extensions loaded, or something?
 

KnightWRX

macrumors Pentium
Jan 28, 2009
15,046
4
Quebec, Canada
OS X with the 32-bit kernel can address up to 16 or 32GB (don't remember which one).

You're talking about PAE mode, which has been available since about 1995 on Intel processors (starting with the P6 architecture in the Pentium Pro).

a 32-bit kernel is not the same as a 32-bit OS.

I'd like to see the logic you used to determine this particular piece.
 

bcaslis

macrumors 68020
Mar 11, 2008
2,184
237
Snow Leopard is a full 64 bit OS. Unlike Microsoft systems, the kernel itself can run in 32 bit or 64 bit mode while the rest of the OS runs in 64 bit. Run activity monitor and you will see this. The advantage of a 32 bit kernel is that it is compatible with older drivers. The reality is that the kernel on todays machines doesn't need to be 64 bit since it has no need to access memory greater than 4GB, the kernel is just a small program. In the future when gigabytes of memory is held in the kernel space for large graphics cards then there will be a need for a 64 bit kernel. But we aren't there today.
 

tdfreeman

macrumors member
Nov 13, 2010
30
0
Maybe I'm thinking in Windows mode, but the Kernel is the layer in which everything accesses the hardware. With that, you can run all the 64-bit application layers you want, but if the kernel is in 32-bit mode, the application only has access to hardware in 32-bit mode. This would be a big limitation on how the applications could run if on a 64-bit kernel. Yes, it has access to >4GB of memory, but that is not the only benefit of 64-bit.
 

gnasher729

Suspended
Nov 25, 2005
17,980
5,566
I would think there would be a benefit with all the apps that support 64-bit. The first one that comes to mind is Fusion. With running an OS with an OS, I would think 64-bit would be a huge benefit. It can't be that big of a space saver, so doubt that was the reason. I also don't think they can limit what Windows kernel is used based off drivers they provide, but I could be incorrect there.

Basically, the kernel of MacOS X is just like one very highly specialised application, which can be either 32 bit or 64 bit. It doesn't affect any of the other applications at all. A 64 bit kernel only gives you really advantages if the kernel itself cannot run well in 32 bits. That would be the case for example if you have 128 GB of RAM or more, where the memory needed to keep track of all your RAM has significant size. Another example is that the RAM that the operating system uses for caching data for the file system has to fit into the kernel's 32 bit space.

On an MBA with 4 GB of RAM or even an iMac with 16 GB, 64 bit kernel doesn't give you any advantage at all.
 

rnb2

macrumors regular
Jan 23, 2006
232
14
West Haven, CT, USA
On an MBA with 4 GB of RAM or even an iMac with 16 GB, 64 bit kernel doesn't give you any advantage at all.

Not true - my i7 2009 iMac is faster when booted with the 64-bit kernel than 32-bit. I believe this is due to faster memory access, but don't quote me on that - benchmarks generally show a 5-10% gain by using the 64-bit kernel.
 

linkandzelda

macrumors regular
Nov 8, 2010
189
0
Not true - my i7 2009 iMac is faster when booted with the 64-bit kernel than 32-bit. I believe this is due to faster memory access, but don't quote me on that - benchmarks generally show a 5-10% gain by using the 64-bit kernel.

If i understand correctly, 64bit allows for faster calculations the processor makes and double the amount that a 32bit one can make resulting in, faster performance. But as you said; dont quote me on that lol.
 

Anonymous Freak

macrumors 603
Dec 12, 2002
5,604
1,388
Cascadia
The difference between 32-bit and 64-bit on Intel processors really is three changes:

1. The system can natively access up to 64 bits of memory at once, with no "tricks" necessary. (PAE is available in 32-bit mode that allows the OS to access massive amounts of RAM, it's just not accessible by a single thread as one block.) This produces nearly no real-world speed benefit, only adding more RAM per thread.
2. The system can work on data in 64 bit chunks instead of 32 bit chunks. Note that for some things, like floating point, the SSE unit can operate on 128 bits at a time, even in "32-bit" mode. This is really only useful for very large datasets of integer math, as nearly every other use is faster in SSE processing than using the regular 32/64-bit units. This, by itself, doesn't make things faster - in fact, when working on data that is less than 64-bit, it actually slows things down, because it has to pad the 32-bit data into 64-bit, thereby using up MORE memory bandwidth.
3. 64-bit mode mandates the use of faster processing methods; whereas 32-bit mode mandates that the ancient, slow-as-molasses x87 FPU be available. 64-bit mode says there is no x87 FPU, that the SSE unit handles all floating-point processing. In addition, 64-bit mode has more registers available than 32-bit mode. This is the entire speed improvement caused by using 64-bit mode on an Intel processor. The fact that the slow FPU is replaced with a fast FPU (although this could be done by hand already in 32-bit mode,) and the extra registers. The extra registers really help.

Note that for PowerPC systems, where 32-bit mode and 64-bit mode differ ONLY in points 1 and 2 (PPC was designed from the outset to be either 32-bit or 64-bit, so it has the same number of registers, only the size of the data chunks differs,) so running in 64-bit mode with code that doesn't NEED to be 64-bit is actually slower! (Because of the need to send more data through the processor than 32-bit mode.) That, more than anything, is why the G5 added a much faster RAM subsystem. Because 64-bit mode requires faster RAM.

Note that there is nothing inherent to 64-bit mode that causes memory transfers to happen faster, in fact, it is quite the opposite. Because 64-bit mode requires faster RAM, 64-bit systems USE faster RAM. But operating said 64-bit system in 32-bit mode means you get more "available" bandwidth, because you don't have to send as much through the processor.
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.