Softpanorama
(slightly skeptical) Open Source Software Educational Society

May the source be with you, but remember the KISS principle ;-)

Google   


[an error occurred while processing this directive]

Chapter 7: Shell Giants

Introduction to the Unix shell history

The Bourne Shell Family

C-shell family (c-shell and tcsh)

Zsh and other "post-scripting languages" shells

Visual shells and Orthodox file managers

Shells History Webliography

Appendix 1:

Shell History by John Mashey

Appendix 2:

 An Introduction to the C shell by William Joy (revised for 4.3BSD by Mark Seiden)

Appendix 3:

An Introduction to the UNIX Shell by S. R. Bourne.

 

 

 

The book Life with Unix by Don L

The book Life with Unix by Don Libes and Sandy Ressler is fascinating reading for anyone interested in Unix in general and scripting history in particular. It covers a lot of the history, interactions, etc. Much in the present section is summarized from this book. Some interesting info is in UNIX FAQ.

As most of the readers know Unix history goes back to 1969 and the famous "little-used PDP-7 in a corner" on which Ken Thompson, Dennis Ritchie (the R in K&R), and others started work on what was to become Unix.

But what is less known and appreciated is the fact that Ken Thompson was also the author of the first UNIX shell and that concepts of this shell greatly influenced the subsequent work of John Mashey and Stephen Bourne. Influenced to the extent that John Mashey actually objected to calling his shell Mashey shell considering it as a direct extension of Thompson shell.

The name "Unix" was intended as a pun on Multics (and was written "Unics" at first, for UNiplexed Information and Computing System). As Ch 9 of the Netizens Netbook  (   On the Early History and Impact of Unix Tools to Build the Tools for a New Millenium) aptly stated:

When AT&T made the decision to pull out of the Multics collaboration, they took the research operating system off their GE 645  computer and put up the GECOS operating system. Though GECOS was adequate  for applications, it was "nowhere near as satisfactory if you were trying  to do things that were technically difficult and imperfectly defined,"  explained Vyssotsky, "which is the main task of research."(23)

 For the pioneering work of Bell Labs research programmers like Ken Thompson and the research purposes of the Labs, an operating system more  like what Multics had promised was needed. Along with the advantages of  immediate feedback which time-sharing provided, the Bell Labs researchers  wanted to continue the ability to work collaboratively which time-sharing  had made possible.

"What we wanted to preserve," one of the creators of Unix, Dennis  Ritchie writes, "was not just a good programming environment in which to  do programming, but a system around which a fellowship could form. We knew from experience that the essence of communal computing, as supplied by remote-access, time-shared machines, is not just to type programs into a terminal instead of a keypunch, but to encourage close  communication."(24)

Ritchie describes how an informal group led by Thompson had begun  investigating alternatives to Multics before the GE-645 Multics machine  had been removed from the Labs.(25) Thompson and Ritchie presented Bell Labs with proposals to buy them a computer so they could build their own interactive, time-sharing operating system. Their proposals weren't acted on. Eventually, Thompson found a little used PDP-7 computer. According to Vyssotsky, the orphaned PDP-7 computer was a machine, "more in the class of a Commodore 64 than the class of a PC-AT."(26)

For the first 10 years, Unix development was essentially confined to Bell Labs and most scripting related work was also done in NJ. The initial versions of Unix were labeled "Version n" or "Nth Edition" (of the manuals) and some milestones in shell history are directly related to particular Unix releases.  Major early Unix implementation were for DEC's PDP-11 (16 bits) which was so tiny by today's hardware standards (typical configuration were limited to 128K memory, 2.4M disc, 64K per-process limit (inc the kernel)) and similar configurations can be found only in palmtop computers and top electronic watches ;-). The fact that they managed to created pretty powerful shells for such a computer is nothing but simply amazing and attests tremendous ingenuity of early creators of Unix extremely well.


Copyright © 1996-2007 by Dr. Nikolai Bezroukov. www.softpanorama.org was created as a service to the UN Sustainable Development Networking Programme (SDNP) in the author free time. Submit comments This document is an industrial compilation designed and created exclusively for educational use and is placed under the copyright of the Open Content License(OPL). Original materials copyright belong to respective owners. Quotes are made for educational purposes only in compliance with the fair use doctrine.

Standard disclaimer: The statements, views and opinions presented on this web page are those of the author and are not endorsed by, nor do they necessarily reflect, the opinions of the author present and former employers, SDNP or any other organization the author may be associated with. We do not warrant the correctness of the information provided or its fitness for any purpose.

Last modified: February 28, 2008