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.
Actually, they had to be recompiled for every platform, but once you had done that, you could package all binaries in the .app bundle and that one bundle did then run on every supported platform.
Actually, they had to be recompiled for every platform, but once you had done that, you could package all binaries in the .app bundle and that one bundle did then run on every supported platform.
Yup, so the to the user, there was just one file (a bundle) that could be copied from machine to machine, and run on all of them. But inside were binaries for all the platforms.
And as far as BSD/Linux doing this... not that I know of. The porting teams for the various platforms tend to be very insulated from each other, so there isn't much collaboration on such cross-platform features at such a low level. It *could* be done, but...
In the recently (yesterday?) released "Mac OS for UNIX users", Apple touts Mach as a specific advantage of Mac OS X.
Wouldn't it be stupid to do this if they were going to remove it?
Yes. If Apple were to yank Mach, I can only think they'd go with something like QNX which is equally well-designed but offers additional advantages over Mach. But I don't see it happening unless they buy QNX.
If they were to skip the Mach kernel, they'd have to replace it with something else.. AsI see it, there's only one alternative and that's Linux.. What other kernel they'd chose a complete rewrite of some (or large parts of) the lower layers of OSX would be a necessity.
If Apple wanted Linux-support, they just might add a Linux layer on top of Mach they way they already have Carbon, Cocoa and BSD. MkLinux did it, so they can do it again.
As I understand it Mach is ideal for being the foundation of what Apple has done for Mac OS X, namely placing other operating systems on top.
I think Rob Landley's ignorant of what Apple's going.. and is just speculating.
With the possible exception of rmendis' comments, this whole thread is rubbish. It's nothing more than uninformed speculative queries answered in ignorance.
Panther will be based on the Mac OS X kernel which will continue to include Mach. Before you blather on about something you know nothing of, consider attempting to educate yourself.
Not necessarily, actually. I believe a company can be referred to as a plural entity in many English-speaking countries outside of America. "Apple have announced kickin' rad new G5 PowerMacs."
Not necessarily, actually. I believe a company can be referred to as a plural entity in many English-speaking countries outside of America. "Apple have announced kickin' rad new G5 PowerMacs."
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.
Go to /System/Library/Extensions. Check out all the .kexts. At startup, they are loaded into the kernel's address space. These drivers are specific to Mach. Some drivers wouldn't need to be rewritten, but most would be.
As Tomb of the Unknown said, there is close to zero chance this will happen.
Yes. If Apple were to yank Mach, I can only think they'd go with something like QNX which is equally well-designed but offers additional advantages over Mach. But I don't see it happening unless they buy QNX.
Now that would be interesting...
Any reason why they couldn't work out a low-level licensing deal? Like, "we can do whatever we want with it except sell it to other people".
I believe that licensing QNX would require a) a lot of re-writing, because the BSD-like components have been modified to integrate with the Mach-like components and b) it would eliminate the possibility of an open-source kernel, unless the QNX source has already been published.
I don't think there's any particularly good reason to dump Mach; it provides a convenient set of abstractions, and over time the Darwin & xnu engineers can work out any performance wrinkles that still exist.
Any reason why they couldn't work out a low-level licensing deal? Like, "we can do whatever we want with it except sell it to other people".
Apple wouldn't let their OS be dependent in that way - especially when they have $4b to avoid the problem altogether. What if QNX was bought by, say, Microsoft? Apple would be f'd.
There *is* no reason to get rid off Mach just because some Linux extremists like Torvalds believe that everything they never kissed suckz.
Tons of work were put into developing XNU, Apple's modified Mach implementation that interfaces with their BSD personality and the "rest". Why waste it? It's no surprise to anyone understanding the microkernel concept that it can't be as fast as a monolithic kernel, but I still believe performance is sufficient.
How can you strip out the micro kernel from a kernel?
This is rubbish...
A microkernel is a specific kind of kernel. You don't have a microkernel in addition to a kernel. A microkernel is minimalistic (hence "micro") in that it extegrates non-generic drivers. That's where Mac OS X's ".kext" ("kernel extension") bundles come in; the "XNU" microkernel can dynamically load them. Meaning if it doesn't need one, it never will access one, thus saving ressources. It also means, though, that messaging between the driver and the microkernel isn't nearly as fast as is the case with a monolithic kernel (which just messages "itself").
Ultimate nonsense. Apple will stick with Mach until, at the very least, OS 12. The only thing only remotely resembling 'taking Mach out' would be an Apple's revision of Mach, that is, <speculating> tweaking Mach code for G5 without changing API </speculating>. Apple has some minor issues (not problems anyway) with the kernel and may want to adjust it for better performance on their hardware. These adjustments are very far from removal.
When you touch your hi-fi equalizer, does it mean you're throwing away your speakers?
Comments
Originally posted by Odedh
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.
Actually, they had to be recompiled for every platform, but once you had done that, you could package all binaries in the .app bundle and that one bundle did then run on every supported platform.
Originally posted by Helgegrimm
Actually, they had to be recompiled for every platform, but once you had done that, you could package all binaries in the .app bundle and that one bundle did then run on every supported platform.
and is that possible with Linux or BSD?
Originally posted by Odedh
their OS ran on Intel chips, UltraSparc, Motorola Chips and Alpha...
68k, HP, Intel & SPARC pretty much in that order
And as far as BSD/Linux doing this... not that I know of. The porting teams for the various platforms tend to be very insulated from each other, so there isn't much collaboration on such cross-platform features at such a low level. It *could* be done, but...
Originally posted by Helgegrimm
In the recently (yesterday?) released "Mac OS for UNIX users", Apple touts Mach as a specific advantage of Mac OS X.
Wouldn't it be stupid to do this if they were going to remove it?
Yes. If Apple were to yank Mach, I can only think they'd go with something like QNX which is equally well-designed but offers additional advantages over Mach. But I don't see it happening unless they buy QNX.
If Apple wanted Linux-support, they just might add a Linux layer on top of Mach they way they already have Carbon, Cocoa and BSD. MkLinux did it, so they can do it again.
As I understand it Mach is ideal for being the foundation of what Apple has done for Mac OS X, namely placing other operating systems on top.
I think Rob Landley's ignorant of what Apple's going.. and is just speculating.
Panther will be based on the Mac OS X kernel which will continue to include Mach. Before you blather on about something you know nothing of, consider attempting to educate yourself.
You can begin here.
Originally posted by haunebu
A company is singular, not plural.
Not necessarily, actually. I believe a company can be referred to as a plural entity in many English-speaking countries outside of America. "Apple have announced kickin' rad new G5 PowerMacs."
Originally posted by wyntir
Not necessarily, actually. I believe a company can be referred to as a plural entity in many English-speaking countries outside of America. "Apple have announced kickin' rad new G5 PowerMacs."
And in many non English speaking countries.
Originally posted by Helgegrimm
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.
Go to /System/Library/Extensions. Check out all the .kexts. At startup, they are loaded into the kernel's address space. These drivers are specific to Mach. Some drivers wouldn't need to be rewritten, but most would be.
As Tomb of the Unknown said, there is close to zero chance this will happen.
Barto
Originally posted by johnsonwax
Yes. If Apple were to yank Mach, I can only think they'd go with something like QNX which is equally well-designed but offers additional advantages over Mach. But I don't see it happening unless they buy QNX.
Now that would be interesting...
Any reason why they couldn't work out a low-level licensing deal? Like, "we can do whatever we want with it except sell it to other people".
I don't think there's any particularly good reason to dump Mach; it provides a convenient set of abstractions, and over time the Darwin & xnu engineers can work out any performance wrinkles that still exist.
Originally posted by Alexander
Now that would be interesting...
Any reason why they couldn't work out a low-level licensing deal? Like, "we can do whatever we want with it except sell it to other people".
Apple wouldn't let their OS be dependent in that way - especially when they have $4b to avoid the problem altogether. What if QNX was bought by, say, Microsoft? Apple would be f'd.
Tons of work were put into developing XNU, Apple's modified Mach implementation that interfaces with their BSD personality and the "rest". Why waste it? It's no surprise to anyone understanding the microkernel concept that it can't be as fast as a monolithic kernel, but I still believe performance is sufficient.
<--- Egotistical Student
Originally posted by rmendis
Isn't Mach the (micro)kernel?
BSD is a shell that sits on top of Mach.
[..]
How can you strip out the micro kernel from a kernel?
This is rubbish...
A microkernel is a specific kind of kernel. You don't have a microkernel in addition to a kernel. A microkernel is minimalistic (hence "micro") in that it extegrates non-generic drivers. That's where Mac OS X's ".kext" ("kernel extension") bundles come in; the "XNU" microkernel can dynamically load them. Meaning if it doesn't need one, it never will access one, thus saving ressources. It also means, though, that messaging between the driver and the microkernel isn't nearly as fast as is the case with a monolithic kernel (which just messages "itself").
I'm over-simplifying because I need to rush out.
Originally posted by fugimax
You've all forgotten the *biggest* reason not to remove Mach. It's from Carnegie Mellon.
<--- Egotistical Student
Uh, there's nothing over there...
When you touch your hi-fi equalizer, does it mean you're throwing away your speakers?