Linked by Thom Holwerda on Tue 18th Aug 2009 18:46 UTC
Thread beginning with comment 379318
To view parent comment, click here.
To read all comments associated with this story, please click here.
To view parent comment, click here.
To read all comments associated with this story, please click here.
RE[3]: You cannot compare this to Windows and Linux
by galvanash on Wed 19th Aug 2009 02:27
in reply to "RE[2]: You cannot compare this to Windows and Linux"
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.
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.
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.
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.
RE[3]: You cannot compare this to Windows and Linux
by Bill Shooter of Bul on Wed 19th Aug 2009 15:07
in reply to "RE[2]: You cannot compare this to Windows and Linux"
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?




Member since:
2007-12-13
Wow I didn't know that was possible. Do you have a reference for that? "
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.