History of BSD

From Chaos

Jump to: navigation, search


Contents

Summary

BSD is older than Linux by a decade and a half, and there's a lot of story there that nobody remembers anymore.

Once upon a time, 386 processors were the leading edge, so it was natural that a BSD port to this architecture would be made. Bill Jolitz released 386BSD 0.0 in June 1992. But his unwillingness to accept work and patches from other people was what lead to the two main forks in the x86 BSD world: FreeBSD and NetBSD. Each project had different goals from the very beginning. NetBSD's aim was to run on every platform available, while FreeBSD concentrated on performance on x86 hardware. Below are brief descriptions of the 3 current branches of BSD: FreeBSD, NetBSD, and OpenBSD.

FreeBSD

FreeBSD is the most popular of the BSD's. It currently runs on i386, alpha and SPARC, although there are ongoing efforts to make it work in PowerPC. In my experience FreeBSD is the fastest UNIX-like OS for the x86 architecture. It also has excellent hardware support in most areas, and a big number of packages available. Currently, over 10,000. The two available releases are 4.9 and 5.2. 5.2 is considered 'early adopters' and should not be used for production servers. 5.2 is a 'new technology' release, whereas 4.9 builds on the tried and tested RELENG_4 branch of the source tree. 5.2 offers better SMP support, new RC'ing system (imported from NetBSD), experimental RAIDframe support, KSE, and many other interesting features.

NetBSD

NetBSD's aim is to run on as many architectures as possible, and they make an excellent job at that. (For a complete list of supported architectures, please refer to the “Addition Readings” section below). Not only is NetBSD the most portable BSD, but the one from which most innovations come from. NetBSD is currently at 1.6.1. One of the most interesting features will be Scheduler Activations, which is an implemention of kernel assisted threads, quite similar to FreeBSD's KSE. It already supports SMP on several platforms as well. The number of packages keeps growing fast, currently at about 3,500.

OpenBSD

OpenBSD was created when Theo de Raadt was kicked out of NetBSD. Unless you live under a rock, you've heard of OpenBSD. The recent DARPA/UPenn fiasco (DARPA dropped funding for OpenBSD, for “their own reasons”) made quite some noise in national newspapers in Canada (where Theo lives) and the US. OpenBSD has a very rigorous 6-month release schedule (which allows for quick security updates). OpenBSD focuses on security, with “Only one remote hole in the default install, in more than 7 years!” as quoted on their front page. They constantly audit the code for bugs and insecure functions. It ships with Apache in the base system, and is configured to run it in a chrooted environment. This is the team of people that brought us the excellent OpenSSH, the de-facto standard for remote access. OpenBSD is not as fast a FreeBSD, and has less packages, but makes a very fine firewall box.

In Depth History

It's easy enough with all the Linux hype these days to lose sight of where it all began, but here's the story (Note: if you get easily confused by these events, there is a simple timeline below, and a much more advanced one here): back around '76, when AT&T shipped Unix V6, the University of California at Berkeley got its hands on a source license and its students started hacking away at it. Somewhere along the way, BSD supplanted TENEX (in 1973, an operating system for the PDP-10 [which was a computer manufactured by Digital Equipment Corporation {DEC} from the late 1960s on; the name stands for "Programmed Data Processor model 10". It looms large in hacker folklore because of its adoption in the mid-1970s by many university computing facilities and research labs, including MIT's AI Lab and Project MAC, Stanford's SAIL, and CMU]) and its proprietary brethren as the OS running the backbone of the then-ARPANET; as a result, it became THE wide-area network OS for the eighties. Software such as the BSD TCP/IP stack (still the standard outside the Linux world) and sendmail are still at the core of much of the net, and most of it came out of Berkeley.

Along the line, many of these students struck out on their own (most notably Bill Joy at Sun), and when they went off to build their workstation systems, they took BSD with them, thus bringing about systems such as SunOS and HP/UX, as well as several that are now long forgotten. Not only was the BSD license in effect a donation to the public domain, the code itself was something that the engineers themselves had developed, which was more than could be said about the multiple permutations of Unix coming out of Murray Hill, NJ. BSD even came to the PC, in the form of Bill and Lynne Jolitz' 386BSD, a precursor to the modern BSD designs.

The modern BSD era began in 1994, when UC-Berkeley's Computer Science Research Group, disbanded a few years earlier, regrouped to finish the BSD story at Berkeley. The release they made was called 4.4BSDlite, and was actually quite widely available in bookstores at the time. It consisted of a CD-ROM containing a mostly-complete AT&T-free source tree (with a few un-replaced but critical AT&T files removed) and four books containing man pages and other docs. This event is what created two of the four modern BSD variants (FreeBSD and NetBSD); OpenBSD was a fork off of NetBSD that stressed security concerns, while the newest major variant, Darwin/MacOS X, came out of Apple's post-acquisition merging of NeXT's Mach/BSD hybrid OS and the 4.4lite code-base. BSD was also the base for OSF/1, the only major variant of which is Compaq's Tru64 Unix.

Today, BSD is viewed as a one-off, a newcomer in a world dominated by Linux. I suspect most of the history I've just related simply isn't all that well known anymore, and it certainly isn't media-friendly (what, no underdog-makes-good? No flashy technology? No David-vs.-Goliath? HACKERS?? Not interested, sorry...).

I think the reason that BSD persists today (apart from having about the best TCP/IP stack available) is because it's a link to the past that most commercial Unices haven't preserved. By running a BSD, you're expressing solidarity with some random hacker pouring over a third-generation photocopy of the Lions book on a brand-new VAX twenty years ago. BSD easily allows a level of maturity that Linux can't even begin to say it has.

Saying that BSD is related to Linux is wrong on many levels. Apart from both being open-source Unices, there is no real connection; Penguins do not equal Daemons, and Daemons do not equal Penguins.


BSD Chronological Time Line

Why BSD was so important

References

Additional Reading

General History

FreeBSD vs Linux

FreeBSD

NetBSD

OpenBSD

Personal tools
Namespaces
Variants
Actions
Navigation
Sponsored Links
Toolbox