Berkeley Software Distribution

ImprimirCitar

Berkeley Software Distribution or BSD (in Spanish, "Berkeley software distribution") was an operating system derived from Unix that was born based on the contributions made to that system by the University of California at Berkeley.

In the early years of the Unix system, its creators, AT&T Bell Laboratories, authorized the University of California at Berkeley and other universities to use the source code and adapt it to their needs. During the 1970s and 1980s, Berkeley used the system for its research on operating systems. When AT&T withdrew the university's permission to use it for commercial reasons, the university promoted the creation of a version inspired by the Unix system using the contributions they had made, later allowing its distribution for academic purposes and after some time minimizing the restrictions regarding its copying, distribution or modification.

Some operating systems descendants of the system developed by Berkeley are SunOS, FreeBSD, NetBSD and OpenBSD. These, in turn, have been used by proprietary operating systems, including Apple's macOS and iOS, which were derived from them, and Microsoft Windows, which used (at least) part of their TCP/IP code, which was legal.. FreeBSD code was also used to create the operating system for the PlayStation 4 and Nintendo Switch.

BSD has also made great contributions in the field of operating systems in general, such as:

  • The virtual memory management on demand.
  • Work control.
  • The Fast FileSystem.
  • The TCP/IP socket protocol that forms the basis of the Internet (almost all TCP implementations are derived from the 4.4 BSD-Lite).

History

The beginnings with PDP-11

The first distributions of Unix from Bell Laboratories in the 1970s included the source code of the operating system, allowing developers at universities to modify and extend Unix. Berkeley's first Unix system was the PDP-11, which was installed in 1974, and has been used ever since by the computer science department for its research. Other universities became interested in Berkeley's software, and so in 1977 Bill Joy, then a Berkeley undergraduate, recorded and shipped tapes of the first Berkeley Software Distribution (BSD).

BSD 1 was an addition to the sixth edition of Unix, rather than a complete operating system. It consisted mainly of a Pascal compiler and a text editor created by Joy himself called "ex".

BSD 2 was released in 1978, it included updated versions of BSD 1 as well as two new programs created by Joy that remain on Unix systems to this day. The vi text editor and the C shell. The following versions of BSD 2 contained adaptations of the BSD distributions based on the VAX architecture, to make them compatible with the PDP-11 architecture.

BSD 2.9 since 1983 includes code from BDS 4.1c and was the first distribution to be considered as a complete operating system (A modification of Unix 7). The most recent distribution, BSD 2.11, was released in 1992, and with the help of volunteers it continued to be updated until 2003.

BSD 4

Released in November 1980, it offered many improvements over BSD 3, including notably the control work of the earlier version of csh, delivermail (the present of sendmail), "trusted" signals, and the programming library. Curses.

BSD 4.1, released in June 1981, was the response to criticism of BSD in comparison to the dominant operating system for the VAX architecture, VMS. BSD 4.1 was improved by Bill Joy until he got the same features as VMS. The distribution was originally going to be called BSD 5, but this was changed to avoid possible confusion with the release of AT&T Unix System V.

BSD 4.2 took two years to implement, and contained major improvements. Before its official launch, three intermediate versions appeared 4.1a incorporated a modified version of BBN's preliminary TCP/IP implementation. 4.1b included the new Berkeley Fast File System, implemented by Marshall Kira McKusick, and 4.1c was an internal version that was used during the last months of BSD 4.2 development. The official distribution of BSD 4.2 was released in August 1983. It was the first BSD distribution since Bill Joy left and co-founded Sun Microsystems. Mike Karels and Marshall Kira MacKusick took control of the project from that point on. In a note, the debut of the demon and mascot of BSD is highlighted, through a drawing made by McKusick that appeared on the covers of printed manuals distributed by USENIX.

BSD4.3 was released in June 1986. Its main changes were improvements to many of the new contributions made by BSD 4.2 that were not improved as the BSD4.3 code was. Before its release, the TCP/IP implementation contained in BSD diverged considerably from the official one made by BBN. That is why after many tests carried out by DARPA, it concluded that the version included in BSD 4.2 was superior to the new one, and that for this reason it should be kept in the new distribution. After version 4.3, it was determined that future versions should be built based on another architecture than the already old VAX. At the time, Power 6/32, developed by Computer Consoles Inc, seemed like a platform with more future, although it was abandoned by its developers soon after. However, BSD's port to this platform, BSD 4.3-Tahoe, proved the worth of separating machine-dependent and independent code, allowing for future portability.

Up to this point, all versions of BSD had incorporated AT&T's proprietary code, which required licenses to use. These became very expensive, so many outside entities expressed interest in a separate distribution of the proprietary network code developed by AT&T, so that it would not be subject to license fees. This was achieved with Network Tape 1 (Net/1), released in 1989 and created without AT&T's proprietary code that was freely distributed under the terms of the permissive BSD license.

BSD 4.3-Reno was released in 1990. It was an internal-use version used during the build of BSD 4.4. This distribution was clearly moving towards POSIX compatibility, and according to some, away from the BSD philosophy, since POSIX is based on the V.

Net/2 and legal issues

