11" MBA doesn't support the 64 bit kernel?

Discussion in 'MacBook Air' started by JD92, Nov 13, 2010.

  1. JD92 macrumors 6502a

    JD92

    Joined:
    Apr 14, 2005
    #1
    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?
     
  2. tdfreeman macrumors member

    Joined:
    Nov 13, 2010
    #2
    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?
     
  3. KPOM macrumors G5

    Joined:
    Oct 23, 2010
    #3
    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.
     
  4. Anonymous Freak macrumors 601

    Anonymous Freak

    Joined:
    Dec 12, 2002
    Location:
    Cascadia
    #4
    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.
     
  5. tdfreeman macrumors member

    Joined:
    Nov 13, 2010
    #5
    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.
     
  6. NorCalLights macrumors 6502a

    Joined:
    Apr 24, 2006
    #6
    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.
     
  7. KPOM macrumors G5

    Joined:
    Oct 23, 2010
    #7
    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.
     
  8. tdfreeman macrumors member

    Joined:
    Nov 13, 2010
    #8
    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.
     
  9. bcaslis macrumors 68020

    Joined:
    Mar 11, 2008
    #9
    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.
     
  10. CWallace macrumors 603

    CWallace

    Joined:
    Aug 17, 2007
    Location:
    Seattle, WA
    #10
    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).
     
  11. bcaslis macrumors 68020

    Joined:
    Mar 11, 2008
    #11
    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.
     
  12. linkandzelda macrumors regular

    Joined:
    Nov 8, 2010
    #12
    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?
     
  13. toxic macrumors 68000

    Joined:
    Nov 9, 2008
    #13
    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.
     
  14. linkandzelda macrumors regular

    Joined:
    Nov 8, 2010
    #14
    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?
     
  15. KnightWRX macrumors Pentium

    KnightWRX

    Joined:
    Jan 28, 2009
    Location:
    Quebec, Canada
    #15
    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).

    I'd like to see the logic you used to determine this particular piece.
     
  16. bcaslis macrumors 68020

    Joined:
    Mar 11, 2008
    #16
    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.
     
  17. tdfreeman macrumors member

    Joined:
    Nov 13, 2010
    #17
    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.
     
  18. gnasher729 macrumors P6

    gnasher729

    Joined:
    Nov 25, 2005
    #18
    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.
     
  19. rnb2 macrumors regular

    Joined:
    Jan 23, 2006
    Location:
    West Haven, CT, USA
    #19
    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.
     
  20. linkandzelda macrumors regular

    Joined:
    Nov 8, 2010
    #20
    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.
     
  21. Anonymous Freak macrumors 601

    Anonymous Freak

    Joined:
    Dec 12, 2002
    Location:
    Cascadia
    #21
    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.
     

Share This Page