History of Linux by Ragib Hasan (Copyright: Ragib Hasan 2000)
Table of Contents
a. In The Beginning b. New Baby in
horizon c. Confrontation and development d. Some Linux Cookies e. Ackknowledgments
a. In The Beginning
It was 1991, and
ruthless agonies of
cold war was gradually coming to an end. There was an air of peace and tranquility that prevailed in
horizon. In
field of computing, a great future seemed to be in
offing, as powerful hardware pushed
limits of
computers beyond what anyone expected.
But still, something was missing.
And it was
none other than
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,
bare bones operating system had sneaked into every corner of
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
eager millions.
The other dedicated camp of computing was
Unix world. But Unix itself was far more expensive. In quest of big money,
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
frustration of PC users worldwide,
big players in
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
inner workings of a real operating system. It was designed to run on
Intel 8086 microprocessors that had flooded
world market.
As an operating system, MINIX was not a superb one. But it had
advantage that
source code was available. Anyone who happened to get
book 'Operating System' by Tanenbaum could get hold of
12,000 lines of code, written in C and assembly language. For
first time, an aspiring programmer or hacker could read
source codes of
operating system, which to that time
software vendors had guarded vigorously. Students of Computer Science all over
world poured over
book, reading through
codes to understand
very system that runs their computer.
And one of them was Linus Torvalds.
--------------------------------------------------------------------------------
b. New Baby in
Horizon
In 1991, Linus Benedict Torvalds was a second year student of Computer Science at
University of Helsinki and a self-taught hacker. The 21 year old sandy haired soft-spoken Finn loved to tinker with
power of
computers and
limits to which
system can be pushed. But all that was lacking was an operating system that could meet
demands of
professionals. MINIX was good, but still it was simply an operating system for
students, designed as a teaching tool rather than an industry strength one.
At that time, programmers worldwide were greatly inspired by
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
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
historic post was sent to
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
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
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
net. Enthusiasm gathered around this new kid on
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
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
stage where it's even usable (though may not be depending on what you want), and I am willing to put out
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
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
binaries (bash and gcc) can be found at
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
code went worldwide via ftp sites at Finland and elsewhere.