GNU/Linux Application Programming (Programming Series)
To understand GNU/Linux, let s first step back to 1969 to look at the history of the UNIX operating system. Although UNIX has existed for over 30 years , it is one of the most flexible and powerful operating systems to have ever been created. A timeline is shown in Figure 1.1.
The goals for UNIX were to provide a multitasking and multiuser operating system that supported application portability. This tradition has continued in all UNIX variants and, given the new perspective of operating system portability (runs on many platforms), UNIX continues to evolve and grow.
AT&T UNIX
UNIX began as a small research project at AT&T Bell Labs in 1969 for the DEC PDP-7. Dennis Ritchie and Ken Thompson designed and built UNIX as a way to replace the current Multics operating system already in use.
Note | Once Multics was withdrawn as the operating system at AT&T, Thompson and Ritchie developed UNIX on the PDP-7 in order to play a popular game at the time called Space Travel [Unix/Linux History04]. |
The first useful version of UNIX (version 1) was introduced in late 1971. This version of UNIX was written in the B language ( precursor of the C language). It hosted a small number of commands, many of which are still available in UNIX and Linux systems today (such as cat , cp , ls and who ). In 1972, UNIX was rewritten in the newly created C language. In the next three years, UNIX continued to evolve, with four new versions produced. In 1979, the Bourne shell was introduced. Its ancestor , the bash shell, is the topic of Chapter 20, Bourne-Again Shell (bash) [Unix History94].
BSD
The BSD (Berkeley Software Distribution) operating system was created as a fork of UNIX at the University of California at Berkeley in 1976. BSD remains not only a strong competitor to GNU/Linux, but in some ways is superior . Many innovations were created in the BSD, including the Sockets network programming paradigm and the variety of IPC mechanisms (addressed in Part III of this book, Application Development Topics ). Many of the useful applications that we find in GNU/Linux today have their roots in BSD. For example, the vi editor and termcap (which allows programs to deal with displays in a display- agnostic manner) were created by Bill Joy at Berkeley in 1978 [Byte94].
One of the primary differences between BSD and GNU/Linux is in licensing. We ll address this disparity in Chapter 3, Free Software Development.
Категории