1.1. History
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 of IT 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.
1.1.2. Linus and Linux
Linus Torvalds, a young man studying computer science at the university of
Helsinki, thought it would be a good idea to have some sort of freely available
academic version of UNIX, and promptly started to code.
He started to ask questions, looking for answers and solutions that would
help him get UNIX on his PC. Below is one of his first posts in comp.os.minix,
dating from 1991:
From: torvalds@klaava.Helsinki.FI (Linus Benedict Torvalds)
Newsgroups: comp.os.minix
Subject: Gcc-1.40 and a posix-question
Message-ID: <1991Jul3.100050.9886@klaava.Helsinki.FI>
Date: 3 Jul 91 10:00:50 GMT
Hello netlanders,
Due to a project I'm working on (in minix), I'm interested in the posix
standard definition. Could somebody please point me to a (preferably)
machine-readable format of the latest posix rules? Ftp-sites would be
nice.
|
From the start, it was Linus' goal to have a free system that was
completely compliant with the original UNIX. That is why he asked for POSIX
standards, POSIX still being the standard for UNIX.
In those days plug-and-play wasn't invented yet, but so many people were
interested in having a UNIX system of their own, that this was only a small
obstacle. New drivers became available for all kinds of new hardware, at a
continuously rising speed. Almost as soon as a new piece of hardware became
available, someone bought it and submitted it to the Linux test, as the system
was gradually being called, releasing more free code for an ever wider range of
hardware. These coders didn't stop at their PC's; every piece of hardware they
could find was useful for Linux.
Back then, those people were called "nerds" or
"freaks", but it didn't matter to them, as long as the supported
hardware list grew longer and longer. Thanks to these people, Linux is now not
only ideal to run on new PC's, but is also the system of choice for old and
exotic hardware that would be useless if Linux didn't exist.
Two years after Linus' post, there were 12000 Linux users. The project,
popular with hobbyists, grew steadily, all the while staying within the bounds
of the POSIX standard. All the features of UNIX were added over the next couple
of years, resulting in the mature operating system Linux has become today.
Linux is a full UNIX clone, fit for use on workstations as well as on
middle-range and high-end servers. Today, all the important players on the
hard- and software market each have their team of Linux developers; at your
local dealer's you can even buy pre-installed Linux systems with official
support.
1.1.3. Current application of Linux systems
Today Linux has joined the desktop market. Linux developers concentrated
on networking and services in the beginning, and office applications have been
the last barrier to be taken down. We don't like to admit that Microsoft is
ruling this market, so plenty of alternatives have been started over the last
couple of years to make Linux an acceptable choice as a workstation, providing
an easy user interface and MS compatible office applications like word
processors, spreadsheets, presentations and the like.
On the server side, Linux is well-known as a stable and reliable platform,
providing database and trading services for companies like Amazon, the
well-known online bookshop, US Post Office, the German army and such.
Especially Internet providers and Internet service providers have grown fond of
Linux as firewall, proxy- and web server, and you will find a Linux box within
reach of every UNIX system administrator who appreciates a comfortable
management station. Clusters of Linux machines are used in the creation of
movies such as "Titanic", "Shrek" and others. In
post offices, they are the nerve centers that route mail and in large search
engine, clusters are used to perform internet searches.These are only a few of
the thousands of heavy-duty jobs that Linux is performing day-to-day across the
world.
It is also worth to note that modern Linux not only runs on workstations,
mid- and high-end servers, but also on "gadgets" like PDA's,
mobiles, a shipload of embedded applications and even on experimental
wristwatches. This makes Linux the only operating system in the world covering
such a wide range of hardware.