Even though Apple has been hyping up the 64bit nature of its ucpoming Snow Leopard operating system, stating it will be the first Mac OS X release to be 64bit top-to-bottom, reality turns out to be a little bit different so far. With the current Snow Leopard seed, only Xserve users get the 64bit kernel and drivers – all other Macs default to 32bit. By holding down the ‘6’ and ‘4’ keys during boot, you can to boot into full 64bit mode – that is, if your Mac supports it. As it turns out, some Macs with 64bit processors cannot use the 64bit kernel because the EFI is 32bit. Note: I should have included in the article that 64bit applications will run just fine (including benefits) on a 32bit kernel in Mac OS X. Since this was already possible in Leopard, I assumed people were well aware of that. Turns out some were not, so my apologies for that.
The release notes – dubbed ‘seed notes’ – attached to the latest Mac OS X 10.6 Snow Leopard seed (build 10A432) detail exactly which Macs can boot into a 64bit kernel and drivers by default, and which can’t. Only the Xserves boot into 64bit by default, while all other Macs capable of running Snow Leopard still get a 32bit kernel and drivers.
This table comes straight from the seed notes:
If your Mac is on this list, you can force Snow Leopard to boot into 64bit mode by holding down the ‘6’ and ‘4’ keys during the boot process. You can also use the NVRAM or the com.apple.Boot.plist
file to more permanently boot into 64bit mode. Holding the ‘3’ and ‘2’ keys will, obviously, boot Snow Leopard in 32bit mode.
That table above might be a bit cryptic, but it’s technically pretty simple. Only Macintosh machines with a 64bit EFI are able to boot the 64bit Snow Leopard kernel and kexts; this is an artificially implemented limitation by Apple, as 32bit EFI can boot a 64bit kernel just fine. On top of that, even if your MacBook has a 64bit EFI, you will only be able to boot the 32bit version of Snow Leopard – again because of an artificial limitation by Apple for MacBooks. Probably the harshest consequence of this is that the original Mac Pro, discontinued January 8, 2008, cannot boot the 64bit kernel and drivers.
So, even if you have a 64bit processor, and you thought you were in the clear, Apple might not give you the option to go 64bit. However, in what probably rivals the Amazon Kindle 1984 thing in most ironic moment of 2009, the hackintosh community has come to the rescue. With netkas’ pcefiv10.1 bootloader, you can boot into 64bi Snow Leopard even on 32bit EFI Macs.
So far, it’s not yet known if Apple will enable owners of machines with 32bit EFI to boot into a 64bit kernel in Snow Leopard-final; Apple might offer an EFI update, or remove the artificial limitation. The same applies to MacBooks; it might be that Apple is planning on using 64bit as a selling point to drive people to buy MacBook Pros instead of ordinary MacBooks.
You can check your machine’s EFI by running the following command in the terminal:
ioreg -l -p IODeviceTree | grep firmware-abi
Output will be either EFI32 or EFI64.
Apple is probably limiting proper 64bit support to Xserve machines for now simply because 3rd party drivers are not yet updated (printers, scanner, and so on) for 64bit support. This means that while both Linux and Microsoft have more or less completed the 64bit transition because they started early on, Apple is trailing behind and still needs to wait for its driver base to update their drivers – something which has already happened on competing platforms.
You’d think that nowadays EVERYTHING’s wrong with Apple.
I don’t know… I didn’t take it as something being wrong to be honest. I mean it seems logical to me that they would default to 32-bit for at least one release to get the driver situation sorted out. The artificial limitation on EFI32 may or may not be in the final release – this is after all still in development.
As an outsider looking in (I’m a PC user), I actually got something quite positive out of this article about Apple. Namely that they architectured their OS to allow a single install image to support both 32-bit and 64-bit kernels with nothing more than a boot flag. I’m impressed by this, assuming this is transparent to installed software (if it isn’t I don’t know why they would bother).
That is actually pretty neat imho – It can be done with Linux but no one really builds their distros that way, and in Windows well forget about it.
Edited 2009-08-18 19:12 UTC
The article depicts Apple in a negative way.
Eventho you got a good picture regarding the 32/64 bit boot flag but Thom Holwerda is intentionally viewing Apple being behind the crowd without commenting on other aspects of the known issues of 64/32 transition
This is the second thread today that someone has posted stuff like this. The article doesn’t “depict” Apple at all. Its information – this is exactly the kind of stuff I want to see on this site. What constitutes “positive” articles to you – Would an “Everything is Lollipops and Bubblegum at Apple” story make you feel better?
I just saw an article pop up on page 2, “Apple Tops PC Industry in Consumer Satisfaction”… Does that do it for you?
There is a difference. The customer satisfaction article is short, and states the position in which several companies ranked in customer satisfaction. It was “factual” in the sense it just listed the facts, thank you m’am.
This article posted by Thom conveys more than factual information by throwing in phrases like “reality turns out to be a little bit different so far” and “Apple has been hyping up the 64bit nature” and “it might be that Apple is planning on using 64bit as a selling point to drive people to buy MacBook Pros” which are evocative and speculative.
I think what he’s getting at is that regardless of what Apple does, Thom Holwerda always summarizes the article in a negative way. It has nothing to do with the article and more to do with Thom’s over zealous and seeming brewing hostility towards Apple. I’m not saying Thom’s hatred is specific to Apple – he seems to hate other things as well. I’m sure you can find summaries on this site that make it seem like an Apple hate site.
They had that release… it was called Leopard.
As you recall… One of Leopard’s main selling points was 64bit.
Leopard : Its 64 bit… its fast… buy it.
Snow Leopard : Its ALL 64 bit, top to bottom… buy it.
Next Leopard : Its 64 bit by default… buy it.
If you ask me they need to delay Snow Leopard until its 64 by default.
But what do I know? These Apple sheep will buy anything. They pay twice for the same song on iTunes to have one as a song and one as a ringtone. They’d pay for desktop wallpapers through iTunes too but apple didn’t realize it and gave them the ability to do it for free by themselves.
Leopard did not have a 64-bit kernel… There is no way to field test your 64-bit drivers if there is nothing to run them on. I was simply saying that logically it makes sense to nudge your userbase towards staying 32-bit on the first release of a 64-bit kernel, just to reduce your support issues.
As I said before I’m not an Apple user. I don’t pay all that much attention to what they say about their products, because most of it is PR double-speak. But I will concede that where the rubber hits the road they tend to release some nice stuff – even if they often fail to meet the expectations they set for them.
You forgot:
PowerMac G5: the first 64 bit personal computer… buy it!
The PowerMAc G5 was provided with a specific build of Tiger which had 64 bits support in the Unix layer, allowing the machine to run command line applications in 64 bits. You could also have GUI on top of that communicating with the 64 bits process via IPC.
So same advise as to Holwerda, don’t talk on something that you don’t understand…. you are embarrassing yourself.
Read my previous post, i think it is pretty clear.
This is the big misunderstanding of people only familiar with windows or linux. An os having a 32 bits kernel has nothing to do with being able or not to run 64 bits apps. OS X completely decoupled the kernel and the ABI+object file format so that as far as it comes to the kernel, it can execute whatever it is asked for to do.
Mach-o object file format totally abstract the type of executable and the kernel really does not need to bother if it is compatible with it or not. If the Mach-o object file is 32 bits then the kernel will execute it, if it is a 64 bits binary it will execute and expose whatever advantages the 64 bits addressing provides. That means OS X kernel will allow 64 bits addressing, 64 bits math, access to more registers (note this is only true for X86, not powerpc) and additional security features to any 64b bits applications. The kernel is nothing more than a peace of code that manages resource distribution. If an 64 bits app is running, it will provide it a larger addressing space for physical and virtual memory, and anything else that the app requires.
A 32 bits kernel only means that it itself runs in 32 bits, that its own address space spans a 64 bits addressing space. So by definition that’s nothing to do with being able to run 64 bits apps or not. Again a 64 bits kernel has its own benefits compared to a 32 bits one (read my post about that), but when it comes to running 64 bits apps, a 32 bits kernel is totally equivalent as a 64 bits one.
Now yes Windows or Linux requires a 64 bits kernel to run 64 bits apps, but this is by design that they do that. Those OS has tied their object and ABI format to the kernel addressing space so that one requires the other to be in the same addressing space. This is quite bad decision mostly due to the original design as it has put a lot of burden on the average user to use 64 bits apps complicating the transition to 64 bits. And again, Windows is the worse in that matter, as it needs complicated solutions which are really bad design. I mean this Windows On Windows layer (WOW) is complicated, unreliable, and it simply difficult to maintain. WIndows is really not flexible OS, really not… I am sorry this is technical reality.
The different behavior only concerns if the kernel is booted in 64 bits, again the kernel. For the end user of MAc OS X, that is irrelevant at the moment because again a 64 bits kernel only benefit very large workloads like in xserve. A laptop user does not need at all a 64 its kernel at this moment, but he/she will be absolutely able to run 64 bits apps on his/her laptop running the 32 bits kernel. Or i should say the kernel running in a 32 bits address space, this is the correct way to say it, equivalently for the 64 bits mode.
Yes of course, it allows third party drivers to continue to operate. A 64 bits kernel needs 64 bits drivers IF AND ONLY IF they operate in the kernel space. They need to have the same addressable memory mapping. And equivalently, a 64 bits drivers can’t run in a 32 bits kernel. So most of the drivers are still 32 bits drivers, that’s why win64 is so unpopular, it lacks divers among having some 32 bits apps broken on the WOW layer.
So booting a 32 bits kernel allows to keep compatibility with today’s drivers and in the same time OS X completely allows those drivers to exist and work with 64 bits applications. The opposite is also true, 64 bits drivers work with 32 bits apps on Snow Leopard. This is not the case on win64 (and i believe also on Linux), 32 bits can’t work with the 64 bits drivers. And of course you can’t run 64 bits apps with 32 bits drivers as an 32 bits windows kernel can’t run 64 bits apps.
And gain keep in mind that here too OS X does the things better technology wise. Snow Leopard allows for developing universal drivers, similar to universal applications, the proper bits gets loaded as needed. Not need for developers to maintain separate binaries across multiple devises and users do not need to know anything about what type of drivers they are installing, for them this is completely transparent.
And i want to come back to the Holwerda article. Some people night think that i am quite severe with him but really it deserves it. I mean he could have just made a informative article. He claims to be journalist or he aims to be so but why he did not first report properly the information and for being informative do some research and try to explain what it means. How the 64 bits features are implemented differently across different OS? What a 64 bits kernel really mean? Why it means different things for different platforms.
If he could not do the article, he could have done the minimum research to link to some relevant documentation or ask someone to give the technical discussion. He could link to technical articles for people interested on knowing the facts, understanding the technology.
But no, what he did is writing non-sense Apple bashing to feed his frustration of Apple and sudden fanboyism of everything that Microsoft does. Spreading fud, disinformation, conspiracy theories is not what i call a nice behavior. His purpose recently has only been to bash Apple whatever the news is about by reporting biased facts and disinformation so that any other zealot can come to spread the garbage on the forums. Is that nice for OSAlert? I really doubt about it.
And the real problem is that people just believes that, he knows it. I mean people in our days are more open to sensational stories than to a boring explanation on what 64 bits means and how it is implemented on OS X, right? So many people like that crap, people don’t use their brain. It is just sad…..
I know what I’m talking about. I was pointing on the fact that Apple was heavily avertising it as a major feature, while in fact it was mostly unused. There were people who believed that everything they were doing was in 64 bit.
Now, when you actually have the possibility to go full 64 bit, Apple itself is phasing out support for these wonderful (and pricey) machines.
Edited 2009-08-20 08:38 UTC
Yes, but please note that the PowerPC architecture doesn’t benefit as much from going 64bit as x86 does; in fact, 64bit applications might actually run slower than their 32bit counterparts on the PowerPC.
And reality is if this was something that had been done on Linux or Windows the tone of Thom’s article would have been positive for the very reasons you mentioned. Alas it is however Apple, so different rules apply…
Indeed it may appear that way however …
The reason it is ‘transparent’ software wise is because you only have only the 32bit versions of applications installed.
The x86_64 architecture being able to run 32 and 64 bits binaries, one can provide 2 kernels (one 32 and one 64) and boot in either, with the same 32bit userland and applications. However, if you want 32 and 64 bits userland attached with their respective kernels, you will need to install both architecture of the applications, so now how do you differentiate elegantly in a Menu or GUI which is which? Could be hacked in … there is still the problem of double the storage costs, and also the settings of the particular apps to be reproduce across.
As memory becomes cheaper and hardware accommodate more, I believe the tendency is to ship a 64 bit kernel to accommodate gracefully hardware configs with more than 4 gigs of RAM, but with a 32 bit userland where the migration of all apps to 64bit is not necessary. Hopefully Linux distros will offer such an option soon.
Why would linux ship a 64 bit kernel with a 32 bit userland? It doesn’t make any sense. If its a new operating system, install all 64 bit. If you need an app that’s not 64 bit, it will work. But, there is no need to handicap the userland into 32 bitness.
Mac OS X 10.6 isn’t in development – its already at GM; if they were going to make it 64bit, it would have occured many builds ago; there was but one rumour generated through the Twitter service by one person who later deleted that tweet (by which time it had already been repeated by several people). That comment then made its way by a couple of posters onto Macrumors claiming that there was a 10A435. It hasn’t made its way through the news services, no one has confirmed or verified it either. It has no validity because if it did exist – it would have been confirmed or denied by now.
Edited 2009-08-19 07:55 UTC
Yep. This site does nothing but pile on Apple…
Apple Tops PC Industry in Consumer Satisfaction
Edited 2009-08-18 22:29 UTC
Ah, as the chief Mac zealot here, I read the article 4 times and I don’t see anything negative in it. Thom opened up the article, talked about what Apple claimed they would deliver, talked about what was delivered, and the reason for it. I don’t see anything negative in it.
With that being said, however, I do think that Thom should have made two points:
1) Emphasise that the 32 bit kernel can access more than 4GB of memory due to the fact that the machine boots directly into long mode and the kernel can then access more than 4GB due to the way in which memory is handled by the kernel – Mac OS X Internals: A Systems Approach by Amit Singh explains how Mac OS X does it thing; I’m having to read some parts several times. All I have to say is, what you think you know about operating systems, throw part of that knowledge out the window.
2) 64bit applications can run on a 32bit kernel, utilise features provided by the 64bit processor, access more than 4GB of memory, NX stack and heap; W^X protection and I’m sure many more features. Just because it defaults to 32bit kernel, you don’t lose the benefits which the average user will get from going 64bit.
The summary at the bottom of his article is correct – the kernel is 32bit for compatibility reasons. The 64bit kernel extension API has been stable since, if I remember correctly, 10A380 – but it wouldn’t be enough time to get out stable 64bit drivers.
I think people need to remember that Microsoft has been shipping a consumer focused 64bit operating system since Windows Vista (although there were 64bit versions of Windows prior, they weren’t pushed hard to consumers via their OEM channels) – and the requirement for Windows Vista certification was the requirement to provide 64bit and 32bit drivers. Windows 7 will be their second 64bit operating system that’ll be pushed towards end users via their OEM channels. I’d say that by the time Mac OS X 10.7 is released, 64bit kernel will be the default on all EFI64 shipping laptops, desktops and workstations – by that time all kernel extensions will be universal (32bit and 64bit).
Also, why does this matter. Apple says all kinds of things that aren’t true in real life. Isn’t it time folks get over the hype, and realize a completely different CPU architecture is going to be needed to give the consumer something other than expensive incremental improvements?
What? A new CPU architecture? They just switched to one a few years ago. One capable of running 64bit apps just fine. I’m running 64bit 2008 Server here at home on a $400 x64 box, why in hell can’t Apple do it? They can, but they CHOOSE not too, for whatever reason.
Edited 2009-08-18 20:33 UTC
Did you even read the article. It doesn’t say it can’t run a 64-bit operating system, bu that the kernel won’t load by default until Apple resolves the issues with drivers. You can already run all of you 64-bit apps in Leopard without a 64-bit kernel as has been proven already in this forum. The kernel isn’t really al that important to 64-bit computing on a Mac. It can already execute 64-bit processes. So if you have leopard installed a machine with the proper 64-bit extensions then there really isn’t an issue and even though article’s author is speculating quite a bit from something that is not even released yet, Apple will most likely enable booting to the 64-bit kernel from a 32-bit efi at some point, or update the efi to allow this.
Thom seems to be on fairly negative campaign against Apple as of late. I mean did they kill your cat or something?
Did you even read the OP? Or my post? I was responding to the post about Apple changing to a new architecture. I said that they were choosing not to enable 64bit for no good reason. Perhaps I should have worded it a bit differently, but the meaning is the same: Apple has chosen to disable the 64Bit kernel by default.
I didn’t say that they couldn’t, or that they wouldn’t, I said they choose not too. For no good reason.
So not enough compatible drivers is not a good reason for you? I’m sure Apple is going to gain a lot of fans when people’s printers, audio interfaces, etc. don’t work properly due to no 64-bit drivers.
No, it is not a good enough reason for Apple to force me into a 32-bit kernel on my Macbook, which has EFI-64. It is not a good enough reason for them to forbid me to boot into 64-bit mode if I wish to do so for whatever purpose. I understand the 32-bit default just fine, and I agree with Apple in defaulting to a 32-bit kernel for the moment. I do not, however, appreciate yet another artificial limitation Apple has decided to place upon me “for my own good.” I’m starting to think now would be a good time for me to make a clean break from Apple. The camel’s back is about to break.
By all means, go and run whatever you like ^aEURoWindows, Linux, FreeBSD…
We are better off with all the whiners in another platform…
“We”??
So.. eh.. are you talking about the Jobs-cult or the Mac-elite here?
And are you one of the leaders who decides who is “in” or “out”?
Because I’m a devout Mac-user, but I really do appreciate people like darknexus who aren’t satisfied hearing that even with their 64-bit machine, they are silently forced into 32-bit mode. Cut this guy some slack, okay? He wants to have a proper Mac experience just like you, me, and the rest of “us”.
(when reading “us”, picture me making scary gestures with the fingers of both hands while making a soft, “woooo”-ing noise)
Edited 2009-08-18 22:42 UTC
Just be careful jailbreaking, Apple will probably fear that you might crash transmission towers with your MacBook http://osne.ws/gwp
I for one am *so* glad I got a Pro so I can do the ridiculus “6 and 4 dance” during boot. They should also have informed customers about this aforehand, if I had bought a white MacBook, I’d feel so ripped off right now!
Oh and Thom, thanks for the tech update in this article.
On Microsoft’s behalf; their Excel “32 vs 64 bit” screenshot ( http://osne.ws/gyb ) looked better than the above “Apple supported” overview. And the Microsoft list made a whole lot more sense, too!
Apple does whatever inconviences consumers least. For example the firewall on OSX is set to let allow all incoming connection which is just crazy (http://support.apple.com/kb/HT1810), this means that customers can just do stuff on their mac it doesn’t incovenience the customer, never mind about security.
Same with the 64bit kernel/32 bit kernel. I doubt many mac users will get anywhere near the 4gb per thread limit of a 32bit application. The few who do, 64bit apps can still run with more than 4gb per process so it not really an issue whether it is running a 32/64bit kernel.
Why would apple spend a lot of money and time making sure a huge amount of drivers were 64bit compatible when they can migrate over at their leisure and 99% of all their users would never need to boot into the 64bit kernel and have the drivers.
I totally agree with you on the firewall example!
My personal observation (as a psychologist / cognitive ergonomist) is that it is largely psychological, in that “the idea of running at 64-bit” is much more important for most people than the actual benefit we get from it. So I think you and I are wholly on the same page here.
The move from 16-bit to 32-bit was far more important, performance-wise. But the move from 32-bit to 64-bit is also very important, though only as a result of it being a “valued belief” of our psyche.
Even though it is psychological, I sympathise with anyone who has the “physical ability” to run in 64-bit, but is somehow obstructed in doing it. It’s like strapping someone’s legs to a chair. You have a 64-bit capable processor, so why should you not be running in 64-bit mode? It is all part of our desire to staying up to date, through a belief deeply rooted in our beings that newer is better.
They control the hardware, they can release the OS when they want. If they don’t have drivers that work, they should wait until they do.
It’s that simple.
They don’t control every other piece of hardware or app that uses kernel extensions!
If you’re booted in 64bit mode, then VMWare (or Parallels) will refuse to run.
That, alone, would be reason enough for Apple to disable K64 by default until everyone’s on the same page.
That would seem to be either:
a) outside of Apple’s control, release with 64bit turned on, and then let people who need those apps run in 32bit mode. There’s always boot camp in the interim.
b) fix their kexts so those apps run. I have no problems running 32bit vmware on 64bit Windows, or 64Bit linux, so it’s obviously not vmware that is the problem.
c) Trumpet to the world that OS X 10.6 will be 64bit from top to bottom, and then not turn it on, confusing some people, pissing others off, and generally being Apple.
Edited 2009-08-19 09:24 UTC
Its not a good enough reason to switch to another cpu architechture, which has zero drivers written for it. Which is what he was replying to. The current situations sucks because of the transition to a new cpu architecture, which can’t be solved by the very thing which has caused the problems we are complaining about.
It seems you want to have the ” there isn’t any better solution” argument. Ok, have fun. Drive safe and take chances.
Which is a lie on your part. Mac’s with 64bit CPU’s boot into Long mode and the kernel itself runs in compatibility which is a subset of long mode – meaning 64bit binaries get access to the 64bit features in long mode. Yes, my post isn’t as sexy as claiming that Apple hates its customers, cripples its computers, and disables 64bit capabilities – but mine is the truth where yours is based on either ignorance or a malicious agenda.
Long-time OSAlert reader, first time poster.
Please take it easy on me.
Yes, Apple did switch to the Intel platform. I was an early adopter due to this change. My Macbook Pro has a Core Duo (“Yonah”) processor in it. That’s right, the one which does not have 64-bit capabilities.
I was wondering if Snow Leopard will be the release where I would have to feel abandoned, but I’m glad that I can install one more round of the updated OS X. I realize that the standard “early adopters takes a gamble” mentality apply, but I feel relieved that my 3 year old Macbook Pro will be supported by the next OS X release.
I have a Late 2008 MBP (2.4 GHz), and I can boot the 64-bit kernel + drivers just fine. To check what you’re running, System Profiler -> Software -> Look for “64-bit Kernel and Extensions” field on right side.
What I do not understand is, why Apple don’t let boot Snow Leopard in 64 bit mode by default on EFI64 machines. Are the 64 bit drivers for Macs not mature enough (performance/stability)? Or will a 64 bit kernel decrease the overall performance for daily usage for the most consumers? Remember, Flash is still 32 bit and may became slow like hell (because of the necessary wrapping mechanisms) as many Linux users who use a 64 bit system may know.
Try, the probing for your EFI64 isn’t finalized with their driver base and when it is it will select the proper kernel, on the fly, at that point in time. Until then, 64 it.
Not all EFI64 Macs have 64-bit OS X support. My iMac is an iMac7,1 (mid-2007), has EFI64, and apparently has 64-bit drivers for everything. But it’s not on the 64-bit list.
On Windows and Linux, not having a 64-bit kernel means not having 64-bit applications, either.
Mac OS X can run 64-bit applications on 64-bit machines even with the 32-bit kernel.
Wow I didn’t know that was possible. Do you have a reference for that?
Is a screenshot enough for you?
http://yfrog.com/e0x64appsonx86kernelp
Edited 2009-08-18 20:21 UTC
http://en.wikipedia.org/wiki/64-bit
From about 2/3rds down
That’s an over simplification. The Mach kernel will switch to a 64-bit OS X if it finds a 64-bit capable processor. You’ll note that this happens even if you have 32-bit EFI.
Even then, the Mach microkernel does use the 64-bit “long mode” which permits execution of “64-bit” and “compatibility mode” (32-bit) code. In Leopard, the majority of the OS X kernel itself runs predominantly 32-bit and various frameworks run in the 64-bit mode. In Snow Leopard, everything runs 64-bit save for hooks for 32-bit legacy device drivers. There’s nothing peculiar about it, it’s built right into the EM64T spec — it’s just that leveraging it requires a microkernel architecture rather than a monolithic kernel.
This article doesn’t really go into that and concludes, somewhat erroneously, that Snow Leopard doesn’t run 64-bit on many pieces of Mac hardware. In fact, it’s more accurate to say that the boot-loader and microkernel entry point will start in 32-bit mode and switch to 64-bit mode if there’s a 32-bit EFI.
This is just a pet peeve of mine so don’t take offense, but OSX’s kernel is called XNU. Mach proper has not had any serious development work done on it for over 15 years. XNU is a fork that goes back quite a few years and as such deserves its own name by this point.
XNU is not a microkernel, it is monolithic. The entire kernel and all its drivers and even the BSD subsystem all run in kernel mode. Regardless, there is nothing special about a microkernel in the sense you are talking about it – as is obvious since OSX doesn’t have one.
The obvious question, is what impact does that mode of operating have on operating system performance? Does it limit the number of threads the kernel can handle? Or the memory it can address? How does a 32 bit OSX kernel manage more than 4 gb of memory, or is the memory management 64 bit? What parts of the kernel stay in 32bit mode? Anything other than device drivers?
If there is no difference, then why the different behavior with the Macs’ listed in the chart? Is there a good technical reason for booting in 32 bit mode over 64 bit?
It’s probably a pretty tricky bit of code that allows this to work. Basically when you’re running a 64-bit app the processor is in long mode and when you enter the kernel the processor switches to “compataibility mode” to run the kernel code. The kernel needs to have some support for the 64-bit paging structures and all of the fault and exception handlers need to detect the previous mode and switch if it’s long mode.
Running a 64-bit app on OSX should be much more efficient than running a 32-bit app since the kernel is mapped into the lower 4GB so CR3 switch is not required to enter the kernel. As far as I understand, for 32-bit apps, each system call requires a process switch, which is quite expensive on x86 processors (it wasn’t so expensive on PPC so the design worked okay there).
That isn’t true, at least in Linux. You can have a 64bit userland on top of a 32bit kernel for a while now.
That isn’t true, at least in Linux. You can have a 64bit userland on top of a 32bit kernel for a while now.
You can? Last time I tried that it was a no-go. It’s been a while, but I haven’t read anywhere of such a change so I am a bit surprised.
Solaris does this (small changes to GRUB) and IBM does it too.
this is somethimes needed for let’s say driver development or debugging.
However as your kernel is 32-bit, your app may be even 128-bit and still be limited by 32-bit kernel memory limitations. So for your system 64-bit app still behaves like 32-bit.
In short you have flag (64-bit) but not capabilities unless you switch to 64-bit kernel. For average user: useless.
I just purchased a 13 inch white Macbook two months ago. I ran the command mentioned and it said I was running EFI64. Not sure about older Macbooks however.
READ the article carefully, please. As I explained, MacBooks CANNOT bot the current Snow Leopard seed in 64bit, whether they have 64bit EFI or not. Artificial limitation by Apple.
OK. Sorry. I overlooked that portion of the article, but I still maintain that Apple is fooling themselves if they think that a software governor is going to prevent macbook owners from being able to run 64 bit. If the majority of the parts are identical between macbooks and macbook pros, then it has to be a software thing and everyone knows that most of the undercarriage of OS X is text based – like most *nix operating systems. Find the file, edit it, and you’re golden.
–
The only way they can stonewall users is to embed a kill bit in the 64bit version of EFI that looks for which type of Mac you’re using, but given the fact that Apple is not the only game in town for EFI anymore, I have to think that the fix is trivial.
Where are they stopping people from running 64bit applications? you’re sounding as though Apple stopping people from running 64bit binaries? Here is my system monitor:
http://i990.photobucket.com/albums/af23/kawaiigardiner/Screenshot20…
Pray tell, if Apple has disabled 64bit, why am I running so many applications in 64bit mode?
Just add the arch=x86_64 to the com.apple.Boot.plist file
put it between the String commands and it will always boot in 64 bit
I just ran the test on my New Mac Mini running the latest snow leopard build, and it came back with “EFI64” I just did a basic upgrade with the disk, so I am not sure what the limiting factor may be with the 32/64 difference.
I haven’t had any problems and have been running 10.6 for about a month and a half.
Tried running the command on my MacBook (Early 2008)
littlemac:~ fx$ ioreg -l -p IODeviceTree | grep firmware-abi
| | “firmware-abi” = <“EFI64”>
littlemac:~ fx$
MacBooks cannot boot the current Snow Leopard build, whether they have 64bit EFI or not. The article states it quite clearly.
I have version 7.1 of iMac, as revealed by System Profiler, BUT it is interesting to note: by running that command, I get told I have EFI64, making it this question: do I or don’t I, according to this post, have the ability to run Snow Leopard as 64-bit by default or at all?
I tend to think I will be able to: EFI64 with a 2 Ghz Core 2 Duo, while not the latest and greatest, is quite capable of what’s required, especially coupled with 4 GB RAM. It will be interesting to see what happens when I can get it and install it.
7.1 is not listed, so that would be a no.
Well, I did ask whether it’d be at all, and I don’t think there’s certainty based on what’s listed here
I’ll wait until Snow Leopard comes out, and actually install it, to take that as a yes/no, and not assertions of someone that hasn’t tested it on the same machine I have
It completely leaves out that 32 bit OSX kernels execute 64 bit applications just fine.
Yes, and it can play CDs too. I’m sorry, I’m not stating the obvious. If you don’t know this, you’re probably on the wrong website. I consider it common knowledge.
So what is the big deal? Why the big ominous article? If its common knowledge then your article is quite useless isn’t, because 64-bit kernel or not it can still execute 64-bit processes with very little to no issues. Is the point of your article this mythical artificial limitation? If so have you received the final shipped version of Snow Leoprd to corroborate that this cap will in fact be in effect when its released? Do you know for a fact that Apple won’t fix this issue in the future? There is a lot speculation in your article and very little actual fact other than the 64-bit is currently not set to boot by default and is not enable on macbooks.
When Snow Leopard is released and the artificial limitation is still implemented then sure we can all stand in fron of cupertino with pitchforks and torches in hand, for now its a bit of an over reaction to an issue that really doesn’t affect anyone negatively at the moment.
I also think it is fair to say that even for people like myself, which I would say I have a little bit of knowledge about computers, assumed that even if it could run 64bit binaries, the processes and everything were still limited to 32bit constructs. I look through many forums and people rightfully assume that you had to have a 64bit kernel to run 64bit binaries; I don’t think their assumptions were unreasonable given one would assume you had to have one with the other.
I’m not attacking Thom but I do think he should have said that even with a 32bit kernel, 64bit applications can run ontop, address more than 4GB of memory, take advantage of the extra registers and still inherit all the added security features such as W^X and NX protection. I don’t think there was anything malicious on his part, just a misplaced assumption that everyone understood the issue as deeply as he did.
Definitely. I didn’t even think for one second to include the info about the 32bit kernel being able to run 64bit applications in Mac OS X, because as a long-time Mac user, this is something I already know, and more or less assumed everybody else did too.
This article is specifically about the kernel and drivers though, so it’s all still correct – but I should’ve mentioned that you can still run 64bit apps+benefits on a 32bit kernel.
I hardly believe that. If so, why did you you specifically insinuate that Apple is sort of artificially limiting the 64 bits goodies for its users? You clearly poorly understood what it was about. If i am wrong, then your phrasing was so bad that most of people reading you understood that it won’t be possible to run 64 bits apps on Leopard or Snow Leopard on machines which don’t boot a 64 bits kernel. And again you intentionally insinuate it, from your article:
or
Not only those statement are wrong, they do mislead the reader unfamiliar on the matter. I mean what this statement
is supposed to mean then?
Am i am wrong? Prove it, rewrite your article.
Also knowing that you can run 64 bits apps with a 32 bits kernel on OS X, by definition this knowledge won’t bring you to such statement:
Because saying that poorly fits to the reality of 64 bits computing on OS X.
Is is not correct because again you intentionally insinuate that booting a 32 bits kernel has some drawbacks for the user, which again it is far to be the case. As i explained, a 64 bits kernel brings little to most mac users. Most mac users don’t run on any sort of limitation of the address space that the kernel can map, and i doubt that a lot of them will run more than 2500 processes at the same time. Even faster system calls is not a big deal for the typical workload of the average user. On the other hand, for a machine like the Xserve, it makes much more sense to load a 64 bits kernel.
But in your article you say clearly that Apple is limiting its users with artificial limitations by not loading the 64 bits kernel on all configurations and doing so do not allow to go for 64 bits. This is plain wrong.
Prove your honesty, correct the article. Write an informative article not a trolling one.
And i am doing you a favor calling it an article.
Edited 2009-08-20 07:02 UTC
Then will you please leave OSAlert or something? How am I supposed to have a discussion with someone who does not believe me when I specifically apologise for not including information which I believed everybody knew?
I’m just a human being you know, and I make mistakes. And if I do, I apologise. Which I just did! If you think I write just to make Apple look bad, a completely delusional idea, how on earth am I supposed to have an informed discussion with you?
The article is quite simple: Apple is currently defaulting to a 32bit kernel on everything but Xserves. Not every machine that is capable of running a 64bit kernel is allowed to do so by Apple. That is all the article states, and that is still correct. I said that Apple is doing this probably because 3rd party drivers are not yet updated. Also correct – like you reiterated.
I should have also said that 64bit applications can run on 32bit kernels. Like I just mentioned, I thought everybody knew that about Mac OS X, as Leopard could already do this too, and it was widely reported on. If you think I left that out with malicious intent, then you are even more of an apple zealot than I already thought.
Edited 2009-08-20 08:33 UTC
Leave OSAlert? You should better do it, not me. Which apologize, i can still read on the article
or
Are you still arguing that those statement are not intentionally misleading? If really i should believe you, if you really knew what you claim you do, why did not you correct the article or add the relevant information when it was clear that most of the people reacting on the forum got it wrong? Answer to this one please.
What about those statements:
This clearly sates that users will have to live with some sort of limitation because the 64 bits kernel is not loaded. Are you still arguing that it is the case? What are the artificial limitation that you are referring to? Why do you speak then about limitations?
What about this
What it is supposed to mean? You are clearly inferring that laptop users, particularly the macbook users will see any sort of drawback of not having a 64 bits kernel. Am i inventing the quotes above?
It is amazing to see that you can’t even acknowledge what you wrote by yourself. I mean come on…. this is getting ridiculous.
Sure anyone who criticizes you is an apple zealot. The point is that you know i am right and you can’t accept that someone here puts some truth in the mass of nonsense that you write. You did not have malicious intent? Prove that i am wrong, correct the article.
Wait, unused? By who? The PowerMac G5 was advertised as high end machine that can run 64 bits applications. It did so and back then running 64 bits apps on Powerpc was more about getting more addressable memory. You would not get the speed up by the additional registers as in x86_64. The PowerPC was a 64 bit design from day-one, they did not need to add more registers to support the 64 bits addressing and the additional instructions. That means few people really could see the advantage of the added addressing space. Merely only scientific apps that needed to address more more than 4 GB of memory. The PowerMac G5 with Tiger did just that, you could run any unix app in 64 bits, a ton of scientists did do, i did and still do, so don’t say that it was unused. Some other major apps got 64 bits support, it was the case for example of Mathematica which used the IPC approach for binding the 64 bits Mathematica kernel to the UI.
Who? What can make you think that it is the case? Do you have numbers, statistics, references? How could any person think that he/she was running a 64 bits app because he/she had to use then an app which needed more than 4 GB of addressable physical memory. Back then (and still now) who are those people, besides people in high end computing who anyway knew what the Tiger 64 bits implementation was?
Here we are, typical example of the misunderstanding that the article has produced. Yes i say you again, you don’t know what are you talking about. For any PowerMac G5 user, 64 bits means the 64 bits addressing for all the OS stack and the extra security features. Did you read previous posts, god sake?
We still have PowerMac G5 running Leopard in my lab loaded with 16 GB of RAM, running 64 bits custom Cocoa applications and some X11 apps, like Tecplot. Right now a tecplot run is addressing 10 GB of RAM. How a hell is Apple is phasing out support for full 64 bits with those machines then? Full 64 bits (all OS stack 64 bits) is available since Leopard.
Could people here document themselves before throwing out non-sense?
Edited 2009-08-20 09:54 UTC
You are assuming malicious intent on my end on all those statements. Those statements, however, are all still 100% correct, and nowhere am I insinuating anything about it being a drawback to users. You are seeing insinuations that aren’t there.
The ONLY thing I left out, which I should have added, is that 64bit apps will run on a 32bit kernel. I’m starting to repeat myself, but oh well.
Hakime, let’s just get it out in the open here: you think my sole purpose int his world is to put Apple in a negative light, and because of that, you will twist everything I say and do in such a way as to support your view on the world. Of couse, I’ve written a whole boatload of positive Apple articles, but you conveniently ignore those because they don’t fit in with your view on the world.
I’m getting tired of this pointless discussion. The article is 100% correct on all the facts, but as I have already apologised for, I should have added specifically that 64bit apps will still run fine on a 32bit kernel. I assumed everybody would know that, but I was wrong. I am deeply sorry if I offended you.
I wouldn’t consider that common knowledge. I didn’t realize that until I saw it in the comments. Windows cant’ do that. Linux either. I’m not aware of any that can, other than osx. Good article, but stating a weird fact like that would have helped. Even if you think everyone else already knows it.
Like how every animal show talks about a kangaroo’s pouch when ever they talk about kangaroos. Its weird. Most animals don’t have those. Worth repeating.
Not Thom’s point. His point is that Apple has once again F**KED the world, this time by taking precautions by not enabling 64 bit by default – as the article says – possibly because of driver issues.
What I find interesting is the b**ching and moaning about the x windows problems Thom noted, likely caused by driver issues, and if Apple were to restrict functionality because of driver issues that could cause instabilities, they suck.
If apple have found that the 64bit drivers by 3rd parties are not on the whole quite there yet, stick with 32bit for now.
64bit will come in the future, you can bet on it. The xservers are different from consumer models, as a rule 3r party drivers are not so much an issue. Drivers are mostly apple supplied (for simplicity I am assuming this means tested and stable)
I would rather apple made the system stable and altered their marketing than pushed something through that wasn’t finished.
I will ask this as an open question to anyone who wants to answer,
Can you, as a user, HONESTLY tell if a kernel driver is 64 bit and not 32?
So, currently 3rd party people and companies have only had a few months to get their apps converted to 64 bit.
I bet companies like HP with their printer drivers and companies that make audio drivers for third part devices haven’t fully gotten their drivers to 64 bit yet. So what is Apple to do? Turn everything to 64 bit with a magic wand that fixes all 3rd party drivers?
Obviously that isn’t going to happen so they do the next best thing. They make their “from the ground up 64 bit OS” boot in 32 bit mode until most of the companies get their act right and then one day, without the user knowing it, the next time they do an update their computer will magically boot up in 64 bit mode and … everything will appear to be exactly like it was when it booted in 32 bit mode.
The only ones that will truly notice are those that use apps with large amounts of memory. And then only a little bit. Only once 64 bit has been around a bit (no pun there) longer and companies take more advance of OpenCL and so forth will you see things really start to ramp up with speed and effects.
Personally I can’t wait to see what happens in iMovie (sorry I’m not a pro at video or audio) and other apps. But I bet developers, now that they’ve gotten their apps to 64 bit mode, will be able to start taking advantage of that.
Meanwhile, Windows 64 and Linux 64 bit still are not polished either. I wouldn’t go bragging about being fully 64 bit. I have friends that have cough cough Vista 64 bit and now Windows 7 (which sucks less than Vista for sure) and there are definitely issues with 64 drivers or lack of them.
Nothing to brad about there. By the way. What is the rating for 64 bit Windows and Linux right now?
Yes I use a Mac. I also like eComstation and Haiku (coming out in Alpha soon to a computer near you). Mac is something I use. It’s a tool. So is my camera, and screw driver, and car and … get a life Windows people.
I wonder – as an owner of 1st-gen. MacPro I am out of luck running Snow Leo in full 64-bit mode any time soon, but 64-bit Linux on the same machine runs just fine.
How do those two compare?
Any chance of ever using 64-bit OSX on older MacPro? At some point Apple is going probably to drop support for 32-bit machines just like they did with PowerPC. But this will most likely not going to happen any time soon…
Why do you need the kernel in 64bit?
1) Can you address more than 4GB of installed memory within Mac OS X? yes.
2) Can you run 64bit binaries on a 32bit kernel? yes.
3) Can those 64bit binaries address more than 4GB of memory? yes.
4) Does Mac OS X and 64bit binaries take advantage of the extra registers? yes.
5) Do those 64bit binaries come with the extra security promoted so heavily by Apple? yes.
The whole 64bit vs 32bit kernel is much ado about nothing – you’re not losing out by Apple keeping the kernel 32bit.
So may be SL will be Intel Only this time around. And making time for Developers to make 64bit drivers.
10.7 will be Intel 64bit only. Dropping 32bit on Desktop.
Why would they drop 32bit when there is no need for some applications to move to 64bit? 64bit, contrary to popular belief, isn’t going to herald world peace, end world hunger or solve the middle east conflict.
I can’t believe that there are 54 comments here without anyone chiming in to tell us how useless 64-bit is unless your trying to simulate string theory or something.
Wow, there must be a lot of string theorists in the world then.
64-bit cpus on non-retarded OSs[1] can be significantly faster than 32-bit cpus on everyday tasks, and can take advantage of the massively increased address space available to them, this is already an issue for people who, for example, use VMs that have high RAM requirements.
[1] Look up the windows AMD-64 callspec to see what I mean
I am not one of those naysayers. I didn’t buy a 64-bit processor to only use half of it. My point is that when anything 64-bit comes up a hardware guru somewhere likes to tell us that 32-bit is just as good.
Usually when that happens I like to “extend” that logic and say that 8-bit trumps all.
Does anyone else find this a little bit pathetic?
Intel had 64-bit x86 processors out when Apple was switching to x86. Apple could have easily switched the entire operating system to 64-bit then, and had 100% compatibility before the competition. 64-bit as compulsory for x86 drivers and nobody has any reason to complain – ingenious.
Instead, Apple chose to start with Core Solo and Core Duo processors, which are 32-bit. So now it has only just started its 64-bit transition, and there will be years of pain ahead.
So what if you can run 64-bit programs on a 32-bit kernel? You still won’t be able to use more than 3.3 gigabytes of RAM, which means you get ZERO advantages of 64-bit architecture.
And rather than ease the transition, booting into 32-bit mode by default will simply prolong the transition. No ordinary Mac users will be booting into 64-bit mode, so no driver developers will bother to make 64-bit binaries. Just like how every Windows XP user used an administration account because it was the default, so no software developers bothered to make programs that worked when run with limited permissions.
This isn’t something to get angry about; I’m not angry, it doesn’t affect me. But it’s extremely pathetic that Apple has barely reached the 64-bit age yet, when the other operating system vendors have been there for years.
You don’t know what you’re talking about. Of course you don’t have to know anything about 64-bit support in Mac OS X, but then stop bitching about it.
You certainly get advantages by using 64-bit applications on Mac OS X with a 32-bit kernel. They run faster because they can use more registers. And of course they can use more than 4 GB of RAM. Mac OS X can use up to 32 GB of RAM with a 32-bit kernel.
(Of course, everything that runs in the kernel like kernel drivers cannot use more than 4 GB alltogether, but at the moment practically no kernel drivers would want to do that.)
Why everyone is believing what Holwerda, who seems more and more into the trend of bashing Apple, is saying, because the mater of the fact is that he does not know what he is talking about?
I first have to wipe out the misunderstanding that people have here mostly because of poorly minded guys writing on the web.
Mac OS migration to 64 bits is in fact well smoother and sophisticated than it is on Linux or windows (which did not any transition per say, more on the matter later) and the architecture has allowed to build applications and drivers for both 32 and 64 bites hardware. But before to dig into that, few words about the reality of the 64 bits advances on OS X.
The first 64 bits support was introduced in Tiger at the Unix level, so that any command based application (very often used in scientific workload for example) could get access to 64 bits addressing and arithmetic. It was possible to build the binaries for both 32 and 64 bits, for both powerpc and intel, all together into one Mach-o object file, all running on the same unique OS. This allowed developers to target many architectures and still providing one binary visible to the user, the OS loading the appropriate bits.
Leopard completed the 64 bits transition as far as it comes for developers to build 64 bits apps. All the OS stack was transitioned to 64 bits, including Cocoa, OpenGL, Quartz, etc, only UI Carbon was left over as obviously it did not make any sense for Apple to continue to support it. With Leopard, any application can be build for support of 64 bits addressing and arithmetic.
Note that in Leopard too, applications are compilable into one single Mach-O object file that contains the binaries for 32/64 bit powerpc, 32/64 bits intel. And in comparison to windows or linux, this model was way more elegant for users as they did not have to bother to know which OS they have or if their app is 32 or 64 bits, or if it will run at all. On Windows, the messy transition have forced users to install another OS, specific app for 64 bits (if available), the same on Linux. This has highly reduced the speed of the transition as for example on Windows, 32 bits apps do not run natively on win64 but on an additional layer that reduce performance.
Different OS running different applications is really not the model that anyone with some good sense would defend (well besides strange guys like Holwerda i guess), the user should never know how the app that he/she wants to use is compiled . Most of them do not really know what 32/64 bits means anyway, and Microsoft or Linux forcing the user to bother with it is simply insane.
On Leopard, the kernel was still 32 bits (a kernel does not need to be 64 bits to run 64 bits apps with the magic of OS X). With Snow Leopard, the new 64 bits features are for two things:
– First almost of all the system applications are compiled in 64 bits.
– The kernel is 64 bits.
Having the applications compiled in 64 bits allows to take advantage of the additional registers of the X86_64 architecture which can greatly improves performances. It also allows to leverage some new security technologies by default.
The 64 bits kernel serves several objectives:
– It allows for larger address space allowing better performance of server workloads. It takes 64 bytes to describe each 4k page of RAM, so with 96 GB of physical RAM, this means that 1.5 GB of kernel virtual address space are used just to describe the physical memory. With having to store many more information, Vnodes, VM data structures, process data structures, etc, the kernel will soon run out of adress space for such high end configurations. Hence, the need for 64 bits addressing in the kernel.
– It improves the system call, 250% faster on k64 than k32 which results in a 70% performance improvement in user/kernel memory copy.
– It allows to increase the OS ressource limitations. On K32, 2500 processes are allowed in the system, on K64, the limitation is dynamic as the number of processes that the system can handle scale with the physical RAM available, 96 GB allowing for example 30000 processes.
So that’s how the 64 bits world has evolved in OS X, note that 64 bits apps are 100% compatible with the 32 bits kernel (try to find that on windows, Holwerda, with microsoft or linux you need to install a different OS,….) because the 64 bits kernel has the same user-kernel interface as the 32 bits kernel. That also means that the transition to 64 bits at Apple was not an after thought as it is at Microsoft.
As you can see, for Snow Leopard all users will benefit from the 64 bits compiled system apps. For the 64 bits kernel, Apple needs its developers developing KEXTs (that is also low level drivers) to build 64 bits KEXTs. The 64 bits kernel will only be available as default in the Xserve as this is where it make the most of sense. Usual users really do not need a 64 bits kernel, as its benefits are for the moment only visible in the server space and workload, everything else is marketing.
And this also where OS X does much better than Linux or Windows. The 64 bits kernel needs 64 bits KEXTs because the different address mapping, but the kernel is flexible enough as it allows developers to build KEXTs for multiple architecture. It is possible to build both 32 and 64 bits KEXTS that will be loaded by the kernel as needed, 32 bits KEXTS loaded in a 32 bits kernel and 64 KEXTs being loaded in a 64 bits kernel. Again the user does not need to know if his/her low level driver is compatible or not, 32 bits or 64 bits, the platform abstract the complexity. This is absolutely not the case on Windows or Linux, users have to check if they are getting the good driver, assuming that they know what 32 and 64 bits means (few of them know, my wife does not), well brushing their computer science knowledge in some sense.
Building for K64 is also quite easy, most of the time a recompilation is enough if the non-depreciated KPI are used.
So here we are, i hope that i bought some light in the Holwerda’s disinformation. Holwerda, you don’t know what you are talking about, i say you that straight.
“ Only Macintosh machines with a 64bit EFI are able to boot the 64bit Snow Leopard kernel and kexts; this is an artificially implemented limitation by Apple, as 32bit EFI can boot a 64bit kernel just fine.”
Wrong don’t talk about things that you don’t understand. A 32 bits can indeed boot a 64 bits kernel, but Apple needs the 64 bits EFIs for some low level kernel operations managing the universal KEXT architecture.
“On top of that, even if your MacBook has a 64bit EFI, you will only be able to boot the 32bit version of Snow Leopard – again because of an artificial limitation by Apple for MacBooks.”
This is not a limitation but a technical requirement. Apple needs to have 64 bits KEXTs (including low level drivers) so that users who depend on them can continue to operate their devises. Snow Leopard come with Apple’s KEXTs compiled in 32 and 64 bits mode, they still need to wait for third party developers to make the jump. For the end user that does not change anything, users of macbooks benefit a little of a kernel in 64 bits.
“Probably the harshest consequence of this is that the original Mac Pro, discontinued January 8, 2008, cannot boot the 64bit kernel and drivers.”
This model had an 32 bits EFI because it had to do with some issues with some GPUs firmwares available at that time for mac. I don’t know if Apple will make available an EFI update for this machine, but if not, it is not a big deal. Even this machine is far from hitting the limit of a 32 bits kernel, and again you can run all application in 64 bits. So no problem, the other things is your imagination bullshit.
“With netkas’ pcefiv10.1 bootloader, you can boot into 64bi Snow Leopard even on 32bit EFI Macs.”
Again, you miserably miss the point for instead promoting sensational informations. This sort of hack may cause low level issues with the architecture of the kernel for supporting universal KEXTs.
So, you are right, and Apple’s OWN documents, as well as the information from one of the more famous Mac OS X hackers, is all wrong?
Sorry Hakime, but cut the nonsense. I’m getting pretty tired of people like you continuously trying to attack me personally. If you think Apple’s documentation is wrong, then just explain why that is the case. There is NO frakking need to insult me along the way.
“as well as the information from one of the more famous Mac OS X hackers”
I did not reply on that one. I did not say that what he says is wrong, i said that it is incomplete as issues may arise with a 32 bits EFI and not saying it is purely biased reporting.
And also this guy being a Mac OS X hacker as you call him does not make everything that he says the ultimate truth. I have quite some experience in OS X development and writing high performance scientific code, so i guess i can handle him…..
Here are some relevant Apple’s documentation for developers for writing 64 bits apps on Leopard:
http://developer.apple.com/documentation/Carbon/Conceptual/Carbon64…
http://developer.apple.com/documentation/Cocoa/Conceptual/Cocoa64Bi…
http://developer.apple.com/documentation/Darwin/Conceptual/64bitPor…
I guess everything is said now…. Note that it also possible to have 32 bits drivers communicating with 64 bits apps. Pretty neat…
I can’t link to the documentation for building universal drivers and KEXTs as it is relevant to snow leopard and still under NDA.
Edited 2009-08-19 12:44 UTC
Damn! Thom got OWNED! LOL!
Also, 32bit applications talking to 64bit applications via the IPC mechanism. The best example of that would be Safari in 64bit mode using IPC to communicate with a 32bit flash plugin. A nice smooth transition without the need of throwing the baby out with the bath water.
You watch too much Battlestar Galactica.
“So far, it’s not yet known if Apple will enable owners of machines with 32bit EFI to boot into a 64bit kernel in Snow Leopard-final; Apple might offer an EFI update, or remove the artificial limitation. “
This is not an artificial limitation, again this is a technical requirement. Apple has chosen to have one single OS for the 64 bit platform. Not different OS versions like Microsoft does with Vista for forcing people to upgrade to more expensive versions to get the 64 bits benefits. From that, Apple needs its third party developers to build universal drivers.
“It might be that Apple is planning on using 64bit as a selling point to drive people to buy MacBook Pros instead of ordinary MacBooks.”
Sure keep going with the conspiracy theory, you like that, right. I guess your mind is just able to think like that than to get the things right. For any macs with a 64 bits processor, the user will FULLY benefit of the 64 bits platform whichever the kernel is loaded. Again the 64 bits kernel has little benefit for laptops at this moment, if someone is saying the opposite, this is marketing crap. And again you don’t understand what it is about, but you keep saying non-sense. Document yourself, please use your brain a little instead of being driven by stupidity.
“This means that while both Linux and Microsoft have more or less completed the 64bit transition because they started early on, Apple is trailing behind and still needs to wait for its driver base to update their drivers – something which has already happened on competing platforms.”
Oh really? Both of those platforms are way not there when it comes to 64 bits computing for the mass. Linux force users to have a different kernel, different apps for 32 and 64 bits. And you talk about drivers for linux, i mean how ironic it is given that all my epson printers and canon devises do not work with Linux for both 32 and 64 bits. Drivers on linux is a hell even on 32 bits.
Windows, same mess. Users are forced to buy a more expensive version of windows to get 64 bits computing. They need a seperate OS that do not run 32 bits apps natively, and does not run 32 bits drivers. Plus a lot of drivers are still missing for win64, a lot of them. Many of my printers and scanners do not work with Vista 64 bits. And the situation is not gonna to improve with win7. Even worse, most the pc sold out there come with a 32 bits version of Windows wich can’t of course run 64 bits apps, limiting greatly the speed of the transition and the developers wish to port their apps.
How can this be better than the Mac? Since Leopard, every Mac sold is 64 bits ready. Every mac! And every mac running Leopard can run natively 32 bits apps, as well as any existing 32 bits drivers.
So say me now who is trailing behind who again?
It is sad to see that people are just believing what a guy who knows nothing about the matter is writing. Holwerda is driven by his anti-apple bullshit to the point that everything he writes about Apple turns into disinformation and biased reporting.
Tell me some Holwerda….. What you will say me know, that i am not right? But careful, your background is not enough to argue on that matter with me…… really not.
No.
A 32bit key will work on a 64bit version, and Microsoft will provide you a 64bit disk at shipping costs if you have a 32bit disc. And don’t talk nonsense about the applications, as you can run 32bit applications in 64bit Windows.
Drivers is a silly argument, as no operating system can run 32bit drivers in a 64bit kernel environment.
Which Apple documents, find me one thing that goes against what i said.
I have been at the last WWDC, i do believe that i know what i am dam talking about.
Insult you? You have been spending your last weeks spreading non-sense when it come to what Apple people does, says or even think. And you say that you are tired, what?
I think that my explanation is quite complete and i clearly said why you are wrong. I got the technical part, what about you besides nothing? I am the one who come with the arguments and not with the sensational non-sense that you come with. Prove the opposite!
Yeah, uhm, those IN THE ARTICLE?
You do it by purpose, or what?
The document that you link to is a seed document saying that in which machines the 64 bits kernel is loaded by default and which ones can do it if not. The document explains how to boot a 64 bits kernel for testing 64 bits KEXTs, so what? It does not say anything else, and nothing in that document supports your arguments. I would advise you to read first developers documentation on how to build 64 bits apps to first understand what it is about, what 64 bits means (you really don’t seem to understand it), or do you claim that you know what it is about?
Again read my first post as it goes through the understandings that you have, forget your self proudness pretending that you know better than others because you write on OS news.
“A 32bit key will work on a 64bit version, and Microsoft will provide you a 64bit disk at shipping costs if you have a 32bit disc. And don’t talk nonsense about the applications, as you can run 32bit applications in 64bit Windows. ”
Yes sure now you talk about key, what sense does this make? I am still forced to upgrade to more expensive OS if i buy a dell workstation with a 64 bits windows.
32 bits app runs on 64 bits windows but not natively (read more carefully), they run on a compatibility layer, the windows on windows layer. Apps that do low level things are often broken on that layer. So what is non-sense?
“Drivers is a silly argument, as no operating system can run 32bit drivers in a 64bit kernel environment.”
Silly argument? So why you made it for Apple at the first place? Plus, yes no 64 bits kernel (not operating system, don’t mix the things) can run 32 bits drivers, but having to develop for different OS is a pain and what OS X allows is indeed developing universal drivers that make the transition and the development much easier. So yes the driver argument is indeed meaningful.
Edited 2009-08-19 11:36 UTC
Hakime
Please stop trolling Thom. Or at least contact him by email if you must continue. Thom, don’t feel like you have to defend your self; reasonable readers think it was a interesting report.
Browser: Mozilla/5.0 (iPod; U; CPU iPhone OS 3_0 like Mac OS X; en-us) AppleWebKit/528.18 (KHTML, like Gecko) Version/4.0 Mobile/7A341 Safari/528.16