I'll just note that Darwin is essentially dead at this point. Apple essentially killed it a while back, around the time they announced the move to Intel (Darwin was always more active on x86 than it was on PPC).

BSD is both a kernel and some userspace tools (with some GNU tools, mostly the gcc toolchain also necessary), it's much more integrated than say Linux, which is an amalgam of a bunch of not necessarily related projects (Almost none of which are from the BSD project). FreeBSD is one of several descendents of 386BSD, the original free BSD. When the 386BSD project foundered, two splinter project became OS's in ther own right, FreeBSD and NetBSD, all current BSD OS's are descended from one of the two(OS X uses code from both, although it's heavily weighted toward FreeBSD).

Mach isn't a kernel, it's a micro-kernel, and only handles the lowest level interaction with hardware, Part of the FreeBSD kernel lives on top of it, as well as some other stuff which would be considered part of the kernel on other systems (IOKit, some parts of Quartz). You are correct in that the BSD userspace is mostly seperate from the GUI userspace on OS X, although there is some interaction, primarily for network services (OS X's firewall is a straight ipfw implementation for example)

-Adam


Godfrey DiGiorgi wrote:
Close but no cigar, gw.

Berkeley System Design (BSD) UNIX components are a mixture of presentation and service layers above the OS kernel. Most Linux systems run an ELF kernel, with derivatives of FreeBSD, the Open Source versions of BSD components, fitted on top. Mac OS X uses an Mach kernel with FreeBSD fitted on top.

If you want just a command-line computing environment, you can get this from Apple for free by subscribing to the Open Source Darwin project. Darwin is the Mac OS X Mach kernel plus FreeBSD components.. It has been ported to many different processors.

Of course, Mac OS X includes a huge number of Apple exclusive additional components that live above the level of the Mach kernel and alongside BSD ... such as the Quartz graphics libraries, user interface libraries, system management components, applications, development tools, OOP tools, scripting services, IOKit drivers, etc etc. Very few of these things are dependent upon FreeBSD .. they use underlying libraries that are mostly separate from BSD components, and more efficient.

BTW: There's no such thing as MAC, unless you're talking about the manufacturer of hand tools, MAC Tools http://mactools.com/ or Media Access Control (MAC) address such as in your ethernet/wireless card. "Mac" is a common shorthand but ambiguous as to whether you are referring to the early hardware systems ("Macintosh") or operating system ("Mac OS", "Mac OS X"). It is best to talk of "Mac OS" or "Mac OS X" when referring to Apple's operating system in generic terms.

Godfrey


On Apr 6, 2006, at 9:07 AM, graywolf wrote:

Besides that MAC OSX is a propietory version of BSD. There are basically two free Unix type OS in the world BSD and Linux (you can not make a propiatory version of Linux due to the GNU Public License). Almost all Unix type software can be run on any of those if you can get the source code and compile it for your system. Windows is another whole ball of wax. So there are two major OS camps in the world today Unix and Windows. IBM has embraced Linux for all its major computers above the PC level (they do support it at the PC level). MAC has embraced BSD. However about 90% of the PC's in the world are running Windows because it is cheap (for OEM's, not consumers).

Reply via email to