This page copyright 2002-2011 by George Mack. Last updated January 22 2011.
Home General Information Index
The information contained in this article was garnered from many sources.
Any errors or omissions are entirely my own. Should you have any comments or
questions, or wish to contribute further information, please email me at
George Mack, Montreal, June 19 2002.
Dartmouth College, of Dartmouth NH, USA, made a commitment in 1963 to make all its computers easily available to students. To this end, they developed the first fully functional time sharing system, running on a General Electric mainframe computer in 1964. The BASIC language was developed for this system and first implemented in 1964, using Teletype machines as time-sharing terminals. [Mack 2002]
Maurice J. Bach of Bell Labs wrote the following [Bach 1986]
"In 1965, Bell Telephone Laboratories (Bell Labs) joined in an effort with General Electric (GE) and the Massachusetts Institute of Technology (MIT) to develop a new operating system called Multics [Organick 1972]. … Many people who later took part in the development of the UNIX system participated in the Multics work at Bell Labs. Although a primitive version of Multics was running on a GE 645 by 1969, (Bell did not consider the project a success and ended its participation).
"With the end of their work on the Multics project, members of the Computing Science Research Center at Bell Labs were left without a 'convenient interactive computing service' [Ritchie 1984]. IN an attempt to improve their programming environment, Ken Thompson, Dennis Ritchie and others sketched the paper design of a file system that later evolved into an early version of the UNIX file system. Thompson wrote programs that simulated the behaviour of the proposed file system and of programs in a demand-paging environment, and he even encoded a simple kernel for the GE 645 machine.
"At the same time, he wrote a game program, "Space Travel", in FORTRAN for a GECOS system (the Honeywell 635), but the program was unsatisfactory because it was difficult to control the "space ship" and the program was expensive to run. Thompson later found a little-used PDP-7 computer that provided good graphic display and cheap executing power. Programming "Space Travel" for the PDP-7 enabled Thompson to learn about the machine, but its environment for program development required cross-assembly of the program on the GECOS machine and carrying paper tape for input to the PDP-7.
"To create a better development environment, Thompson and Ritchie implemented their (UNIX) system design on the PDP-7, including an early version of the file system, the process subsystem, and a small set of utility programs. Eventually the new system no longer needed the GECOS system as a development environment… The new system was given the name UNIX, a pun on the name Multics coined by another member of the Computing Science Research Center, Brian Kernighan. Although this early version of the UNIX system held much promise, it could not realize its potential until it was used in a real project."
UNIX ran on the PDP-7 in 1970. A time-sharing, text-processing system was implemented on this machine for the patent department of Bell Labs. In 1971 the system was moved to a PDP-11.
The development of the C language proceeded in parallel with the development of UNIX. In 1969, Martin Richards had published the description of a language known as BCPL [Richards 1969]. Thompson set out to implement a FORTRAN compiler for UNIX in 1970, but under the influence of Richards' work he instead produced an interpretive language called B. Both BCPL and B were "typeless" languages [Kernighan 1988]. Ritchie then developed B into the C language, which was strongly typed, and implemented a compiler that generated machine code and included definition of data types and structures.
Bach writes "In 1973, UNIX was rewritten in C, an unheard-of step at the time, but one that was to have tremendous impact on its acceptance among outside users. The number of installations at Bell Labs grew to about 25, and a UNIX Systems Group was formed to provide internal support.
"At this time, A T & T could not market computer products because of a 1956 Consent Decree it had signed with the (U.S.) Federal Government, but it provided the UNIX system to universities who requested it for educational purposes. … In 1974, Thompson and Ritchie published a paper describing the UNIX system in the Communications of the ACM [Thompson 1974] … By 1977, the number of UNIX sites had grown to about 500, of which about 125 were in universities. UNIX systems became popular in the operating telephone companies… for program development, network transaction operations services, and real-time services."
In 1977, UNIX was ported to the Interdata 8/32, the first port to a non-PDP machine. By the mid-1980s, UNIX was running on everything from microprocessors to mainframe systems. This is still the situation today.
[Bach 1986] Bach, Maurice J., The Design of the UNIX Operating System, Prentice-Hall Inc., Englewood Cliffs, NJ, USA, 1986, ISBN 0-13-201799-7
[Kernighan 1988] Kernighan, Brian W., and Dennis M. Ritchie, The C Programming Language, Second Edition, Prentice-Hall Inc., Englewood Cliffs, NJ, USA, 1988, ISBN 0-13-110362-8
[Mack 2002] Mack, George, The History of Visual Basic and BASIC on the PC, published on the World Wide Web, January 2002
[Organick 1972] Organick, Elliot J., The Multics System: An Examination of Its Structure, The MIT Press, Cambridge, MA, USA
[Richards 1969] Richards, Martin, BCPL: A Tool for Compiler Writing and Systems Programming, Proc. AFIPS SJCC 34, 1969, pp. 557-566.
[Ritchie 1978] Ritchie, Dennis M., and Ken Thompson, The UNIX Time-Sharing System, The Bell System Technical Journal, July-August 1978, Vol. 57, No. 6, Part 2, pp. 1905-1930
[Ritchie 1984] Ritchie, Dennis M., The Evolution of the UNIX Time-Sharing System, AT&T Bell Laboratories Technical Journal, October 1984, Vol. 63, No. 8, Part 2, pp. 1577-1594
[Rochkind 1984] Rochkind, Marc J., Advanced UNIX Programming, Prentice-Hall Inc., Englewood Cliffs, NJ, USA, 1984, ISBN 0-13-011800-1
[Thompson 1974] Thompson, Ken, and Dennis M. Ritchie, The UNIX Time-Sharing System, Communications of the ACM, Vol. 17, No. 7, July 1974, pp. 365-375 (revised and reprinted in [Ritchie 1978])
Wikipedia, Ken Thompson, last accessed January 22 2011
Wikipedia, Dennis Ritchie, last accessed January 22 2011
Wikipedia, UNIX, last accessed January 22 2011
Wikipedia, Berkeley Software Distribution, last accessed January 22 2011
Wikipedia, Steve Jobs, last accessed January 22 2011
Wikipedia, NeXTSTEP, last accessed January 22 2011
Wikipedia, Linux, last accessed January 22 2011
Wikipedia, MINIX, last accessed January 22 2011
Wikipedia, Linux Kernel, last accessed January 22 2011
Tech Sanity Check: Five Reasons Why Windows Vista Failed, by Jason Hiner, Editor-in-Chief, TechRepublic. Posted October 6 2008 to the Tech Sanity Check blog, last accessed January 22 2011.
Back to General Information Index page