[ale] OT: Re: posting to Linux mail list

Ronald Chmara ron at Opus1.COM
Fri Jan 2 17:05:54 EST 2004


On Jan 2, 2004, at 11:10 AM, Chris Ricker wrote:
> On Thu, 1 Jan 2004, Ronald Chmara wrote:
>>>> To me, it's not appreciably different than installing Cygwin on NT 
>>>> and
>>>> calling that "Unix on the desktop"
>>
>> Well, NT without cygwin is usable as a standalone OS (well, ok, some
>> folks don't find NT usable, but run with me here...). The OS X Mach
>> kernel without BSD is not really usable as a standalone OS.
>> I'd argue that is an appreciable difference. :-)
> Yes and no. You normally want some sort of OS personality on top of 
> Mach. It
> doesn't have to be BSD, though,

As I also noted, though it may have not been clearly stated... "Mach is 
not OS-specific"

> and there's enough in the Mach in OS X you
> could do work w/o it (IPC, memory, processes, etc. are Mach. Device 
> drivers
> are IO Kit, not BSD. What more do you want, beyond a sane API, and 
> that's
> what the BSD layer is really providing. Well, that, and saving them 
> from
> having to implement their own networking).

 From what I understand, the rubber hit the road when many core 
components of OpenStep's GUI (one of the parent OS's of OS X) required 
a unix-y API. While it's conceivable that they *could* have built their 
own new unix foundation (because the world really needs yet another 
flavor of unix :-) ), or done a massive re-write to bypass all such 
historic unixy things, going with BSD-Lite saved them a whole lot of 
time and money, as well as giving them more market leverage.

> The way OS X Mach is implemented
> doesn't allow you as an end user to swap out the BSD personality, but 
> that's
> not inherent to Mach itself, just OS X's modified version of it.

*nod*

>>> I am starting to wonder if migrating OS X to Linux makes sense. With
>>> the
>>> introduction of the Linux 2.6 kernel, and the scalability and 
>>> security
>>> enhancements, I wonder if Apple might consider using the Linux kernel
>>> instread of the Mach micro kernel?
>>
>> Highly doubtful, for licensing, massive re-porting, and CPU
>> optimization reasons. :-/
>> ....I'd guess that it'd be about as easy as porting NT to a linux
>> kernel (or vice versa). They're that different.
> You're kinda being contradictory here. Either OS X is riding on BSD, 
> or it's
> riding on Mach.

Uh, I think that's a false dilemma. OS X, as it's currently written, 
requires both Mach *and* BSD components (along with other "kernel" 
chunks like I/O kit). Without both Mach and BSD, it simply won't work 
as a full desktop machine (without major re-writes).

As far as the use of "riding on", see my last post for commentary about 
semantic turpitude. :-)

>  If it's tied to BSD, the port to Linux is relatively
> non-difficult. If it's tied to Mach, like you say, it's difficult.

It's tied to both, so some porting would be easy, and some would be 
difficult...

>> For some much more detailed arguments on the whole issue, surf any 
>> one of
>> the million threads on why apple won't port OS X to X86, which is 
>> analog
>> to why apple has not interest in supporting directly competing OS and
>> hardware technologies.
> It's fairly clear that Apple has ported OS X to x86. They just don't, 
> and
> likely won't, ship it.

Ah, yes, there was a X86 port demoed 4 or so years ago, though OS X has 
gone through some fairly major changes since then. I'm not sure if 
they've maintained that port (but it seems like it would be in their 
best interest to). I was referring to a shipping product, which I think 
we could all agree is unlikely unless apple goes out of the hardware 
business. ("Could all agree" is different than "will all agree", 
though... after all, this is ALE!  :-)  )

>> (Tentatively waving hand...) The mach micro kernel is a totally
>> different beastie than many other things called kernels (as you may
>> have guessed from the first link). I suppose the confusion that 
>> created
>> this thread might be linked to an assumption that BSD pieces (and I/O
>> kit) run *in addition to* the kernel, so people used to larger kernels
>> might be under the assumption that the kernel could run *without* any
>> additional BSD (or other OS flavor, Mach is not OS-specific)
>> components.
> Mach can run w/o BSD. See, for one example, MkLinux.

*nod*, hence "Mach is not OS specific". Of course, in the case of 
MkLinux, it's also a system which could be argued (as was argued 
earlier in this thread) is running in "emulation", or "on top" of 
another system...  ;-)


-Bop



More information about the Ale mailing list