File System and Network Support
Darwin's file system and networking support comes from its rich BSD heritage. Its VFS design enables features like long filenames, URL-based volume mounting, and journaling to take place. Darwin's file system can handle just about anything you throw at it: Mac OS Extended/Standard, UFS, UDF, NTFS, and FAT. As the web becomes more and more pervasive, complementary networking support for file system support is a must have, and don't worry--you won't be disappointed.
If you've ever tried to set up networking on a Windows box, you know that it can often be a nightmare. At one point, you might have been changing all sorts of settings on multiple tabs that opened new windows, which also had tabs that had multiple properties with a poor help system. But with Darwin, there's none of that. Darwin's BSD-based extensible network protocol stack gives rise to OS X features such as Bonjour, a zero-configuration networking implementation that eliminates just about all of the hassles that are normally associated with networking. It really can't get much simpler than that. Although features like these are easy to take for granted, they really are gems in Darwin's overall design.
Apple releases a new version of Darwin on their open source site for each major update to OS X, and it's not long after Apple's release that the folks at OpenDarwin.org provide a corresponding build of OpenDarwin. OpenDarwin is essentially Apple's latest release with modifications to give it some extra features that Apple doesn't provide. These additional features are usually things like X11 GUI support, device drivers, utilities, and support for legacy hardware--basically features that don't directly support Mac OS X.
Although the releases of Darwin under the versions less than 2.0 of the APSL (Apple Public Source License) were criticized by the FSF, the APSL as of version 2.0 does qualify as a free software license, and this is the license that most of Darwin is released under. The FSF, however, considers the APSL 2.0 to still have two primary flaws: it allows linking with other files that can be entirely proprietary, and it is generally incompatible with the GPL. I don't think we'll be seeing any trade secrets like QuickTime, Spotlight, or the Cocoa frameworks being open sourced anytime (ever), so don't hold your breath on this one.
You can download Apple's version of Darwin or OpenDarwin if you want to tinker around and get into the guts of Mac OS X. If you're interested in trying out yet another possibility that comes with some additional bells, whistles, and software mods, take a look at GNU-Darwin--a project that aims to be the "most free" version of Darwin.
When Steve Jobs announced the Intel switch, a lot of people freaked out and wondered how on earth an entire OS could be turned around to run on a different architecture in such a short amount of time. Little did they know that Darwin had been leading the way by compiling for x86 alongside of Mac OS X since the conception of OS X--a practice that no doubt provides a significant boost to the overall effort. In fact, you can read about Darwin's 1.0 build right here in an old Advogato diary entry. I guess if you couldn't be there, then this is the next best thing. In the entry you'll even see a reference to fat binaries (universal binaries), a technology we've been hearing a lot about lately that also dates back to the days of NeXT.
For a good grin, check out I've Personally Heard Steve Say They Would Never Do That--a weblog entry that comments on an old Wired news article from 2000. It has some interesting quotes regarding the Intel switch in light of what we now know today.
Now you'll never have to wonder what that friendly little message you see in Terminal ("Welcome to Darwin!") ever means again. Hopefully this background has provided you with a better understanding of how Mac OS X works, where it comes from, and how it powers OS X. Now get out there, download the Darwin source, and take a look at how OS X works under the hood.
Matthew Russell is a computer scientist from middle Tennessee; and serves Digital Reasoning Systems as the Director of Advanced Technology. Hacking and writing are two activities essential to his renaissance man regimen.
Return to the Mac DevCenter