a. In The Beginning
It was 1991, and the ruthless agonies of the cold war was gradually
coming to an end. There was an air of peace and tranquility that prevailed
in the horizon. In the field of computing, a great future seemed to be
in the offing, as powerful hardware pushed the limits of the computers
beyond what anyone expected.
But still, something was missing.
And it was the none other than the Operating Systems, where a great
void seemed to have appeared.
For one thing, DOS was still reigning supreme in its vast empire of
personal computers. Bought by Bill Gates from a Seattle hacker for $50,000,
the bare bones operating system had sneaked into every corner of the world
by virtue of a clever marketing strategy. PC users had no other choice.
Apple Macs were better, but with astronomical prices that nobody could
afford, they remained a horizon away from the eager millions.
The other dedicated camp of computing was the Unix world. But Unix itself
was far more expensive. In quest of big money, the Unix vendors priced
it high enough to ensure small pc users stayed away from it. The source
code of Unix, once taught in 1universities courtesy of Bell Labs, was now
cautiously and not published publicly. To add to the frustration of PC
users worldwide, the big players in the software market failed to provide
an efficient solution to this problem.
A solution seemed to appear in form of MINIX. It was written from scratch
by Andrew S. Tanenbaum, a dutch professor who wanted to teach his students
the inner workings of a real operating system. It was designed to run on
the Intel 8086 microprocessors that had flooded the world market.
As an operating system, MINIX was not a superb one. But it had the advantage
that the source code was available. Anyone who happened to get the book
'Operating System' by Tanenbaum could get hold of the 12,000 lines of code,
written in C and assembly language. For the first time, an aspiring programmer
or hacker could read the source codes of the operating system, which to
that time the software vendors had guarded vigorously. Students of Computer
Science all over the world poured over the book, reading through the codes
to understand the very system that runs their computer.
And one of them was Linus Torvalds.
--------------------------------------------------------------------------------
b. New Baby in the Horizon
In 1991, Linus Benedict Torvalds was a second year student of Computer
Science at the University of Helsinki and a self-taught hacker. The 21
year old sandy haired soft-spoken Finn loved to tinker with the power of
the computers and the limits to which the system can be pushed. But all
that was lacking was an operating system that could meet the demands of
the professionals. MINIX was good, but still it was simply an operating
system for the students, designed as a teaching tool rather than an industry
strength one.
At that time, programmers worldwide were greatly inspired by the GNU
project by Richard Stallman, a software movement to provide free and quality
software. The much awaited Gnu C compiler was available by then, but there
was still no operating system. Even MINIX had to be licensed. Work was
going the GNU kernel HURD, but that was not supposed to come out within
a few years.
That was too much of a delay for Linus.
In August 25, 1991 the historic post was sent to the MINIX news group
by Linus .....
From: torvalds@klaava.Helsinki.FI (Linus Benedict Torvalds)
Newsgroups: comp.os.minix
Subject: What would you like to see most in minix?
Summary: small poll for my new operating system
Message-ID: <1991Aug25.205708.9541@klaava.Helsinki.FI>
Date: 25 Aug 91 20:57:08 GMT
Organization: University of Helsinki
Hello everybody out there using minix -
I'm doing a (free) operating system (just a hobby, won't be big and
professional like gnu) for 386(486) AT clones. This has been brewing
; since april, and is starting to get ready. I'd like any feedback
on
things people like/dislike in minix, as my OS resembles it somewhat
(same physical layout of the file-system (due to practical reasons)
among other things). I've currently ported bash(1.08) and gcc(1.40),and
things seem to work.This implies that I'll get something practical within
a
few months, andI'd like to know what features most people would want. Any
suggestions are welcome, but I won't promise I'll implement them :-)
Linus (torvalds@kruuna.helsinki.fi)
PS. Yes - it's free of any minix code, and it has a multi-threaded fs.
It is NOT protable (uses 386 task switching etc), and it probably never
will support anything other than AT-harddisks, as that's
all I have :-(.
As it is apparent from the posting, Linus himself didn't believe that
his creation was going to be big enough to change computing forever. Linux
version 0.01 was released by mid september 1991, and was put on the net.
Enthusiasm gathered around this new kid on the block, and codes were downloaded,
tested, tweaked, and returned to Linus. 0.02 came on October 5th, along
with this famous declaration from Linus:
From: torvalds@klaava.Helsinki.FI (Linus Benedict Torvalds)
Newsgroups: comp.os.minix
Subject: Free minix-like kernel sources for 386-AT
Message-ID: <1991Oct5.054106.4647@klaava.Helsinki.FI>
Date: 5 Oct 91 05:41:06 GMT
Organization: University of Helsinki
Do you pine for the nice days of minix-1.1, when men were men and wrote
their own device drivers? Are you
without a nice project and just dying to cut your teeth on a OS you can
try to modify for your
; needs? Are you finding it frustrating when everything works on minix?
No more all-nighters to get a nifty program
working? Then this post might be just for you :-)
As I mentioned a month(?) ago, I'm working on a free version of a minix-lookalike
for AT-386 computers. It has
finally reached the stage where it's even usable (though may not be depending
on
what you want), and I am willing to put out the sources for wider distribution.
It is?just version 0.02 (+1 (very
small) patch already), but I've successfully run bash/gcc/gnu-make/gnu-sed/compress
etc under it.
Sources for this pet project of mine can be found at nic.funet.fi (128.214.6.100)
in the directory /pub/OS/Linux.
The directory also contains some README-file and a couple of binaries to
work under linux
(bash, update and gcc, what more can you ask for :-). Full kernel source
is provided, as no minix code has been
used. Library sources are only partially free, so that cannot be distributed
currently. The system is able to compile
"as-is" and has been known to work. Heh. Sources to the binaries (bash
and gcc) can be found at the
same place in /pub/gnu.
Linux version 0.03 came in a few weeks. By December came version 0.10.
Still Linux was little more than in skeletal form. It had only support
for AT hard disks, had no login ( booted directly to bash). version 0.11
was much better with support for multilingual keyboards, floppy disk drivers,
support for VGA,EGA, Hercules etc. The version numbers went directly from
0.12 to 0.95 and 0.96 and so on. Soon the code went worldwide via ftp sites
at Finland and elsewhere.