BSD: The Other Free UNIX Family

Filed under

Over the years, BSD code has found its way into a large number of systems. Many commercial UNIX variants began as forks of BSD code, and a BSD TCP/IP stack was used in earlier versions of Windows. BSD was also very popular in academia. One project, the Mach Microkernel at CMU, used a modified version of BSD to run UNIX programs. The Mach project was used by a company called NeXT as the foundation for their operating system. When NeXT was bought by Apple, a lot of the old BSD code was replaced with code from the NetBSD and FreeBSD projects. Mac OS X can be thought of as a close cousin to the BSD family: Although it uses Mach as an abstraction layer, much of the kernel is BSD-derived.

It is worth noting that the BSDs are complete systems. Linux is just a kernel, and to be useful it is usually combined with the GNU userland. The BSDs include their own userland—although some parts, such as the compiler, are imported from the GNU project. A BSD system can be installed with no third-party applications—and work. It is more common, however, to add additional packages such as and a desktop environment (the same applications traditionally run atop Linux).

The FreeBSD project underwent some radical changes between versions 4 and 5. Much of the kernel was redesigned to better support multiprocessor systems. One developer, Matt Dillon, was unhappy with the direction it was going, so he set up Dragonfly BSD, a fork of FreeBSD 4. While FreeBSD 5 and later use a system of shared resources and locks, Dragonfly BSD uses message passing between concurrent threads—a process common on microkernel operating systems including Amiga OS (where Matt Dillon first made a name for himself).

Dragonfly BSD is designed as a cluster operating system, and should be able to be installed on a cluster of machines, presenting the appearance of a single large multiprocessor machine to end users.

Full Article.