https://www.multicians.org/unix.html
multics logo Multics > People > Stories
05 Feb 1995
Unix and Multics
* Home
* History >>
+ Features
+ Myths
+ Project MAC
+ Dates
+ Glossary
+ History Proj
+ Last site
* People >>
+ Stories
+ People Pictures
+ Humor
+ Memorabilia
* Library >>
+ Papers
+ Articles
+ Dev Docs
+ Source
+ Simulator
* Sites >>
+ Site Timeline
+ AFDSC
+ ASEA
+ Avon
+ Bell Canada
+ CISL
+ CNO
+ DND-H
+ DOCKMASTER
+ FORD
+ GM
+ Mainz
+ MIT
+ NWGS
+ OU
+ PRHA
+ RADC
+ RAE
+ STC
+ System-M
+ Systeme X
+ UC/ACTC
+ USGS
+ USL
+ VPI
* About >>
+ Changes
+ News
+ Links
+ Image Gallery
+ Site Map
search
[ ] search MENU
History: Features | Myths | Project MAC | Dates | Glossary | History
Proj | Last site |
People: Stories | People Pictures | Humor | Memorabilia |
Library: Papers | Articles | Dev Docs | Source | Simulator |
Sites: Site Timeline |
About: Changes | News | Links | Image Gallery | Site Map |
Tom Van Vleck
The history of Unix is covered in several books. I have read A
Quarter Century of Unix by Peter Salus; he is reasonably accurate
about the history that I know personally (I sent him a few
corrections). I am going to stick to my first-hand knowledge in this
note.
When Bell Telephone Laboratories (BTL) joined with MIT MIT Project
MAC and General Electric's computer department in 1964 to create the
Multics project, BTL contributed some of the finest programmers in
the world to the team. I first met Ken Thompson because he had
written a slick editor for CTSS called QED. It was descended from #
QED on the SDS-940, but was quite different because Ken had added
regular expressions to it, and made many other changes. (Ken had
published a paper on compiling regular expressions into machine code
just before joining the Multics project.) Ken worked on the Multics I
/O switch design. Dennis Ritchie and Rudd Canaday were BCPL jocks.
Joe Ossanna worked on the I/O system design and wrote one of the
original six Multics papers; Bob Morris, Doug McIlroy, Dolores
Leagus, Dave Farber, and Jim Gimpel worked on EPL, Stu Feldman worked
on the I/O switch, Peter Neumann managed the team and worked on file
system design, Brian Kernighan worked on the support tools.
Summary of a session of an unidentified conference in 1968 or 1969,
apparently a panel discussion in which Joe Ossanna described the
status of Multics. (Thanks to Jerry Saltzer.)
The late Prof. Mike Mahoney of Princeton interviewed several Bell
Labs Multics participants; their interviews are available in the
Charles Babbage Institute collection. One of these is "Unix: an Oral
History" by Gordon M. Brown. In this article, he describes the BTL
impatience with Multics progress in 1967-69:
Sam Morgan, director of Computing Science Research at Bell Labs
during this period, expressed his own concerns that Multics research
was going very slowly and wasting effort, saying: "It was becoming
clear to people that Multics was an attempt to climb too many trees
at once. The development was moving more slowly than had been
expected and users were sighing with varying degrees of pungency."
Consequently, Bell Labs pulled out of the project in March of 1969,
leaving GE and MIT to salvage what they could of the system.
According to Berk Tague, it was [VP for Research] Bill Baker who made
the decision to pull the plug, saying "Like Vietnam, he [Bill Baker]
declared victory and got out of Multics." McIlroy echoed these
thoughts, mentioning that Bell Labs "had a million dollars worth of
equipment in the attic that was sitting there being played with by
three people. It became clear that we were a drag on the computer
center's budget." This sudden loss of the Multics system was to have
important consequences on the direction of computing at Bell Labs and
on the creation of Unix.
Although Bell Labs had dropped out of the Multics project in April
1969, those of us in Cambridge kept in touch with individual folks at
BTL, and so we knew that Ken and Dennis were working on a project of
their own. We even knew that it had a joke name, Unix, coined by
Brian Kernighan, that was a reference to Multics. ("One of whatever
Multics was many of" or "Multics without balls.")
Rudd Canaday wrote # interesting blog entries describing his
contributions to Unix, especially the file system.
There had been a highly regarded # ACM SIGOPS sponsored conference on
operating systems at Gatlinburg, Tennessee in 1967. The foruth of
these conferences was held in Yorktown Heights, NY in 1973, and Ken
and Dennis gave a talk there, presenting Unix. Several of us
Multicians went to the conference, and sat with the Bell Labs
ex-Multicians, and applauded the paper, which was and remains one of
the best and clearest pieces of writing in the computer field. There
were some other great papers at that conference, but as I remember,
the Unix paper won the best paper award.
I was working for MIT in those days, and one thing I did was to
organize an MIT PDP-11 users' group and encourage them to look into
Unix. The idea of a free, non-vendor-supported operating system was
new to them. I invited Dennis Ritchie to come up and talk to them.
We went to lunch afterward, and I remarked to Dennis that easily half
the code I was writing in Multics was error recovery code. He said,
"We left all that stuff out. If there's an error, we have this
routine called panic(), and when it is called, the machine crashes,
and you holler down the hall, 'Hey, reboot it.'"
In 1978, Honeywell chose me to give a speech at a conference in
Paris, celebrating the 20th anniversary of INRIA. My talk was titled
"An Example of Industry-University Cooperation: Multics." The
conference was in the Paris UNESCO building, attended by lots of
French scientists. There were little earphones for simultaneous
translation at every seat. John Shoch from Xerox PARC spoke before
me, and talked about some of the neat things they were doing at Xerox
with Unix systems.
After I gave my speech, there were questions from the audience.
Someone asked a question in French, which was translated to me as,
roughly, "You say that Multics has only 25 sites. There are already
1500 Unix sites. How does that make you feel?"
I said, "I feel proud. It was a privilege to work with Ken Thompson
and Dennis Ritchie on Multics, and I am glad to see Unix having the
success it deserves." I said more, about the difference in goals of
the systems, and about how much easier it was to do things the second
time.
Afterward the local Multicians told me my questioner was one of an
anti-Multics faction in Bull. It occurs to me now that he was
probably more likely pro-Unix than anti-Multics, but in those days
there was a lot of fear and with-us-or-against-us thinking, and
Multics was fighting for its life as usual. I don't think my answer
satisfied either faction.
When I finally got a chance to use Unix in 1987, on an Apollo
workstation at Tandem, I felt instantly at home. The ls command,
control arguments, shell scripts... lots of things felt so similar to
Multics that I could go right to work, consulting man pages
occasionally to find out what the Unix name of something was.
There were technical borrowings in both directions. (This was before
look-and-feel lawsuits and similar foolishness.) Unix has many
features that Multics and CTSS had first, and many are obvious
translations of Multics features.
Unix Multics
ls list (ls)
cp copy (cp)
pwd print_wdir (pwd)
cd change_wdir (cwd)
mail mail
if if
login login (l)
logout logout
who who
man help
The first time I remember the name "shell" for the function of
finding and running a command was in a Multics Design Notebook
document by Louis Pouzin of MIT Comp Center. See # The SHELL: A
Global Tool for Calling and Chaining Procedures in the System and #
RUNCOM: A Macro-Procedure Processor for the 636 System in the Multics
design notebook. (Louis had written a predecessor program called
RUNCOM for CTSS. The Multics equivalent is #exec_com.) These memos
conained the idea of having the command processing shell be an
unprivileged user program that parsed a command line, located a
program to run, and executed it with arguments. Later documents in
the Multics System Programmer's Manual by Doug Eastwood of BTL
described the proposed shell. There, commands that return a value
into the command line were called "evaluated commands". Later,
evaluated commands were renamed "active functions," the name used in
Calvin Mooers' TRAC language.
The Unix roff, troff, and nroff commands are direct descendants of
Jerry Saltzer's # CTSS RUNOFF command, used for Multics
documentation. Bob Morris and Doug McIlroy ported that program from
MAD to BCPL and then got the #BCPL runoff up on Multics when the IBM
7094 was going away; that code was the ancestor of the machine
language roff that Ken and Dennis wrote for the fledgling Unix.
There was some influence in the other direction in the 70s and 80s.
For example, Multics "master directories" work very much like Unix
mount points.
For more information, see
* Dennis Ritchie's # "The evolution of the UNIX time-sharing
system," Bell System Technical Journal 63, 8, Oct 1984.
* The # IEEE Computer interview with Ken Thompson.
* # In their own words: Unix pioneers remember the good times
NetworkWorld article by J D Sartain (2013)
Update: Unix at 50
The 50th anniversary of the creation of Unix has led to multiple
articles. One is Richard Jensen's # "Unix at 50: How the OS that
powered smartphones started from failure". (His article is based in
part on interviews that the late Prof. Mike Mahoney conducted with
Unix creators before he died in 2008.)
Such articles often say "Multics failed; the Bell Labs computer guys
then invented their own system, Unix, and Unix succeeded." That's
tidy, but not the whole story.
In March 1969, Bill Baker pulled the plug on Bell Labs participation
in the Multics project, not on Multics. Multics development
continued, vastly improved the operating system, and led to the sale
of a lot of high-end systems until Bull terminated development 16
years later.
Multics didn't fail: it accomplished almost all of its stated goals.
Unix succeeded too, solving a different problem.
03/21/93, updated 01/25/95, 02/05/95, 01/23/15, 04/29/16, 12/07/16,
12/13/16, 09/03/19
Next story
People links: Stories | People Pictures | Humor | Memorabilia
Home | History | People | Library | Sites | About | Site Map |
Changes
[ ][mail to editor]