---------- Forwarded message ----------
To: igos-codec...@yahoogroups.com

Happy Birthday, Linus
December 28th, 2009 by Glyn Moody


Today is the birthday of Linus. Although that's essentially a private
event for him, there's an interesting historical link to the creation
of the Linux kernel, too.

As is well known, before he started writing Linux, Linus coded on a
Sinclair QL, a brilliant if rather bizarre system that was based on a
cut-down version of the Motorola 68000 chip used in the Amiga, Atari
ST, Apple Lisa and Macintosh. Linus was prepared to put up with the
limitations of that chip because it offered multi-tasking – and hence
the possibility of some advanced programming.

It was for similarly rigorous reasons that he avoided buying a PC for
some time: he disliked the underlying architecture of Intel's chips.
But when the 80386 came out, Linus finally succumbed, and at the end
of 1990, decided to buy a PC. The only problem was finding the funds
to pay for it.

One source was a grant from the Finnish government. This was actually
a student loan meant for general living costs during his time at
university, rather than specifically for buying computers, but Linus
not unreasonably felt that a PC was an indispensable item for a
student studying computing science, and hence a permitted expense. He
finally paid off that debt in November 1992.

To this student loan, Linus added what he termed "Christmas money". As
anyone who has a birthday very near Christmas will tell you, such
"Christmas money" almost invariably includes money for the birthday
bundled in too, so it's likely that some funds for the PC arrived in
the form of birthday presents. Significantly, Linus wasted no time in
buying the new computer after Christmas – and hence his birthday. As
he told me in 1996: " I remember the first non-holiday day of the New
Year I went to buy a PC." The specification is rather sobering:

386, DX33, 4 Megs of RAM, no co-processor, 40 Megs hard disc

Having acquired the hardware, Linus then had to wait for the software
he wanted – Tanenbaum's Minix operating system. This was one reason
why he had finally opted for the PC: Tanenbaum's Unix-like system had
been ported to the 80386, and ran quite quickly on it, as Linus
discovered during his university studies, which whetted his appetite
for this educational tool.

Minix may have been fast on the PC but it was painfully slow in
arriving. In his first published interview, in Linux News, Linus
recalled what exactly he got up to in the meantime:

As it turned out, Minix wasn't available in Finland (at least I wasn't
able to find it easily), so while I got my machine on January 5th 1991
(easy date to remember due to the monthly payments :-), I was forced
to run DOS on it for a couple of months while waiting for the Minix
disks. So Jan-Feb was spent about 70-30 playing "Prince of Persia" and
getting aquainted with the machine.

When Minix finally arrived, I had solved "PoP", and knew a smattering
of 386 machine code (enough to be able to get the machine into
protected mode and sit there looping). So I installed Minix (leaving
some room for "PoP" on a DOS partition), and started hacking.

Getting Minix wasn't altogether a pleasant experience: the keyboard
bindings were wrong, and it didn't exactly act like the suns I was
used to (ugghh. I *hate* the bourne shell for interactive work). The
keyboard was easy to correct (although I didn't like the Minix
keyboard driver code), and applying Bruce Evans' 386-patches made the
system a bit more "real".

So somewhere around March-91, I had a 386 system running Minix-386,
and I was able to install awb's gcc-1.37.1 port. After that, I was
able to port bash to the resulting mess, and things looked a bit
better. I also spent my time generally fooling around (porting
gcc-1.40 and various other programs), and kept on learning about the
386 while doing so (writing small boot-disks that would set up a
protected mode environment and print out various inane messages).

In that interview, Linus modestly described the genesis of Linux thus:

"Linux" didn't really exist until about August-91 - before that what I
had was essentially just a very basic protected mode system that had
evolved from a glorified "Hello world" program into a even more
glorified terminal emulator. Linux stopped for quite a while at the
terminal emulator stage: I played around with Minix, and used my
protected mode program to read news from the univerity machine. No
down/upload, but it did a fair vt100 emulation, and did it by using
two tasks which communicated from keybodard->modem and modem->screen.

By mid-summer -91, "Linux" was able to read the disk (joyful moment),
and eventually had a small and stupid disk driver and a simple buffer
cache. So I started out trying to make a filesystem, and used the
Minix fs for simple practical reasons: that way I already had a file
layout I could test things on. After some more programming (talk about
glossing things over), I had a very simple UNIX that had some of the
basic functionalities of the real thing: I could run small
test-programs under it.

By that time I looked around for some standards texts - I decided
early on that I didn't want to write the user-level programs, and that
in order to easily port things I'd either have to make the new system
compatible with Minix (ugghh) or follow some other kind of standard.
What I wanted was a POSIX guide, not so much to be 100% posix, but in
order not to do anything really stupid I'd regret later.

My quest for the posix standards failed, as the posix standard
committee sells the standard to feed itself as I found out, but I did
get a good pointer to the (then very alpha and unsupported) GNU
libc.a, which had an early manual accompanying it. The manual was of
some help, but the biggest help was actually the contact to the person
who pointed it out to me: a...@sauna.hut.fi. He was/is the organizer of
the pub/OS subdirectory at nic.funet.fi, and was interested in giving
Linux a home at nic.

Back then, I was only idly thinking about making my system available
(and I had no real time-table), but arl happily created a pub/OS/Linux
subdirectory at nic, and thus also gave the system it's name. I wasn't
really ready for a release yet, so the directory contained just a
README for about a month ("this directory is for the freely
distributable Minix clone" or something like that). Arl probably
thought the project wouldn't come to anything.

I think we can safely say that "arl" - Ari Lemmke, a member of the
Helsinki University staff – was a little mistaken on that point. It's
truly extraordinary to contemplate that Linus's "glorified "Hello
world" program" is now running nearly 90% of the world's top
supercomputers. And at the other end of the scale, it is making huge
in-roads into the smartphone market, which means that one day there
may be billions of people with the Linux kernel in their pocket.

Indeed, it is difficult to imagine what the world would be like today
had Linus not bought that PC in 1991 with his Christmas and birthday
money. There could hardly be a better time than today to thank him for
Linux, his amazing gift to us, and to wish him many happy returns.


Source :
http://www.linuxjournal.com/content/happy-birthday-linus

--
Berhenti langganan: linux-aktivis-unsubscr...@linux.or.id
Arsip dan info: http://linux.or.id/milis

Kirim email ke