1.1.1. UNIX
In order to understand the popularity of Linux, we need to
travel back in time, about 30 years ago...
Imagine computers as big as houses, even stadiums. While the
sizes of those computers posed substantial problems, there was one
thing that made this even worse: every computer had a different
operating system. Software was always customized to serve a
specific purpose, and software for one given system didn't run on
another system. Being able to work with one system didn't
automatically mean that you could work with another. It was
difficult, both for the users and the system administrators.
Computers were extremely expensive then, and sacrifices had to
be made even after the original purchase just to get the users to
understand how they worked. The total cost per unit of computing
power was enormous.
Technologically the world was not quite that advanced, so they
had to live with the size for another decade. In 1969, a team of
developers in the Bell Labs laboratories started working on a
solution for the software problem, to address these compatibility
issues. They developed a new operating system, which was
-
Simple and elegant.
-
Written in the C programming language instead of in assembly
code.
-
Able to recycle code.
The Bell Labs developers named their project "UNIX."
The code recycling features were very important. Until then, all
commercially available computer systems were written in a code
specifically developed for one system. UNIX on the other hand
needed only a small piece of that special code, which is now
commonly named the kernel. This kernel is the only piece of code
that needs to be adapted for every specific system and forms the
base of the UNIX system. The operating system and all other
functions were built around this kernel and written in a higher
programming language, C. This language was especially developed for
creating the UNIX system. Using this new technique, it was much
easier to develop an operating system that could run on many
different types of hardware.
The software vendors were quick to adapt, since they could sell
ten times more software almost effortlessly. Weird new situations
came in existence: imagine for instance computers from different
vendors communicating in the same network, or users working on
different systems without the need for extra education to use
another computer. UNIX did a great deal to help users become
compatible with different systems.
Throughout the next couple of decades the development of UNIX
continued. More things became possible to do and more hardware and
software vendors added support for UNIX to their products.
UNIX was initially found only in very large environments with
mainframes and minicomputers (note that a PC is a "micro" computer). You had to work at a university,
for the government or for large financial corporations in order to
get your hands on a UNIX system.
But smaller computers were being developed, and by the end of
the 80's, many people had home computers. By that time, there were
several versions of UNIX available for the PC architecture, but
none of them were truly free and more important: they were all
terribly slow, so most people ran MS DOS or Windows 3.1 on their
home PCs.