Swad Posted April 18, 2006 Share Posted April 18, 2006 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 More sharing options...
BadMonkey Posted April 18, 2006 Share Posted April 18, 2006 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 More sharing options...
Ouch Posted April 18, 2006 Share Posted April 18, 2006 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 More sharing options...
Conner_36 Posted April 18, 2006 Share Posted April 18, 2006 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 More sharing options...
outsida Posted April 18, 2006 Share Posted April 18, 2006 NT Kernel... Link to comment Share on other sites More sharing options...
Swad Posted April 18, 2006 Author Share Posted April 18, 2006 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 More sharing options...
Ai Haibara Posted April 18, 2006 Share Posted April 18, 2006 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 More sharing options...
Swad Posted April 18, 2006 Author Share Posted April 18, 2006 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 More sharing options...
iSnow Posted April 18, 2006 Share Posted April 18, 2006 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 More sharing options...
rogabean Posted April 18, 2006 Share Posted April 18, 2006 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 More sharing options...
aitikin Posted April 18, 2006 Share Posted April 18, 2006 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 More sharing options...
micromodular Posted April 19, 2006 Share Posted April 19, 2006 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 More sharing options...
DeathChill Posted April 19, 2006 Share Posted April 19, 2006 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 More sharing options...
doubljdog Posted April 19, 2006 Share Posted April 19, 2006 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 More sharing options...
mmk Posted April 19, 2006 Share Posted April 19, 2006 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 More sharing options...
rogabean Posted April 19, 2006 Share Posted April 19, 2006 ps. that Dvorak article was easily was on the funniest things I've ever read. Dvorak is a moron. Period. Link to comment Share on other sites More sharing options...
DeathChill Posted April 19, 2006 Share Posted April 19, 2006 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 More sharing options...
Gooly Posted April 19, 2006 Share Posted April 19, 2006 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 More sharing options...
mmk Posted April 19, 2006 Share Posted April 19, 2006 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 More sharing options...
hatoncat Posted April 19, 2006 Share Posted April 19, 2006 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 More sharing options...
Christoph Pfisterer Posted April 19, 2006 Share Posted April 19, 2006 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 More sharing options...
lord_muad_dib Posted April 19, 2006 Share Posted April 19, 2006 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 More sharing options...
myzar Posted April 19, 2006 Share Posted April 19, 2006 If they switch to anything it will be FreeBSD just because they can steal it without anytrouble . The Freebsd license is very open while linux is gpled Link to comment Share on other sites More sharing options...
rodrigocunha Posted April 19, 2006 Share Posted April 19, 2006 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 More sharing options...
Proteo Posted April 19, 2006 Share Posted April 19, 2006 Believe me guys, if Apple decides to replace the kernel, they will choose whatever that be the hardest to crack. That's why I think they're going to use a propietary kernel. Link to comment Share on other sites More sharing options...
Recommended Posts