Jump to content

Will Apple Drop Mach?


Swad
 Share

65 posts in this topic

Recommended Posts

There has been a lot of talk in recent months about the sense in Apple keeping its Mach kernel, a remnant of Steve’s NeXT days. While it certainly presents advantages, its microkernel architecture has serious drawbacks. (Check out that link to get up to speed on the debate)

 

I, Cringely has an interesting take on Windows on Macs and thinks that Boot Camp is a sign that Apple will be dropping the Mach kernel with Leopard.

Don't be surprised, either, to see that OS X 10.5 has a new kernel, finally giving up Mach and a big piece of its NeXTstep heritage. I write this for one thing -- because OS X has kernel problems and needs some help, especially with swap space. I say it also because of the departure of Avie Tevanian, Apple's chief software technology officer, and the guy who hung onto Mach for so long.

 

I have no insider knowledge here, but it isn't hard to imagine an instance where Avie's favored position with Steve Jobs was finally undermined by someone pointing out just these problems, so Avie had to go. That's the way it is with Steve, who sees his people as either part of the solution or part of the problem.

This is a very interesting idea and makes quite a bit of sense. While Apple has improved the speed of the kernel over recent years, it’s still not as fast as it may become by switching architectures. Also, the longer release cycle for Leopard may be so that Apple engineers have time to bring a new kernel up to snuff.

 

It seems that almost every aspect of Apple’s future is up for debate at this point. Where do you stand on the microkernel - good idea or a Mach(o) mistake by Steve?

Link to comment
Share on other sites

Well the first thing that comes to mind is what kernel will succeed Mach? Will it be a pure FreeBSD kernel, a home grown kernel or will Dvorak prediction come true that Apple will eventually substitute Mach with a Windows core and wrap their windows manager around the windows core? Hmmm interesting... He he.

 

I can sort-of understand why Avie held on to Mach for so long, it would be in the best interest for Apple to make the hardware/software a matched pair keeping other companies from doing the same thing and under-cutting Apple. At this juncture though because of the platform change they have opened Pandora's box as it were and the mystique is gone now.

 

I think that Apple would only have time to do the obvious and replace Mach with a FreeBSD kernel it would only make sense at this time.

 

 

-------------------------------

In the immortal words of Socrates…

 

-- I drank what?!?!

 

 

There has been a lot of talk in recent months about the sense in Apple keeping its Mach kernel, a remnant of Steve’s NeXT days. While it certainly presents advantages, its microkernel architecture has serious drawbacks. (Check out that link to get up to speed on the debate)

 

I, Cringely has an interesting take on Windows on Macs and thinks that Boot Camp is a sign that Apple will be dropping the Mach kernel with Leopard.

Don't be surprised, either, to see that OS X 10.5 has a new kernel, finally giving up Mach and a big piece of its NeXTstep heritage. I write this for one thing -- because OS X has kernel problems and needs some help, especially with swap space. I say it also because of the departure of Avie Tevanian, Apple's chief software technology officer, and the guy who hung onto Mach for so long.

 

I have no insider knowledge here, but it isn't hard to imagine an instance where Avie's favored position with Steve Jobs was finally undermined by someone pointing out just these problems, so Avie had to go. That's the way it is with Steve, who sees his people as either part of the solution or part of the problem.

This is a very interesting idea and makes quite a bit of sense. While Apple has improved the speed of the kernel over recent years, it’s still not as fast as it may become by switching architectures. Also, the longer release cycle for Leopard may be so that Apple engineers have time to bring a new kernel up to snuff.

 

It seems that almost every aspect of Apple’s future is up for debate at this point. Where do you stand on the microkernel - good idea or a Mach(o) mistake by Steve?

Link to comment
Share on other sites

Given Microsoft's difficulties with data security and its long history of troubled OS introductions, there is the very real possibility that the Apple version of Vista will be by far the most stable. For awhile it might be the ONLY stable version. So Apple could, in a way, be Microsoft's savior.

 

