Transcript of The UNIX Industry: A Brief History
Editor's note: Dr. Kelly gave this talk
at the 1995 Spring Unite Conference, a users group meeting for Unisys
customers. We've included both the handout and a transcript of
the talk. We've also edited the transcript slightly to remove a few
of the unfortunate artifacts of speech, such as sentences that
stop in the middle, run on sentences, and the use of wrong words,
but we've striven to maintain the sound of the spoken language.
|
The beginning of the talk was missing from the tape, and needs to
be recreated.
...And now, twenty-five years later, I find myself thrown headlong
into this UNIX business and Open systems, as I'm sure many of
you have been. It was a fascinating journey back to find out what
happened over those twenty-five years that I've been involved
with Unisys mainframe technology. That's really what this presentation
is about: a journey back. I've tried to put the events that
took place in UNIX in the context of the rest of the technological
advances that happened over those twenty-five years. So I think
you'll find it an interesting journey over time to see how things
evolved the way they did.
There are those at Bell Labs and other places that consider UNIX
to be the most important invention that Bell Labs or AT&T
came up with besides the transistor. And if you think back on
it, and think back on the impact of UNIX on the computing industry,
it is probably one of the most significant advances in software
technology that ever occurred. It's really fascinating to see
how and why that all occurred and to see the ramifications that
it's had on the industry today. UNIX had very humble beginnings,
but it has a very big impact on what we're all doing today.
Thompson is really the guy who is primarily attributed with developing
UNIX. He's an employee of AT&T-Bell Labs at the time-and still
is. Dennis Ritchie was the co-developer. It was really those two
guys working together who developed UNIX. Actually, they still
work together, still develop software, still work in research
at Bell Labs, and I'll say a little more about that at the end
as we go through the chronology.
Another guy that is sometimes lumped in with Thompson and Ritchie
in the development of some of the preliminary ideas is Rudd Canaday,
but you don't see his name much. It's really Thompson and Ritchie.
Bill Joy is the individual known for BSD, Berkeley Software Distribution,
and he is the guy who was in charge of releasing and developing
BSD and coordinating it from Berkeley. He went on to great riches
and great fame as a co-founder of Sun Microsystems. He doesn't
get the fame and glory that Scott McNeilly does, but he gets the
money, which is just as good.
Borne wrote the Borne shell (SH), Korn wrote the
Korn shell (KSH). Steve Johnson was very involved in writing a
lot of the early utilities associated with UNIX. Kernighan was
involved in various utilities, but was primarily involved in the
C Language with Ritchie-as was Plauger, also a C language guy.
Plauger wrote the first commercial C compiler. Interestingly enough,
all these guys are still out there doing related things in the
UNIX business.
I'm
going to take you through this chronologically. It won't be
as boring as it looks, but we're going to go through it year by
year. We're going back to the source, the births of Dennis Ritchie
and Ken Thompson. I don't know if anyone's taken it quite this
far back, to this level of detail, but it's not all that detailed
so don't panic. It's interesting just to note what age these guys
are, when they appeared in the history of computing,
and to put them in the context of their times.
Perhaps
what is even more interesting, besides where were these
guys were born, is what these guys look like. That in itself is
fascinating. You might think these guys are the Wright brothers,
but in fact, these are the guys. They fit
some of the stereotypes we have about computer people, but they're
two very bright, very creative guys who created this UNIX business
and have been instrumental in seeing that it evolved the way it
did. When we come to 1995, when we finally get that far, I'll
tell you what they're doing right now.
It's interesting to look at some of the accidents in history that
cause things to occur the way they do. In the case of UNIX, the
stage was set by events going back at least as far as 1945. There
were four or five things that happened over a period of years
that made it possible for the whole UNIX thing to happen by the
grass roots method that it did.
In 1945, AT&T was involved with an anti-trust case with the
federal government. At the time, Western Electric owned half of
Bell Labs and AT&T owned the other half of Bell Labs-and AT&T
owned all of Western Electric. Why all that was done that
way I have no idea, but that was the way it was. The federal government
felt that AT&T was monopolistic, so they pushed them in 1956
into a consent decree in which AT&T agreed to make all it's
patent technology licensable to the public. They were also restricted
to the communications business. As a result, they couldn't be
in the computer business. This big event is the reason AT&T
never commercialized UNIX along the way-it wasn't allowed to.
Instead, it stayed a research project and was disseminated the
way that it was. Of course, this wasn't part of Thompson's and
Ritchie's game plan, but it's all part of the scenario that played
out.
So what were some of the other events that were taking shape back
in that same period of time? In '47 Mauchly and Eckert where doing
the Univac thing, which made some of our jobs possible. Ten years
later, an ex-Univac employee, Bill Norris, started Control Data
Corporation. Two years after that Ken Olsen started Digital Equipment
Corporation with $70,000 in venture capital money and in the first
year sold 53 systems. It's interesting to see what Thompson and
Ritchie look like compared to what Mauchly and Eckert look like.
These guys look like self-respecting businessmen.
There's an interesting contrast in generations there. So there's
four of our pioneers that would kind of pair off to make history
for us.
One of the other significant events that was taking place at this
same time was a project going on at MIT called Project MAC (Multiple
Access Computers). They were doing research on time-sharing systems,
trying to allow multiple users to interactively use a computer
system. So time-sharing and multi-programming--all that multi-user
stuff--is really evolving and taking place around 1963 and in
the early '60's.
As an offshoot of that, some of the big companies came in and
said this is pretty neat technologies, let's try to commercialize
that. So AT&T, GE, and IBM formed a partnership with MIT and
Project MAC to try to develop a time-sharing operating system
called MULTIX. MULTIZ was meant to be a large multi-user system,
but it turned out that this large multi-user system could only
support a total of one or two users interactively which isn't
exactly what IBM and AT&T had in mind when they started out
on the project. (GE ultimately was able to turn MULTIX into a
viable commercial product.)
Not too long after that, in 1969, AT&T Bell Labs said enough
is enough, we're pulling out of this Project MAC sinkhole. Around
that same time, these two guys, Thompson and Ritchie, were finishing
up some education requirements. Here's another Berkeley connection:
Ken Thompson got a Masters Degree in Electrical Engineering from
nowhere else but Berkeley so that's the link back to why the software
ends up back at Berkeley and we end up with a thread of UNIX going
through the Berkeley route.
Dennis Ritchie was working and finishing up a degree in Mathematics
at Harvard, and I don't really know all the details, but I guess
he got a vision at the end of his course and dissertation work
and decided there was no point in taking the final qualifier exam,
so he decided not to get the degree. He ended up without a degree,
without his Ph.D., decided to bag it and just go to work.
So we have these two guys, Thompson and Ritchie, who go to work
for Bell Labs thinking they're going to work on this fantastic
new operating system called MULTIX. So they're all fired up and
excited and do in fact spend a little time on it but within months
of when they get there, the plug gets pulled and they don't have
a project. Well, no problem, because Thompson figures he could
have done it better himself anyway, which is in fact the case.
So he says, I'm going to write a multi-user system.
One of the main motivations for Thompson embarking on this project
was that he needed a decent operating system to run his game called
Space Travel on, so instead of optimizing Space Travel he decided
to write a new operating system. He jumped right on it.
There was a one month period, the story goes, when his wife was
away from home on vacation. With all the extra time he could
really focus on this thing, he basically wrote UNIX in one month.
He wrote a kernel, a shell, a file handling system, and one of
the other utility sets and had a working operating system. He
did this on a 4K machine with 18-bit words and that's what UNIX
ran on originally. You hear the folklore of Bill Gates writing
his 4K basic compiler, well Thompson wrote a 4K operating system--a
4K multi-user operating system--which is pretty impressive.
So the four components of the original system were the kernel,
shell, an editor, and an assembler. So he said, well we'll do
the kernel in one week, the shell in another, then we need an
editor of course, so we'll spend a week on that, then we need
to have something that can assemble the program, so we'll do another
week on that. Think how much time you invest nowadays to put together
projects like that. It is unbelievable what a few, or one, really
smart person can do in a short period of time!
This is all happening in 1969-1970. I've got another tidbit here
about DEC. This is the year Digital Equipment Corporation sells
250,000 PDP-11s. So that's another key event that's going to make
this all possible: the minicomputer explodes on the market place.
They're very cheap, and DEC makes them easily available to Universities
by giving them away. So now the universities have access to real
computing power. Meanwhile, we've got AT&T who isn't going
to be allowed to sell this operating system that they've developed,
so they end up giving it away to the universities as well.
It's interesting that all these events had to happen and you could
have never planned it. You couldn't have said at the outset, we're
going to make this whole thing turn out that UNIX is the most
innovative, influential, operating system in the history of computing.
And it really is. If you look at all the other operating systems,
there are many ideas that are derived from UNIX. Look at the DOS
commands. DOS took baby elements out of UNIX--it's just ideas
completely extracted from UNIX.
In 1971 they published their first users manual and began the
tradition of calling the releases of UNIX after the users manual,
which is a neat concept. Rather than coming out with a new release
and saying we've go to document it, they just accumulate enough
stuff, document it and decide to have a new release. This is
a nice way to do it--you don't have to wait for the documentation,
because you don't have to wait for the release to get the documentation.
The original version of UNIX was written in PDP assembly language.
In 1972 it was rewritten in a language called C, which is another
fundamental breakthrough in the whole process--they developed
this new programming language just so they could write the operating
system in it.
(C is a high level language you're all probably somewhat familiar
with.) So UNIX was, if not the first, one of the first, operating
systems written in a high level language. It disconnected itself
and positioned itself for affordability like an application program
as opposed to being written in detailed assembly language. Of
course at this time, they still took advantage of a lot of the
idiosyncrasies of the PDP architecture.
It's always interesting to see what else was going on at the time
all this happened, to see these event in the context of history.
It turns out that 1969 was a watershed year for technological
advances. Man landed on the moon. The first successful open-heart
transplant surgery took place. I got my masters degree. Nixon
became president. Yasser Arafat and the PLO came on the world
scene. Golda Maier at 71 is sworn in as Israel's 4th Premiere.
Concord makes it's first supersonic flight.
Artificial transplant, Charles DeGall, anti-war activists, men
on the moon, Woodstock, Khadafi's early days. Free love and sex
conferences in Copenhagen. And another super big one, this is
the same year that the Internet gets started. The Internet is
another key piece to the whole puzzle. The fact that the Internet
and the interconnection to the universities all took place at
the same time is the thing that made this UNIX spread as well.
Digression is response to a question from the audience:
The trivia behind the name UNIX is always interesting. MULTIX
is the name that came out of Project MAC. These guys being the
computer people that they were, called it UNIX, which is a pun
on eunuchs, spelled differently. The pun there is that UNIX was
supposed to be a multi-user system but MULTIX really turned out
to be a single-user system, so they're going to write a real multi-user
system and call it UNIX. And to jazz the name up somewhere along
the way someone changed the last letter to an x.
We'll jump ahead a little bit to 1973 and talk a little about
some of the innovations. One of the revolutionary ideas in UNIX
is this concept of pipes, where data can just move from program
to program. Other operating system never really had this idea.
Pipes allow you to write programs that do only one thing and then
interconnect them very easily to perform a larger task. So the
output of one program can immediately be fed in as input into
another program without having to reformat, transform, manipulate
and fool around with the data.
Digression is response to a question from the audience:
Here's a good quote from Dennis Ritchie where he says "UNIX
is simple and coherent, but it takes a genius, or at any rate
a programmer, to understand and appreciate it." And in fact
you might say a mathematician, because he's basically got a Ph.D.
in mathematics from Harvard, which is another indication of why
the languages are so terse and precise. These guys wrote it for
themselves. That's the fundamental thing, they wrote UNIX for
themselves, not for anybody else. And now, 25 years later, we
are critiquing it based on a completely different set of standards.
It was also in 1973 that Thompson gave the first public presentation
on UNIX. They'd been doing this research for four years and had
developed a lot of experience with it, so in 1973 they wrote their
first paper.
In 1974, that paper that Thompson had delivered orally was published
as part of the Communications of the ACM, which gave it a lot
of visibility in the academic community because the Communications
of the ACM was the most prestigious publisher, at least at that
time, of academic stuff in the computing field. Some people at
Berkeley latched onto it, which is really no surprise, he's one
of their own so to speak--Thompson had graduated from Berkeley,
and I'm sure he still had friends and faculty and people he still
had relationships with still there. So the first copy of UNIX
goes out to the University of California at Berkeley. That was
actually the fourth so-called release of UNIX.
Everyone knows Kernighan and Ritchie's C Programming book. If
you've been involved in UNIX, it's sort of the bible for the C
programming language. But the foundation for that particular book
and the style of that book was actually developed by Kernighan
and Plauger. These two guys set the style for C programming.
It was really Plauger more Kernighan , because Plauger had written
many of these programming style books and other people outside
of Bell Labs at this point in time picked that style up and used
it. That's the style that Kernighan and Ritchie used when they
wrote the C programming book as well.
At this point, Thompson takes a sabbatical to where else but back
to Berkeley. So he takes a year off from Bell Labs and goes back
to do research, which I'm sure is just another year of working
on UNIX at Berkeley instead of working on UNIX at Bell Labs. The
advantage there is he's working with a new group of people, he's
got new mental stimulation and he's got ideas coming in from other
universities that he probably didn't have when he was at AT&T.
So there's always been a close synergy between the two organizations.
Then it was in '76 that another one of these books came out by
Plauger and Kernighan on software tools, which is in the same
style as the C programming language book. Ethernet was invented
in 1976 and some user groups were formed. Really the first users
group was formed in '77 and not surprisingly, it was formed as
a subgroup within DECUS, because at this point in time the only
machine that UNIX ran on was Digital Equipment Corporation's PDP
systems. Those were the only machines and they proliferated throughout
the university and UNIX proliferated along with it.
By this time, the Internet, then called the Arpanet, was cranking
pretty well and was an effective means of exchanging ideas and
what not. So all that stuff happening at the same time synergistically
encouraged lots of activities.
In '78 Berkeley makes their first release of the software. They
basically released it to other universities who had participated
in making improvements to it. And coincidentally, this is another
quirk of fate, this guy Bill Joy was at Berkeley getting his Ph.D.
and he happened to get the job of being in charge of this particular
lab and having responsibility for this UNIX stuff. It turned out
to be a pretty fortuitous crossing of events because he subsequently
left Berkeley and co-founded Sun Microsystems.
It was in '78 that the first non-DEC UNIX port was done to an
Interdata 832, another minicomputer. But in the first ten years
of UNIX's existence it only ran on Digital Equipment Corporation
machines. That has to be one of the greatest missed opportunities
of all time. DEC never capitalized on this. In fact, when AT&T
got a VAX computer, an upgrade from the PDP system, Thompson and
Ritchie refused to port it, or move it up to the VAX system, because
Digital wouldn't support and endorse UNIX.
The point that I wanted to make earlier, which obviously I passed,
is that the first application that ran on UNIX was an AT&T
patent application, managing patent data within AT&T. They
got a new PDP system for that patent application but by the time
they got that...
Editor's note: A small portion of the talk was
lost during recording as the cassette changed sides.
...A Series or 2200 system, keep the OS. I don't really need it.
Just give me the hardware. But that's an interesting tidbit I
forgot earlier. So they never did install the OS on it.
It was also at this time that Plauger formed a company called
Whitesmiths--which I think is the opposite of blacksmiths--and
sold the first commercial C compiler. Santa Cruz Operations started
operations as well at that time.
In 1979 the seventh edition of UNIX comes, which is the last one
before they changed to the system 5 kind of release numbers and
notations. It's the first time Bell Labs ever put a TM on something.
They recognized something of value, so they put a TM on the UNIX
name and they called it the UNIX time sharing system. Which is
really what UNIX is, a multi-user time-sharing system. They have
still not registered a patent or a trademark on UNIX. I don't
know exactly why.
The UNIX users group that formed--USENIX--was really an academic
group. All these universities had source license agreements and
in order to participate you had to have such a license. It was
also in 1979 that there started to be some commercial users of
UNIX, but they couldn't attend the users group meeting because
they didn't have source licenses. They were just commercial users
and had object code versions, not source code versions. So that
formed the stage for some competition in the users group area.
In 1980, the BSD version goes back to Bell Labs, who incorporate
many of the ideas back into UNIX. As a matter of fact, many of
the innovations for UNIX came via the Berkeley channel back into
Bell Labs. It was in 1980 that Berkeley got a DARPA contract.
(DARPA was the organization that funded the Arpanet and ultimately
the Internet.) This group at Berkeley called the computer system
research group was formed and that's the one that tends to be
known and associated with UNIX at Berkeley.
1980 is also the year that SCO decides to become a distributor
for Microsoft XENIX. And a point I didn't make in '79 is that
in '79 Microsoft was a distributor and reseller of XENIX as well,
before they really pushed with DOS. DOS didn't really come on
the scene until '81. So they started with UNIX as their so-called
robust operating system they were going to push, and then of course
the IBM PC came out and they latched onto DOS, pushing UNIX to
the background. They said, we've got a pretty good thing going
here so we'll stick with it. It was in '81 that the IBM PC came
out and Microsoft's interest in DOS replaced any real interest
or focus they saw in the UNIX market.
In '82 Bill Joy leaves the Berkeley group and co-founds Sun Microsystems.
AT&T makes its first commercial release of UNIX. HP gets in
the business with HP-UX on its 9000 work station. DEC releases
a version of UNIX called ULTRIX and IBM has one called CPIX.
In 1983, Thompson and Ritchie receive industry recognition by
being award the ACM Turing award, from which that quote that I
started out with was taken. The Turing award is probably the
most prestigious award you can receive in the academic computer
science community.
In 1984, there was an article in fortune magazine stating that
of the 750 universities giving computer science degrees, 80% had
UNIX licenses. It gives you an idea of how pervasive UNIX was
in the academic community and how it's not so surprising that
when all these people graduated from college, that's what they
knew. That's what operating systems were, that's what they knew
how to work. They were comfortable with it. They weren't intimidated
by the arcane commands and so on.
If you just add up the number of computer science graduates and
people that were exposed to UNIX before they graduated from college,
it's anywhere from 1/4- to 1/2- million people. That's a lot of
brainwashing, a lot of grass roots influence, to "own"
these graduates who have formed the foundation of our work force
throughout industries. So it's not so surprising that UNIX has
been as pervasive as it has. Of course that's changing now with
DOS, with Microsoft, but they don't teach DOS as an operating
system like they're going to teach in a university, so UNIX is
still going to be the operating system of choice to teach multi-programming,
multi-tasking, memory management, and all the complexities that
one associates with an operating system that don't really exist
in DOS. Maybe that will change with Windows but we'll have to
see.
X/Open was formed in 1984 and X/Open is now the company that brands
and certifies whether or not an operating system is really a UNIX
operating system and can be called UNIX.
Digression is response to a question from the audience:
So what is UNIX? Obviously UNIX is an operating system, that's
what we think it is, but it's actually a Trademark. UNIX is a
set of four letters that is a trademark currently owned by X/Open
company in the UK. They didn't start trademarking it until 1979,
when they put the TM, and didn't register it until 1985. In fact,
just for kicks I had my attorney do a trademark search on it and
look up the lineage of the dates that things happened. May 13,
1985 the mark was registered for computer hardware. They stated
that the mark was first used in December 1984. So they initially
saw the value as a mark to be used on equipment.
June 24, 1985 they made another filing for the mark under computer
software. The first date of usage they cited there was 1972. So
they jumped back in time. It's pretty amazing that you can do
that. That that many years can elapse and you can register the
mark even though it's been out there and been used. Then there
were a series of transfers between companies I'll highlight in
a bit, but the upshot of all that is that the mark was given by
Novell to the standards organization called X/Open in the UK and
that the standards organization now has responsibility for certifying
that a particular operating systems meets a set of standards that
can be called UNIX. So they license the right, and qualify the
right for a version of an operating system to be called UNIX.
To put things into perspective for us Unisys people, 1986 is the
year that Unisys was born and another bit of trivia, 1985 is the
year Burroughs celebrated it's 100th year of existence. So Blumenthal
really did a number on a company with a lot of history and a lot
of success. So Burroughs ceased to exist after 100 years, Blumenthal
made a lot of money, and subsequently retired to France. The
rest is history with Sperry and Burroughs trying to survive as
a company called Unisys and recreate themselves in this open market.
I didn't find any events in 1987--it must have been a slow year.
The UNIX wars were fast and furious and hard in the late 80's
and early 90's. Everyone was jockeying for position, trying to
get market share. AT&T recognized that Sun was a market leader
so they bought 20% of Sun and wanted to form an alliance and build
a partnership with Sun. Of course that made all the other guys
completely panic so the other companies formed another consortium
called The Open Software Foundation (OSF). That was IBM, DEC,
HP, and a few lesser players. They said we're going to form ours
and build our UNIX and they battled it out like that for a while.
There's another interesting development in '88 with David Cutler,
who was the original designer and developer of VMS, Digital's
operating system for the VAX. He was hired by Microsoft to build
a new operating system for Microsoft that became Microsoft Windows
NT. They also started looking at this mock kernel as a vehicle,
or as a basis, for some of their development. Subsequently, they
did adopt the mock kernel, which was also adopted by OSF and has
been adopted by other organizations as the nucleus for their operating
systems.
In 1989 the C language was standardized by ANSI, HP became the
second largest shipper of UNIX workstations behind Sun, and Microsoft
confused SCO with some money. I don't what ever happened with
that, if they still own part of SCO or not. So the industry is
still reacting to this AT&T and Sun alliance. OSF is trying
to build a foundation to compete with them. One of the things
that has come out of OSF which is certainly significant is the
Motif user interface which is the basis for X/Windows and that
came out at MIT.
It was in 1990 that UNIX International, which was a subsidiary
of AT&T, released SVR4 which is still the standard UNIX version
that's out there now, so that's been around quite a while and
everyone is just sort of tweaking and modifying and revising that
for their hardware. But that particular version of UNIX, which
is an amalgamation of System 5, BSD, and XENIX, is by far and
away the most standard version of UNIX in the commercial market
place.