The Berkeley Software Distribution, also known as BSD or Berkeley UNIX, is a Unix operating system developed and distributed by the Computer Systems Research Group at the University of California, Berkeley.
BSD released in 1978, it began as an improved derivative of AT&T's original Unix developed at Bell Labs, based on the source code. Over time, BSD evolved into a distinct operating system and played a significant role in computing and the development and dissemination of Unix-like systems.
Contents
History
BSD development was initially led by Bill Joy, who together with Ozalp Babaoglu added virtual memory capability to Unix running on a VAX-11 computer. During the 1980s, BSD gained widespread adoption by workstation vendors in the form of proprietary Unix distributions—such as DEC with Ultrix and Sun Microsystems with SunOS—due to its permissive licensing and familiarity among engineers. BSD also became the most widely used Unix variant in academic institutions, where it was used for the study of operating systems. The BSD project received funding from DARPA until 1988, during which time BSD incorporated ARPANET support and later implemented the TCP/IP protocol suite, released as part of BSD NET/1 in 1988. By that time, the codebase had diverged significantly from the original AT&T Unix, with estimates suggesting that less than 5% of the code remained from AT&T. As a result, NET/1 was distributed without requiring an AT&T source license.
Berkeley ended its Unix research in 1992, following reduced funding and complications arising from the Unix copyright lawsuit. As the original BSD became obsolete, the term "BSD" came to refer primarily to its open-source descendants, including FreeBSD, OpenBSD, NetBSD, and DragonFly BSD, and derivatives of those projects, such as TrueOS. BSD-derived code, along with Mach code, also formed the basis for Darwin; that, in turn, has been incorporated into Apple's proprietary operating systems, such as macOS and iOS. Windows NT 3.1's networking stack used a BSD-derived TCP/IP implementation, and some BSD-based networking utilities for that stack are also provided with Windows NT. Code from BSD's open descendants have themselves also been integrated into various modern platforms, including the system software for the PlayStation 5 and other embedded or commercial devices.
The earliest distributions of Unix from Bell Labs in the 1970s included the source code to the operating system, allowing researchers at universities to modify and extend Unix. The operating system arrived at Berkeley in 1974, at the request of computer science professor Bob Fabry who had been on the program committee for the Symposium on Operating Systems Principles where Unix was first presented. A PDP-11/45 was bought to run the system, but for budgetary reasons, this machine was shared with the mathematics and statistics groups at Berkeley, who used RSTS, so that Unix only ran on the machine eight hours per day (sometimes during the day, sometimes during the night). A larger PDP-11/70 was installed at Berkeley the following year, using money from the Ingres database project.
Relationship to Research Unix
Starting with the 8th Edition, versions of Research Unix at Bell Labs had a close relationship to BSD. This began when 4.1cBSD for the VAX was used as the basis for Research Unix 8th Edition. This continued in subsequent versions, such as the 9th Edition, which incorporated source code and improvements from 4.3BSD. The result was that these later versions of Research Unix were closer to BSD than they were to System V. In a Usenet posting from 2000, Dennis Ritchie described this relationship between BSD and Research Unix:
Research Unix 8th Edition started from (I think) BSD 4.1c, but with enormous amounts scooped out and replaced by our own stuff. This continued with 9th and 10th. The ordinary user command-set was, I guess, a bit more BSD-flavored than SysVish, but it was pretty eclectic.
Relationship to System V
Eric S. Raymond summarizes the longstanding relationship between System V and BSD, stating, "The divide was roughly between longhairs and shorthairs; programmers and technical people tended to line up with Berkeley and BSD, more business-oriented types with AT&T and System V."
In 1989, David A. Curry wrote about the differences between BSD and System V. He characterized System V as being often regarded as the "standard Unix." However, he described BSD as more popular among university and government computer centers, due to its advanced features and performance:
Most university and government computer centers that use UNIX use Berkeley UNIX, rather than System V. There are several reasons for this, but perhaps the two most significant are that Berkeley UNIX provides networking capabilities that until recently (Release 3.0) were completely unavailable in System V, and that Berkeley UNIX is much more suited to a research environment, which requires a faster file system, better virtual memory handling, and a larger variety of programming languages.
Technology
Berkeley sockets
Berkeley's Unix was the first Unix to include libraries supporting the Internet Protocol stacks: Berkeley sockets. A Unix implementation of IP's predecessor, the ARPAnet's NCP, with FTP and Telnet clients, had been produced at the University of Illinois in 1975, and was available at Berkeley. However, the memory scarcity on the PDP-11 forced a complicated design and performance problems.
By integrating sockets with the Unix operating system's file descriptors, it became almost as easy to read and write data across a network as it was to access a disk. The AT&T laboratory eventually released their own STREAMS library, which incorporated much of the same functionality in a software stack with a different architecture, but the wide distribution of the existing sockets library reduced the impact of the new API. Early versions of BSD were used to form Sun Microsystems' SunOS, founding the first wave of popular Unix workstations.
Binary compatibility
Some BSD operating systems can run native software of several other operating systems on the same architecture, using a binary compatibility layer. This is much simpler and faster than emulation; for example, it allows applications intended for Linux to be run at effectively full speed. This makes BSDs not only suitable for server environments, but also for workstation ones, given the increasing availability of commercial or closed-source software for Linux only. This also allows administrators to migrate legacy commercial applications, which may have only supported commercial Unix variants, to a more modern operating system, retaining the functionality of such applications until they can be replaced by a better alternative.
Standards
Current BSD operating system variants support many of the common IEEE, ANSI, ISO, and POSIX standards, while retaining most of the traditional BSD behavior. Like AT&T Unix, the BSD kernel is monolithic, meaning that device drivers in the kernel run in privileged mode, as part of the core of the operating system.
BSD systems
FreeBSD, OpenBSD, and NetBSD are operating systems based on the Berkeley Software Distribution. FreeBSD and NetBSD were both established in 1993, initially deriving from 386BSD before merging the 4.4BSD-Lite source code in 1994. Shortly thereafter, in 1995, OpenBSD was created as a fork of NetBSD. BSD was also used as the basis for several proprietary versions of Unix, such as SunOS, DYNIX, NeXTSTEP, Ultrix and Tru64 UNIX.
macOS
Apple’s operating systems trace is origins to NeXTSTEP. After Apple Inc. acquired NeXT in 1997, NeXTSTEP became the foundation for Mac OS X, later renamed OS X and macOS.
Darwin, an open-source, Unix-based operating system, is the core of macOS and other Apple operating systems, such as iOS and watchOS. Darwin combines the XNU kernel, which incorporates the Mach kernel and components derived from BSD, with Apple’s I/O Kit device-driver framework, networking services, security features, and support for multiple file systems.
PlayStation system software
PlayStation system software is the updatable firmware and operating system used by PlayStation consoles. Its base operating systems known internally as CellOS or GameOS on the PlayStation 3 and Orbis OS on the PlayStation 4 are derived from FreeBSD and NetBSD. The PlayStation 3 system software uses the XrossMediaBar as its graphical user interface. Unlike the PlayStation 3, the PlayStation 4 does not use the XrossMediaBar as its primary user interface.
