Macs
John McCabe-Dansted
gmatht at gmail.com
Wed Sep 16 19:12:32 BST 2009
On Wed, Sep 16, 2009 at 9:32 PM, Liam Proven <lproven at gmail.com> wrote:
> On Wed, Sep 16, 2009 at 1:48 PM, Chris Rees <utisoft at googlemail.com> wrote:
>
>> Darwin is based on the Mach microkernel, and Apple took the USERLAND
>> (tcsh, ls etc) from FreeBSD. The kernel of Darwin is nothing like the
>> kernel of FreeBSD; FreeBSD has a monolithic kernel like the Linux
>> kernel, and Darwin is microkernel based.
FWIW, I never said that the Darwin kernel was based on FreeBSD.
Neither did the link I cited (although they appeared to assume that
the Linux compatibility was standard to all BSDish OSes)
> Not to disagree with anything you've said, which is all bang-on the nail...
>
> But... :¬)
>
> I've been reading up on Mach & OS X and things recently. On top of
> Mach, OS X runs a single large monolithic "server" to provide the
> Unix-compatible APIs, and that server too is derived from BSD. So it's
> not a pure microkernel, because of its Unix compatibility. The purists
> say it's not a µK at all.
Sounds a somewhat like MkLinux. I understand that MkLinux is binary
compatible with Linux so its possible to maintain Linux compatibility
with Mach (And MkLinux is closer to being a true micro-kernel
architecture, according to wikipedia). Given that Darwin is
opensource, arguably it is possible to run Linux binaries on Darwin
given a sufficient amount of effort and a sufficiently loose
definition of "Darwin". It shouldn't even take that much effort if the
statement "OS X instead takes the NextStep approach and runs a hybrid
system where the BSD kernel is grafted on top of Mach running in a
single kernel address space." from Wikipedia is correct.
The BSDs in general do seem to like binary compatibility. There is a
(stalled) project to support MacOS X binaries on NetBSD.
--
John C. McCabe-Dansted
More information about the sounder
mailing list