Page 5 of 10
The 1970s – General Development:
The 1970s saw several significant developments that vastly broadened the scope and importance of operating systems. The experimental timesharing systems of the 1960s evolved into solid commercial products in the 1970s. This was vastly facilitated by the improvement in data communications between computers. The TCP/IP (Transmission Control Protocol/Internet Protocol) started to become widely used especially in military and university computing environments. Communications in local area networks were made practical and economical by the Ethernet standard developed at Xerox’s Palo Alto Research Center (Quarterman & Hoskins, 1986).
As more and more data started to be transmitted through the communication lines, they became more and more vulnerable to interception and unauthorized access. Operating systems of these days not only needed to deal with the interconnectivity of the networks but also the security. Encryption received much attention – it became necessary to encode proprietary or private data so that even if the data were compromised, it was not of any value to anyone other than the intended receivers. Other aspects of computer and network security such as viruses and hacking had increasingly challenged the operating systems. As a result, the design of a secure operating system received top priority at that time (McCauley, 1979).
Several major operating systems were developed during these periods, some of which such as IBM’s MVS and VM operating systems for its mainframe computers and Bell Labs’ UNIX operating system are still in operation. UNIX operating system is particularly noteworthy because this is the only system that has been successfully implemented in every kind of computer – from microcomputers to supercomputer. In the next section, the development of UNIX is described in somewhat detail.
The 1970s – Development of UNIX:
From 1965-1969, Bell Labs participated with General Electric and Project MAC at MIT in the development of Multics system. Originally designed for the mainframe, Multics was a large and complex system. The Multics designers envisioned a general purpose computer utility that could essentially be “all things to all people” (Organick, 1972, p. 3).
As the effort progressed, it became clear that although Multics was likely to deliver the variety of services required, it would be a huge, expensive system and very difficult to develop. For these reasons, Bell Laboratories withdrew from the effort in 1969. This, however, did not dissuade some members of the Bell Labs’ research staff to work on a far less ambitious system. The group, led by Ken Thompson, sought to create a simple computing environment for programming research and development, which later they named “UNIX”– “a somewhat treacherous pun on ‘Multics,’” (Ritchie, 1984, p. 1580) according to the words of one of the co-developers, Dennis Ritchie. Given the limited budget, as the Labs was no longer funding it, and the high cost of mainframe computer time, they had to scrounge around and found a discarded obsolete computer– a PDP-7 which was manufactured by DEC (Digital Equipment Corporation). It was a minicomputer designed for dedicated laboratory application and provided only a fraction of the power of the conventional mainframe. The design of UNIX evolved over a period of few months in 1969 based on a small set of primitive concepts.
By the early 1970s, UNIX was working well to the satisfaction of the designers, providing remarkably powerful facilities for a single user on the PDP-7. However, the designers still had difficulty convincing the computer community of its merits. However, in 1973, Dennis Ritchie, a former Multics teammate joined the UNIX team which made a considerable difference. First, like any other operating system before it, the first version of UNIX was written in Assembly language which made it machine-dependent. Ritchie designed a new language called “C,” especially for the UNIX to be written on. This was a “systems implementation language, designed for writing programming systems in much the same way that higher level languages FORTRAN and COBOL were designed for scientific and commercial purposes respectively. The use of C made UNIX “portable,” that is, machine-independent so that it could be implemented on any computer system. In fact, this was the first time an operating system was written on a higher-level language than Assembly language, and thus became the first operating system with portability (Milenkovic, 1987). The designers also enlarged the capabilities of the original design of UNIX such as expanding the capability of the text-processing features. They also convinced Bell Labs’ patent department to use the system for preparing patent applications. This was the first time they found a real prospective user for UNIX. Bell Labs made funding for a larger computer available to them and the newly launched minicomputer Digital Equipment PDP-11/45 was selected for this purpose (Ritchie and Thompson, 1978).
AT&T, the parent company of Bell Labs before telephone deregulation of 1983, was not allowed to compete in the computer industry, so it made the UNIX systems available to universities at a nominal fee. More importantly, AT&T also distributed its source code. The minimal design of UNIX and its simplicity compared to complex operating systems of the mainframe allowed it to develop immediate rapport with the academic world and research laboratories. By 1975, UNIX systems had become extremely popular in the universities and a users’ organization developed that evolved into the group called USENIX and within a couple of years, graduates of the universities began to import UNIX culture into the computer industry, making UNIX the standard operating system among the computer professionals in the 1980s (Salus, 1994).
By 1977, UNIX began to grow organically as more and more software were added to the basic system originally developed by Ritchie and Thompson. The clean, functional design of UNIX made this organic growth possible without affecting the inherent reliability of the system. One of the very powerful versions of UNIX was developed by the University of California at Berkley. It was Berkley UNIX with TCP/IP communication standards that helped transform the restricted ARPANET to the wide-open Internet (Laudon and Laudon, 1997). Sun Microsystems is one of the many firms which took full advantage of UNIX. Its SunOS operating system is UNIX-based. Sun wanted a system for supporting a network of workstations. In the 1980s, it enhanced Berkeley’s version to include facilities for a graphic, windowing and mouse-oriented interface. It also included facilities for diskless workstations to use the network for storing and sharing (Courington, 1985).
In 1983, Thompson and Ritchie received the ACM’s Turing Award, the most prestigious award in the computing community. In its citation, ACM noted “the genius of the UNIX system is its framework, which enables programmers to stand on the work of others” (Salus, 1994, p. 81).
It is not that UNIX does not have limitations. It was a complicated set of commands. While it is a delight to the professional programmers, it is not user-friendly enough for the novice users and thus, has not been truly become an operating system of choice for the personal computers of the 1990s where user-friendliness is the important criterion for user acceptability. Its security features are generally weak because it allows multiple users and multiple computer jobs to access same files simultaneously, although some versions of UNIX have been modified to be more secure. It requires relatively large amount of RAM and disk storage capacity (Laudon and Laudon, 1997).
Despite its limitations, UNIX system appealed to the users because of simplicity in design while being flexible and open. More importantly, its popularity reflected a cultural shift that was occurring in the 1970s in the computing community, as the independent-minded users were beginning to reject the centralized mainframe with its rigidity and relative lack of access and immediacy in favor of decentralized small minicomputers that were already being introduced in the market. Many computer lobbyists and programmers preferred smaller decentralized systems because of the accessibility and flexibility. The cost of mainframe time, even with timesharing might have been too high for many programmers with limited funds, who needed to test and debug their programs and rewrite and run them again. At that time, there were a few good operating systems available to satisfy the needs and UNIX filled this void. As Ritchie noted, “Because they were starting afresh and because manufacturers’ software was, at best unimaginative and often horrible, some adventuresome people were willing to take a chance on a new and intriguing, even though unsupported, operating system” (Ritchie, 1984, p. 758).
This cultural shift of the computing community was also facilitated by another development – this time in the hardware – which totally revolutionized the computer industry, in the form of the microprocessor. The development of microprocessor (popularly known as microchip) in the 1970s eventually changed the nature of computer by being the enabling technology for personal computers. In this personal computing environment, operating systems became elevated to a higher level of importance and by the 1990s, became the dominating factor in the software industry. In the following section, the development of microprocessor and the personal computer in the 1970s is discussed.