"The Apple version of vista"? Is he implying there will be a special edition of vista for mac based virtualisation? If not then how will running it on a mac make it any more stable than running it on a Dell or whatever?

Link to comment
Share on other sites

I have no insider knowledge here, but it isn't hard to imagine an instance where Avie's favored position with Steve Jobs was finally undermined by someone pointing out just these problems, so Avie had to go. That's the way it is with Steve, who sees his people as either part of the solution or part of the problem.

Ya my dad the Ethernet Czar did the same thing he showed Steve a way to make the ethernet super fast with his driver and Steve realized that the E-net department was lazy and he fired the entire department. Your either part of the problem or solution. The argument to get rid of Mach would have to have been a good one Steve isn't persuaded easily, but he does listen (remember the first iMac, Steve almost shipped it without a HD for his idea was a complete internet mac, instead .mac was made so people could still store stuff remotely and the iMac shipped with a HD).

Link to comment
Share on other sites

I think Apple could gain a TON of street cred by moving to the Linux kernel. I think it would be less problematic than Mach and would move a lot of Unix geeks to Macs. There are obviously still issues with this idea, but it'd be kind of fun.

 

There is no way they'd move to a Windows kernel. Even though I think Vista will be a vast improvement over the others, I just can't see them doing it.

 

The question is does Apple really want to make a big shift like this while they're making the whole Intel transition?

Link to comment
Share on other sites

Mach dropped for another kernel? Interesting idea...

NT Kernel is out discussion, is a bad kernel that have a lot of bugs! :)

Maybe will Apple use a pure FreeBSD kernel? Or a Linux kernel? Or a proprietary kernel?

I think that Apple, maybe, will use a pure FreeBSD kernel. That's because FreeBSD kernel has an architecture very similar with Apple XNU Kernel, and Apple could use it in Darwin System even re-write ALL DarwinOS. And, yes, a FreeBSD kernel could use with some hacks the Darwin's Kernel Extensions and almost all actual Mac OS X's programs.

However:

The question is does Apple really want to make a big shift like this while they're making the whole Intel transition?

If Apple's going to replace XNU Kernel, the x86 transition is the ideal moment: there isn't a lot of applications and, most importante, of kernel extensions that are compiled for x86, so it could be (relatively) easy to create new extensions or, maybe, kernel's modules that use the new Apple's kernel.

Sorry for my english :(

Sherry Haibara

Link to comment
Share on other sites

Great points, Sherry Haibara. And no need to be sorry for your great English. :pirate2: I've seen many Americans speak worse.

 

FreeBSD would be an interesting choice and, like you mention, would close enough to their current set up. Although, how much better is FreeBSD than what they have now?

Link to comment
Share on other sites

Apple using a Linux kernel has been debated before (in the transition period from OS 9 to OS X). It simply does not make sense: the Linux kernel is under the GPL and Apple would have to opensource anything they add to the kernel. Some people believe they would have to opensource Cocoa, Carbon and the rest of their technologies too.

 

Apple at one point had a (microkernel-based) Linux but abandoned it. I don't see them getting into the GPL quagmire again. Even thou' it would be the first usable Linux...

Link to comment
Share on other sites

I would argue with you for days on whether or not it would be the "first usable Linux", since that statement is obviously in err and I'm not speaking as a single voice there...

 

but.. I see no reason Apple would abandon the mach kernel right now.

 

Now down the road I could see Apple moving to... an Apple developed kernel. What I can not see them doing is borrowing. Why? They've moved to the Intel architecture and between this and the darwin project it hasn't been too hard to modify OS X to run on vanilla hardware. IF Apple truly intends to stay on Apple only hardware, borrowing a currently well known and open sourced kernel would be a stretch to say the least.

 

I don't see it happening, but that is just my 2cp.

Link to comment
Share on other sites

I'd have to agree that it'll probably be an Apple Properitary kernel. I say it most certainly will not be a Windows kernel for two reasons, it's so buggy and it'd be 1000x easier to hack OSX on to beige boxes. Maybe they'll throw a huge helping hand behind ReactOS and do some variant of that. Doubtful, but it'd be interesting to see a version of OS X that has such massive support for Windows Apps. Even if they just start supporting Wine, I'd be happy.

 

 

Slightly :)

