UNIX emerged in the late 1960's out
of the work of Ken Thompson and Dennis Ritchie who were
trying to solve speed and memory limitations of the MULTICS
operating system for which they were writing a computer
game called "Space Travel".
|It is common to say that
Thompson and Ritchie developed UNIX. However, in actuality, they were
simply the parents of UNIX. In reality, the development of
UNIX was due to an international collection of thousands of developers.
The saying that it takes a village to raise a child
is certainly true for baby UNIX.
Though "Space Travel" was swept into the
gutter of history, the operating system that they had written as
a utility to make their game run more efficiently changed
the future of computing.
Realizing the potential of the
prototype UNIX operating system, Bell Labs in Murray
Hill New Jersey (yes, something of note did come from
New Jersey), decided to give
Ritchie and Thompson a brand new DEC computer on which to develop
their operating system, and of course, play their
game. Bell Labs also provided research and development
funds so that Ritchie and Thompson could clean up
At the time, UNIX was quite a
revolutionary concept. Most computers of the era
ran single jobs in a batch mode. Programmers
fed computers a series of punch cards (woe be to the
programmer who dropped a box of cards) which the computer
read and interpreted. When one programmer had run
her set of cards, the next could run her own.
The problem was that this system
did not utilize the real power and speed computers had
at their disposal. What was worse was that
programmers had no easy way of working together. Specifically,
they could not share files, data or programs. Each programmer
was isolated to her own set of punch card instructions.
After reading this article, John Bender wrote me an email that contained the following point
that I thought interesting enough to share with you. "You have written, 'Each programmer was
isolated to her own set of punch card instructions.' You have fallen into the easy pit of
taking political correctness to the point where you have made in incorrect assertion on
history. The fact remains, that in the 1960's, there would have been an insignificant
number of female programmers, if any, to warrent spreading the image of women taking their
punch cards to the computer."
UNIX, which built upon the foundation
erected by MULTICS, implemented a "time-sharing" strategy that
allowed multiple users to interact with the computer via
remote terminals simultaneously.
can do a bunch of things simultaneously because they actually
contain several processors. However, most computers only
have a single processor. Thus, in truth, they can only do one thing
at a time. So how could UNIX perform multi-tasked
Well, time-sharing is based on the idea that most
computers have a lot of extra time on their hands because
they are so much faster than the people who use them.
the following example: Suppose you are using a word processor to
type in a tutorial on UNIX and you stop to think about what you are
going to say next. Well, what is the computer doing while you are
sitting there thinking? Well, it remains idle. What a waste of
all that CPU power! Even if you wrote your tutorial in a stream of consciousness
mode, you could never type fast enough to keep up with the computer
that processes reality in milliseconds. In the time it takes you to
type a key on the keyboard, the computer could have run hundreds of
circles around you.
A multi-tasked system takes advantage of this situation
by allowing the computer to serve multiple tasks at one time. While
you pause to think, the computer can attend to other chores. One
of the goals of the operating system is to manage this sharing.
The operating system makes sure everyone gets an appropriate amount
of attention from the hardware. Fortunately, the computer is so fast
that even with a dozen users, none can tell.
By winter of 1972, UNIX was still a
research project running on a handful of computers at Bell
Labs. However, in 1973 two events combined to initiate the UNIX
For one, Ritchie and Thompson rewrote
the kernel from assembly language to C. The C language
provided a high degree of portability and was far more
flexible than assembly language which corresponded to
the specific computer it needed to talk to. It was also far
easier for people to program in C rather than assembly.
This portability made UNIX very
attractive to universities and government organizations
that needed a standardized system to work in heterogeneous
environments. Fortunately, since AT&T was not in the
software business, it did not market the product actively.
Instead, it provided the operating system at incredibly cheap
prices. As a result, UNIX became the norm, conquering some
80% of the market.
AT&T was one of the first pioneers in modern day, post-industrial
information age productization. The idea was that schools
got the product cheap ($100.00 in 1979) and everyone else paid
a wad ($21,000 in 1979). The idea was that schools would use the
system and that the students would grow accustomed. The result of this
would be that when the students graduated, they would demand
UNIX implementation when they reached the working world.
What is more, since AT&T distributed source
code, they could count on hours of free development time from
curious students. The same types of strategies have been used
to grab market share by such companies as Microsoft and
Netscape in recent years. Many times, giving away your
software for free is the best way to make money.
UNIX is still the mainstay of
universities and government organizations today
In 1984, of course, AT&T was broken up and
began to look at UNIX as a viable product. However, by then
the developer community was extended beyond the walls of Bell
|UNIX was built
in the spirit of a long-standing and deeply important
philosophy of software design, "Good programmers write great
software. Great programmers steal great software.
One of the most
famous software houses developed at the Univesity of California
at Berkeley where Ken Thompson, and his new partner Bill Joy
(who would later help found Sun Microsystems),
were working. Thompson and Joy put out scores of standard
UNIX systems and tools over the next decade including the
BSD UNIX strains, the C Shell and the vi editor.
|"In the early days, every UNIX
system was distributed with a complete set of source
code and development tools. If UNIX had been a car, this distribution
method would have been the same as every car being sold with a complete set
of blue prints, wrenches, and an arc-welder.... Now imagine
that nearly all these cars were sold to engineering schools. You might
expect that the students would get to work on their cars and that soon
no two cars would be the same. That's pretty much what happened
to UNIX" - John Levine in UNIX For Dummies.
Since then, UNIX has grown immensely,
incorporating many new modifications, strains, applications
and hardware. With the advent of LINUX, UNIX even made it
into the PC world.
Whatever the case, UNIX still maintains
its dominance in universities, government and large companies
with serious processing demands.
Of course, as we all know, the best way to
learn about something, especially a bit of technology, is to
start futzing with it. So let's take a look at a UNIX system
and see what things we can do!
Table of Contents