After Net/1, Keith Bostic proposed that more non-AT&T related BSD sections be released under the same Net/1 license. With this in mind he started a project that was intended to implement many of the standard Unix utilities without AT&T code. Within 18 months, all of AT&T's proprietary utilities were replaced, leaving only a few proprietary kernel files. These files were finally eliminated, giving rise to Net/2, practically a complete operating system and also freely distributable.

Net/2 was the basis for two independent ports of BSD for Intel's 80386 architecture, William Jolliz's 386BSD and Berkeley Software Design's (BSDi) proprietary BSD/386 (later renamed BSD/OS). 386BSD was short-lived, but it was the starting point for FreeBSD and NetBSD.

BSDi soon had a legal problem with AT&T, owners of the rights to System V and the Unix trademark. The lawsuit was filed in 1992, under the prescription not to distribute Net/2 until the validity of the claims could be determined.

The lawsuit slowed the development of the free descendants of BSD for about two years, during which their legal status was in question, and, possibly because of this, other Unix-based systems rose to prominence. Linux and 386BSD started development at the same time, and even Linus Torvalds said that if there had been a free Unix-based operating system for the 386 architecture, he probably wouldn't have created Linux. Although what effect it would have had on the software field is debatable, it is certain that it would have been substantial.

BSD 4.4 and descendants

The lawsuit ended in January 1994 in favor of Berkeley. Of the 18,000 files contained in the distribution, only three were removed and 70 modified to show AT&T's proprietary rights.

In June 1994, BSD 4.4 was released with two versions: a freely distributable one called BSD 4.4-Lite, without proprietary code, and BSD 4.4-Encumbered, only for AT&T licensees.

The last distribution created by Berkeley was BSD 4.4-Lite Release 2, released in 1995, after the CSRG was disbanded and BSD development at Berkeley was ceased. Since then many distributions based on BSD 4.4 have appeared, such as FreeBSD, OpenBSD and NetBSD.

In addition, the permissive BSD license has allowed other operating systems, both free and proprietary, to incorporate BSD code. For example, Microsoft Windows has used BSD-derived code in its TCP/IP implementation, and uses recompiled versions of the BSD command line for networking tools. Also Darwin, the experimental system on which Mac OS X is built, is derived in part from FreeBSD 5 and the Mach kernel. Other commercial Unix-based systems such as Solaris also use BSD code.

Technology

Berkeley Sockets

Captura de pantalla del manual de Emulación Lisp en Blanco y negro 4.3 de BSD UWisc VAX
University of Wisconsin BSD 4.3 showing the manual page for Franz Lisp
SunOS 4.1.1 P1270750 Cinta de 1/4 de pulgada
SunOS 4.1.1, a derivative of 4.3BSD
Sony NEWS workstation running the NEWS-OS operating system based on BSD

Berkeley Unix was the first Unix to include libraries compatible with the Internet Protocol architecture: Berkeley sockets. A Unix implementation of IP's predecessor, the ARPAnet NCP, with FTP and Telnet clients was produced at the University of Illinois in 1975, and was available at Berkeley. However, memory shortages on the PDP-11 forced complicated design and performance issues.

By integrating sockets with the Unix operating system's file descriptors, it became almost as easy to read and write data over a network as it was to access a disk. AT&T's lab eventually released its own STREAMS library, which incorporated much of the same functionality into a differently-architected software stack, but the wide distribution of the existing socket 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 from several other operating systems on the same computer architecture, using a binary compatibility layer. This is much simpler and faster than emulating; for example, it allows applications designed for Linux to run effectively at full speed. This makes BSDs not only suitable for server environments, but also for workstations, given the increasing availability of Linux-only closed-source or commercial software. This also allows administrators to migrate legacy commercial applications, which may have supported only commercial Unix variants, to a more modern operating system, retaining the functionality of those applications until they can be replaced by a better alternative.

Standards

Current variants of the BSD operating system are compatible with many of the IEEE, ANSI, ISO, and POSIX standards, while maintaining most of the traditional BSD behavior. Like AT&T Unix, the BSD kernel is monolithic, which means that device drivers in the kernel run in privileged mode, as part of the operating system kernel.

Additional bibliography

  • McKusick, Marshall Kirk (January 1999). «Twenty Years of Berkeley Unix – From AT fakeT-Owned to Freely Redistributable». In DiBona, Chris; Ockman, Sam; Stone, Mark, eds. Open Sources: Voices from the Revolution (in English) (first edition). O'Reilly. ISBN 978-1-56592-582-3.
  • Peter H. Salus, The Daemon, the GNU " The Penguin (Reed Media Services, September 1, 2008; ISBN 978-0-9790342-3-7) (in English)
  • Peter H. Salus, A Century Quarter of UNIX (Addison Wesley, June 1, 1994; ISBN 978-0-201-54777-1) (in English)
  • Peter H. Salus, Casting the Net (Addison-Wesley, March 1995; ISBN 978-0-201-87674-1) (in English)

Contenido relacionado

Integrated circuit

An integrated circuit also known as a chip or microchip, is a structure of small dimensions of semiconductor material, usually silicon, of a few square...

Wing profile

In aeronautics, wing profile, airfoil or simply profile, refers to the shape of the cross-sectional area of an element, which when moving through the air it...

Binary Coded Decimal

In computer systems, Binary-Coded Decimal or Binary-Coded Decimal is a standard for representing decimal numbers in the binary system, where each decimal...
Más resultados...
Tamaño del texto:
Copiar