|
||||
![]() |
||||
![]() Certifications ![]() Cisco ![]() Downloads ![]() IP ![]() PC ![]() Protocols ![]() RemoteAccess ![]() Security ![]() Telecommunications ![]() Tools ![]() Unix ![]() Web |
©4-12-02 Lance M. Westerhoff This artile will take an in depth look at the history of Unix as it applies to Mac OS X and the "five BSDs:" BSDI, FreeBSD, NetBSD, OpenBSD, and now Darwin/Mac OS X. There are many UNIX-based operating systems today, and many users and even administrators would probably have difficulty distinguishing between some of them. A hot topic in the world of computers is Linux, but the BSD's have been around for longer, and some administrators would suggest that the BSD's are the only way to go for "high-hit" and high stability environments. More importantly to the readers of Applelust, the BSD lineage has particular importance to the development of Mac OS X as it is from this lineage that first NeXT and now Apple take their cue. In this article we will explore these operating system relationships a little further. "Pre-modern" BSD:
Network Release 2, the fruit of this labor, was released in June 1991. The source code in this release was entirely based on Berkeley code and could be downloaded without an expensive AT&T license. Unfortunately, the Network Release 2 was not completely functional since it lacked six files that did need the AT&T license. It was the intent of the software engineers at Berkeley to rewrite these six files, but these files proved too complicated to rewrite in a timely fashion. It would be six more months until William Jolitz had finished replacement files for these six AT&T files. Very soon thereafter he posted a fully compilable and bootable system for personal computers built with the Intel 386 CPU. This release was the first of the 386BSD distribution. It was available for free download, and within a short time a large number of users around the world were using it. With such a large number of installed users, the daunting task of maintaining and enhancing 386BSD became increasingly difficult to do for a person with a full time, "real" job. Others soon took up the mantel and over the next several years, five interrelated BSD-based distributions were spawned each generally focusing different goals: BSDI, NetBSD, FreeBSD, OpenBSD, and finally Darwin/Mac OS X. BSDI:
In the early 1990's, BSDI became embroiled in a lawsuit with Unix System Laboratories (USL) owned, at the time, by AT&T and later by Novell. It seems that BSDI was attempting to market their product as a real UNIX, and they included code that AT&T felt contained trade secrets and was covered by copyright laws. A lawsuit ensued and both parties were at each other's throats. Unfortunately, the BSDI distribution was not the only distribution affected by these legal proceedings. NetBSD, FreeBSD, and OpenBSD were also based on potentially "tainted" code. After a long and convoluted battle, a settlement was reached in which three files out of the 18,000 files that made up the Networking Release 2 distribution would be dropped and some other files would need to be edited. This "blessed" or unencumbered distribution become known as 4.4BSD- lite, and it was released in 1994. As part of their settlement, USL and Novel (who purchased the USL from AT&T a few months before) agreed to let other BSD distributions alone as long as they adopted the changes made in 4.4BSD-lite. The dark cloud of legal uncertainty that grew from this lawsuit is, to many, the reason why Linux quickly surpassed BSD in popularity. Today this difference in popularity is evidenced by the fact that you can order a "Linux Box" from any one of a large number of mainstream vendors, but you would be hard pressed to find a mainstream vendor that will market a "Free/Net/OpenBSD Box." NetBSD:
Initially, many thought that NetBSD would just serve as an interim 386BSD release in the growing time span between "official" 386BSD releases. As time went on, and it became increasingly obvious that there would be very little if any development from Jolitz and the 386BSD group, NetBSD gained notoriety as an operating system in its own right. Other developers began working on porting NetBSD additional platforms such as the Macintosh, Atari ST, Amiga, and PC platforms. The focus of NetBSD became portability and University/Academic research. Today, the NetBSD ports page reports some level of support for over 50 different platforms including, among others: Intel, Macintosh, Playstation2, and even Sega Dreamcast. This dedication to portability has been a "God-send" to many in the computer science research community. Not only do students and researchers get their hands on a full-fledged, opensource operating system, they also gain the ability to develop exciting new technologies on low cost or free equipment long since thrown aside as useless. These new technologies then often find their way into other opensource operating systems such as FreeBSD, OpenBSD, Linux, and now Darwin/Mac OS X. FreeBSD:
From the beginning, another focus of FreeBSD was the less computer literate user. While NetBSD appealed to the "techie," FreeBSD attempted to make the install process and system maintenance as simple as possible through the use of scripts, and CDROM distributions (similar to what Linux attempts to do today). Further, the FreeBSD Ports Collection, now modeled by the other BSDs, makes porting third party, opensource applications relatively simple and system administration that much easier. Also as Linux gained in popularity, FreeBSD has tried to remain competitive through the inclusion of a Linux emulation mode. Today, the FreeBSD user can run just about any compiled Linux program on FreeBSD without worrying about recompiling the code for FreeBSD. Another point of interest not just for FreeBSD, but for NetBSD and for OpenBSD as well, is their development model. In today's world of opensource software, the variability in development models is astounding. Many projects function as the Linux kernel project does: developers answer to one person who decides whether something stays or goes. In the case of the Linux kernel, when a developer wants to add a line of code, he or she must pass that code to Linus Torvalds who then decides whether he likes the code the developer wants to add. Although in principle this sounds like a good way to keep the kernel nice and clean, in practice it is becoming increasingly difficult for one person to handle such an arduous task. The modern BSDs use a very different development model from that of the Linux kernel model. FreeBSD has a committee of 200 developers called the "Committers" whose members are the only ones allowed to make changes to the FreeBSD source tree at any time. In NetBSD, this committee is referred to as the "Port Maintainers." Further, a Core Team selects the Committers and arbitrates disputes governs these BSD distributions. Thusly, this Core Team acts as a board of directors. Beginning in October 2000, the FreeBSD Core Team became an elected body whose members are elected from and by the population of the Committers. OpenBSD:
Since OpenBSD was originally derived from NetBSD, it shares much of the portability for which that system is so well known. Though it does not support the 50+ platforms supported by NetBSD, it does support such platforms as i386, PowerPC, m68k (pre-ppc Macs), Alpha and several more. Even more importantly though, many of the changes made to OpenBSD to improve the robustness and the security of the operating system have "trickled down" to other BSD-derived systems like NetBSD, FreeBSD, and even Darwin/Mac OS X. As work on this operating system continues, new advances in secure systems design are being made. Darwin/Mac OS X:
In addtion to the web sites referenced throughout the article, the following sites were also used as sources. Please feel free to email me or visit these sites for more information. Note: Image of Hexley, the Darwin-OS Mascot, is Copyright 2000 by Jon Hooper and all other images are owned by their respective copyright holders. |