On Wed, 4 Apr 2007, Coleman Kane wrote:
While it's true you can't run Linux binaries on Mac OS X, it's not for the
reason you're suggesting, and your statement regarding FreeBSD kernel code
in Mac OS X is simply incorrect. The Mac OS X kernel, XNU, contains
significant quantities of FreeBSD kernel source code, including a
FreeBSD-derived VFS and network stack. Other parts of the kernel, such as
the scheduler and VM system, are derived from Mach. While the
FreeBSD-derived code has been significantly modified since it was
originally forked, a lot of code moves backward and forward between the
platforms: the FreeBSD audit subsystem is derived from the Mac OS X audit
subsystem, and Mac OS X's smbfs and MAC Framework support are derived from
FreeBSD.
In addition to this, there have been examples of the Linux kernel hosted by
Mach in the past (such as MkLinux). From my understanding, the only thing
that prevents this from being realized is that nobody has sat down to
actually write/port the code to do it.
I'm not familiar with the structural layout of MkLinux, but I would caution
those looking at XNU to be aware that the kernel is a monolothic kernel, in
which the BSD and IOKit parts run directly in the kernel address space managed
by Mach, and not as tasks over Mach. If MkLinux runs Linux in a task under
the microkernel, then the structures are quite different. Mach provides quite
nice interfaces for implementation virtualization services, however, as Mach
VM, thread, and task interfaces give applications a lot of control in setting
up memory and trap handling -- much more so than the UNIX equivilents.
Robert N M Watson
Computer Laboratory
University of Cambridge
_______________________________________________
[email protected] mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-hackers
To unsubscribe, send any mail to "[EMAIL PROTECTED]"