No Mach kernel in Panther?
<http://www.macnews.de>, a very serious German Mac news site, has published an interview with Rob Landley from the Open Source Initiative (OSI) and he claimed that future versions of Mac OS X will include X11 and will lose "the stupid Mach layer in the kernel" (translated from German).
So maybe Panther will already include a standard BSD kernel instead of the current Mach/BSD hybrid model.
So maybe Panther will already include a standard BSD kernel instead of the current Mach/BSD hybrid model.
Comments
He doesn't seem to much like the open group
He contends that SCO can't sue Apple because BSD's legal agreements have expired. That hardly stopped SCO suing IBM though, did it?
This guy's from the OSI, not Apple. He may be just hearing rumors that Mach will go. Removing Mach would be a massive architectual change in Mac OS X. At the very least 90% of device drivers would need to be rewritten.
Barto
Originally posted by xype
I tought Mach was there for OS9 compatibility's sake, is it really important for drivers? Wouldn't Apple tought of that when designing it?
Huh? Mach has absolutely nothing to do with Mac OS 9.
Originally posted by Barto
He contends that SCO can't sue Apple because BSD's legal agreements have expired. That hardly stopped SCO suing IBM though, did it?
If I understand the article correctly, he says that there has already been a law suit resulting in an agreement saying that operating systems based on BSD do not come under SCO's rights. Unlike Mac OS X, Linux is not based on BSD, that's why SCO sues again.
Originally posted by Barto
This guy's from the OSI, not Apple. He may be just hearing rumors that Mach will go. Removing Mach would be a massive architectual change in Mac OS X. At the very least 90% of device drivers would need to be rewritten.
Barto
I don't really know if the device drivers have to be rewritten. They do not directly interact with Mach, IIRC, but with the so-called IOKit. If Apple ports the IOKit, most drivers should still work. Nevertheless, it's a massive architectual change.
What makes me believe this guy is that although there haven't been any (public) rumors at all about removing Mach, he states the removal as a fact.
1. Apple won't take Mach out, because Mach is what makes OS X CPU portable, that's the layer that's essential if tomorrow Apple want's to go Intel, UltraSparc or to something else.
2. Mach is Avi Tevanian's baby, no chance in hell that he'll remove it, it goes against his philosophy on how an OS should be build.
Originally posted by Helgegrimm
If I understand the article correctly, he says that there has already been a law suit resulting in an agreement saying that operating systems based on BSD do not come under SCO's rights. Unlike Mac OS X, Linux is not based on BSD, that's why SCO sues again.
I don't really know if the device drivers have to be rewritten. They do not directly interact with Mach, IIRC, but with the so-called IOKit. If Apple ports the IOKit, most drivers should still work. Nevertheless, it's a massive architectual change.
What makes me believe this guy is that although there haven't been any (public) rumors at all about removing Mach, he states the removal as a fact.
But would it be *better* without the Mach kernel? Would Unix compatibility be simplified? If Apple ever intends to do this, now would seem to be the best time.
Originally posted by RBR
But would it be *better* without the Mach kernel? Would Unix compatibility be simplified? If Apple ever intends to do this, now would seem to be the best time.
No and No 8)
Originally posted by RBR
But would it be *better* without the Mach kernel? Would Unix compatibility be simplified? If Apple ever intends to do this, now would seem to be the best time.
I've been thinking about this as well...
First, we have Apple tied to Mach+BSD and IBM tied to Linux
Second, we have Apple and IBM working on the design and development of the 970
It seems kinda sad (but not out of the question) for Apple and IBM to not combine forces (where they can) and share the optimization tasks for the 970.
I don't know if that came out right but for example...
gcc needs to be optimized for the 970 and this would be something that both IBM and Apple could share the work load.
I'll stop with that example since I don't wanna look silly (since I'll quickly be over my head) but it wouldn't it be nice if Apple and IBM could come a little closer with updating various (common) code bases for the 970?
Dave
Originally posted by Odedh
No and No 8)
You seem to like Mach a lot, don't you? I think there are reasons to remove Mach from the kernel and there are also reasons to keep it. The experts disagree about whether microkernels (like Mach) have more advantages or more disadvantages.
Originally posted by Odedh
Mach is Avi Tevanian's baby, no chance in hell that he'll remove it, it goes against his philosophy on how an OS should be build.
That's a good point. Linus Torvalds tells in his book that he once met with Steve and Avie and they were very fond of Mach.
(He then goes on to tell why he hates Mach - Linux doesn't have a microkernel)
Originally posted by Odedh
Apple won't take Mach out, because Mach is what makes OS X CPU portable, that's the layer that's essential if tomorrow Apple want's to go Intel, UltraSparc or to something else.
Seeing how easily Linux can be ported to other platforms (hey, there's even a version for the iPod!) I don't think that Mac OS X would lose its portability without Mach.
BSD is a shell that sits on top of Mach.
Just as MkLinux was a Linux (alike) shell that sat on top of Mach. I think, OSF/1 was another shell that was budded onto Mach.
How can you strip out the micro kernel from a kernel?
This is rubbish...
Apple could have based Mac OS X on MkLinux and developed that OS kernel, however, i expect that it may have been Microsoft's influence that may have coaxed Apple to stick with it's NeXT OS/BSD OS shell instead of MkLinux.
I can't see Microsoft having developed/ported Office.x if it were for (Mk)Linux
Originally posted by gnurf
It has all the features Apple need.
A company is singular, not plural.
Originally posted by Helgegrimm
That's a good point. Linus Torvalds tells in his book that he once met with Steve and Avie and they were very fond of Mach.
(He then goes on to tell why he hates Mach - Linux doesn't have a microkernel)
Linux does have loadable modules which is a "feature" of microkernels and Mach/Darwin has the BSD layer built in so it's not a true microkernel. It's a monolithic microkernel if there could be such a thing. Much like the RISC/CISC argument, it's brought up and continued by people who have't a clue what they are talking about. Then again, this IS the Internet....
The book was talking about the older Torvalds/Tanenbaum arguments.
It's sort of unbelievable that people are STILL bringing that up.
Apple won't be removing Mach. That would be a bit daft at this point. Why bother developing XNU at all if they were going to replace it.
Originally posted by DaveGee
gcc needs to be optimized for the 970 and this would be something that both IBM and Apple could share the work load.
Compilers are fast becoming the most complex part of maintaining a CPU architecture.
Intel most certainly has and will invest heavily on developing fast compilers for its IA64 (Itanium) platform, particularly because of the parallelism in the VLIW/EPIC architecture.
I'm sure IBM has many years of experience and investment in compilers for the 64-bit Power and PowerPC architecture.
The problem for Apple is that much of Apple's code is also based on Objective-C (Cocoa) and that requires a custom compiler (gcc).
So moving to an new architecture would probably involve Apple contributing to the compiler technology to bring gcc up to speed on the 64-bit platform.
I'd expect gcc (less the objective-C additions) has already been ported to Power and perhaps the PPC 620, given that it is an opensource compiler.
But i'm not surprised that Apple is taking its time to get this right so that apps will be reasonably optimized on 64-bits and specifically for the PPC970.
So although there is room for some sharing of effort, it's likely that their compiler efforts will be disjoint if not separate.
Originally posted by Helgegrimm
You seem to like Mach a lot, don't you? I think there are reasons to remove Mach from the kernel and there are also reasons to keep it. The experts disagree about whether microkernels (like Mach) have more advantages or more disadvantages.
Yes I like Mach, simply because I think it's genius in the way it works.
Originally posted by Helgegrimm
That's a good point. Linus Torvalds tells in his book that he once met with Steve and Avie and they were very fond of Mach.
(He then goes on to tell why he hates Mach - Linux doesn't have a microkernel)
Yeah, jobs wanted Trovalds to join Apple and work on OS X, but he decided not to, one of the reasons were Mach, which he called a shitty Kernel, I take Avie Tevanian over Linus Trovalds any day, and it's not Apple evangelism, it's just seeing the Track Records of the two.
Originally posted by Helgegrimm
Seeing how easily Linux can be ported to other platforms (hey, there's even a version for the iPod!) I don't think that Mac OS X would lose its portability without Mach.
BSD/Linux can be ported to each CPU, but what Mach does is makes an App compiled for X(Cocoa) work on all version of X on any CPU, without Mach you'll have to recompile or port each app to each CPU
Originally posted by Odedh
BSD/Linux can be ported to each CPU, but what Mach does is makes an App compiled for X(Cocoa) work on all version of X on any CPU, without Mach you'll have to recompile or port each app to each CPU
Uh, no. You still need to recompile to generate binaries for each architecture.
What Mach gets you is a message passing system that is essentially an OO kernel, at the very lowest layer. It allows high levels of abstraction and modularity within a critical piece of code that is normally seen as and treated as one big chunk o' spaghetti.
Mach is cool. Mach is not a miracle worker however.
Wouldn't it be stupid to do this if they were going to remove it?
Originally posted by Kickaha
Uh, no. You still need to recompile to generate binaries for each architecture.
What Mach gets you is a message passing system that is essentially an OO kernel, at the very lowest layer. It allows high levels of abstraction and modularity within a critical piece of code that is normally seen as and treated as one big chunk o' spaghetti.
Mach is cool. Mach is not a miracle worker however.
I might be wrong about this, but as I remember when I read about NeXTStep, when NeXT decided to drop Hardware and be a software company, their OS ran on Intel chips, UltraSparc, Motorola Chips and Alpha(I think), and every app that was written for each of the chips ran on all the other without recompiling.
Again I might be wrong about this, but that is what I remember reading.