And BTW, that first usable Linux stuff is BS as rogabean mentioned. I think you just want an OT flame war here

Link to comment
Share on other sites

sure it wont be a windows kernel, its very bad at posix compliance, and from what i know, the kernel needs to be very good at posix compliance and doing stuff like changing from one process to another very quickly, at least for getting the CoreAudio stuff to work... (and i think they wont risk their Pro Audio Consumer Base)...

 

in my opinion its about time to give up mach, its sure a nice way of conceptualizing the OS but, in practical terms its not good enough...

 

Mach has brought many many problems, for example the GNU Project, they tried like 15 years to get a micro kernel to work (its called Hurd and it was based on mach)... and yet they havent succeeded... sure there are many people like Andrew Tanenbaum and i guess Avie Tevanian that still imagine a perfect micro kernel world but the reality is that the supposed benefits of micro kernel architechture never came... instead ive heard they brought many problems to Apple (im not sure but i think iDVD app had problems with this...) And ive also heard that Apple in order to get things to work has rewritten Mach in such way that they arent using the concepts of a Modular Kernel, they have embedded everything in a big server very similar to a Monolithic Kernel... so in the end why not change to a monolithic kernel?? i hope finally Apple drops Mach...

 

but, which kernel??? obviously a monolithic one, no NT of course, but a Posix one... which??? I dont think they are using linux, because of the things already commented... the GPL license... and also , theyve already tried linux circa 98 (mkLinux) and everything was cancelled... this leads us to a *BSD kernel or a Propietary one...

 

BSD Kernel would be nice because its not too difficult to make it work, and it is very efficent and its been tested for a while now (10+ years?)

 

If they make a propietary one they will have to work a lot more... so i dont think its likely to happen...

 

I dont think they will join forces with REACT OS or any Amiga like system (MORPH OS)...

 

iván.

Link to comment
Share on other sites

I REALLY doubt that Apple will be dropping Mach before they switch to OS 11. It wouldn't make any sense and they certainly couldn't easily switch kernels and expect a release date of late '06 or early '07 for Leopard. Mach has served them well enough and it wouldn't make sense to make a HUGE transition (the PPC->x86 isn't SO huge) between point releases.

Link to comment
Share on other sites

I REALLY doubt that Apple will be dropping Mach before they switch to OS 11. It wouldn't make any sense and they certainly couldn't easily switch kernels and expect a release date of late '06 or early '07 for Leopard. Mach has served them well enough and it wouldn't make sense to make a HUGE transition (the PPC->x86 isn't SO huge) between point releases.

 

I don't think they would need to wait for osx 11, just because they switch kernels, it doesn't mean it won't be compatible with current software, its like saying wine can't work on linux cause there is no NT kernel. Bringing in a new kernel earlier rather than later will give them some good testing

Link to comment
Share on other sites

Apple using a Linux kernel has been debated before (in the transition period from OS 9 to OS X). It simply does not make sense: the Linux kernel is under the GPL and Apple would have to opensource anything they add to the kernel. Some people believe they would have to opensource Cocoa, Carbon and the rest of their technologies too.

 

Apple at one point had a (microkernel-based) Linux but abandoned it. I don't see them getting into the GPL quagmire again. Even thou' it would be the first usable Linux...

 

But the linux kernel is monolithic, while mach is (was originally) microkernel - so maybe they would try a monolithic approach :( Linux would be interesting, even if Apple would have to opensource everything - read the new article that Dvorak wrote, in which he suggests that Apple would make it all opensource :(

So using Linux and opensourcing everythjing would be bold, interesting and unexpected :) But I don't think they'll do it, as Steve is a control-freak. A flavour of BSD would be the reasonable choice, though I don't know the performance gains.

Link to comment
Share on other sites

I don't think they would need to wait for osx 11, just because they switch kernels, it doesn't mean it won't be compatible with current software, its like saying wine can't work on linux cause there is no NT kernel. Bringing in a new kernel earlier rather than later will give them some good testing

Applications that deal with kernel level stuff will suffer, and it really doesn't make sense to switch.

 

Also, Mac OS X already uses the monolithic approach anyway, everything for the kernel is run in kernel space, but it can be compiled and tested in user space meaning it's easier for OS X kernel developers.

Link to comment
Share on other sites

I think Apple can use BSD/Linux kernel for much more stability. I dont want Blue Screens Anymore. Apple can Invest $$ to develop a better kernel.. M$ will become a monopoly, I cant waste $$$ for a blue screen

Link to comment
Share on other sites

Applications that deal with kernel level stuff will suffer, and it really doesn't make sense to switch.

 

Also, Mac OS X already uses the monolithic approach anyway, everything for the kernel is run in kernel space, but it can be compiled and tested in user space meaning it's easier for OS X kernel developers.

 

Mac OS X does not have a monolithic kernel.

Link to comment
Share on other sites

This is highly unlikely for one reason: The Intel Transition.

 

Apple just required everyone to hop on board GCC4, recompile everything to work with Intel... now Apple's going to require GCC4+ with support for a different *NIX-derived kernel? Uh, no.

 

No microkernel is perfect, but Mach is one of the best out there. Cocoa surely doesn't need it, but, I highly doubt Apple will make developers reinvent the wheel while the Intel-transition is still in-progress.

 

As to Linux, Apple has consistently made it easier for Linux to play well with Mac. I would not be surprised to see a Linux runtime space in Leopard at all, provided it would not be user-friendly (a la X11). After all, Apple doesn't want everyone dumping Mac for Linux and simply telling Mac users to run apps in a Linux runtime... that would be OS/2 all over again.

Link to comment
Share on other sites

There is no easy way to "drop Mach" from the current XNU kernel. Mach ports are used for IPC (inter-process communication) throughout the system, both in the Cocoa libraries and in various 3rd party applications. You'd have to re-implement that API (and some more) to move away from Mach.

 

There are rumors that Apple will "replace Mach with Xen". While, as said, getting rid of Mach is not easy, Apple could indeed integrate Xen into the kernel, letting it handle basic memory and CPU management. That's more or less the only thing Mach is really used for from the kernel's point of view. Once they put Xen underneath the XNU kernel, the path is clear for built-in virtualization. But I still have the feeling that most of the Mach code won't go away, just be rewritten to interface with the Xen hypervisor.

 

BTW, Xen is also GPL as far as I know, so Apple will do what it can to keep it separate from the actual XNU kernel for licensing reasons.

Link to comment
Share on other sites

apple will use a "tweaked" unix kernel off course

the linux one is too "flexible" for apple needs.

and keep in mind it has got a lot of bloated (still fantastic) code in those years of development, it contains a lot of hacks and tricks to make things work... so i guess it would need a lot of trimming and cleaning.

plus it will need a massive rewriting (if not from scratch) of all the userland

it means that every actual application will be incompatible with the linux structure

 

i agree that the actual microkernel is {censored} for server critical tasks

(too many land switching bleahhh),

but moving toward a linux kernel will make things harder

 

it would be harder than the ppc to x86 architecture switch trust me

 

edit: >> quote from mashugly: how much better is FreeBSD than what they have now?

 

that's simple, as mentioned above there will be less land swiches -----> speed

it will be fully monolitic and it will be easier to protect against cracking 'cos there arent modules to attack :)

Link to comment
Share on other sites

IMHO, they will drop the kernel for OSX SERVER.

 

OS X Server will come with some BSD/Linux kernel and they will begin

to slowly migrate OS X "Desktop" from MACH to the new Server Kernel.

Link to comment
Share on other sites

 Share

×
×
  • Create New...