Happy 20th Birthday, Linux

by Paul Arnote (parnote)

In April 1991, a 21 year old student at the University of Helsinki, Finland started working on a simple idea for a computer operating system. After having been exposed to Unix only the year before, and having received a copy of MINIX, (a Unix-like operating system with a microkernel architecture used for research and study in computer courses), to run on his “new” one-month-old 386 computer in February 1991, this 21 year old university student became inspired to create a new computer operating system.

Free of any MINIX code, the new computer operating system had a monolithic kernel architecture, but was inspired by MINIX. On August 25, 1991, the following post was made to the comp.os.minix Usenet newsgroup:

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 [...] Yes - it's free of any minix code, and it has a multi-threaded fs. It is NOT portable (uses 386 task switching etc), and it probably never will support anything other than AT-harddisks, as that's all I have :-(.

[...] It's mostly in C, but most people wouldn't call what I write C. It uses every conceivable feature of the 386 I could find, as it was also a project to teach me about the 386. As already mentioned, it uses a MMU, for both paging (not to disk yet) and segmentation. It's the segmentation that makes it REALLY 386 dependent (every task has a 64Mb segment for code & data - max 64 tasks in 4Gb. Anybody who needs more than 64Mb/task - tough cookies). [...] Some of my "C"-files (specifically mm.c) are almost as much assembler as C. [...] Unlike minix, I also happen to LIKE interrupts, so interrupts are handled without trying to hide the reason behind them

This young University of Helsinki student would later go on to create his Masters of Computer Science thesis in January 1997, called Linux: A Portable Operating System. His name is Linus Torvalds.

The rest, as we say, would be history. By September 1991, Linux version 0.01 was uploaded to an FTP server at the Helsinki University of Technology. It contained 10,239 lines of code.

After that, many people contributed to the Linux project, and much of the MINIX community contributed code and ideas to the Linux kernel. In October 1991, Linux version 0.02 was released, with Linux version 0.11 coming out in December of the same year. Initially released under Torvald’s original license that prohibited any commercial use of Linux, the license was changed to the more permissive GNU General Public License (GPL) by Linux version 0.12.

Since that time, the Linux kernel has been continually updated and has continued to evolve into what we all use now. In July 2011, Linus Torvalds announced the release of the Linux 3.0 Kernel, ending the 2.6.x kernel line, which originally appeared in December 2003 (with 5,929,913 lines of code – a far cry from the 10,000+ lines of code that made up the 0.01 Linux kernel). Claiming that he was tired of the high numbers of the minor version releases of the 2.6.x kernel, he announced a revision of the current versioning scheme. With the new scheme, the major version number is pinned at “3.” The second number indicates the actual release number, while the third number will be used to indicate stable releases of the kernel. Thus, the first stable release of the 3.0.x kernel is 3.0.1.

In 1996, Torvalds was inspired to make a penguin the mascot of Linux. In part, the idea of Tux as the mascot for Linux came about after Torvalds was bitten by a Fairy Penguin at a zoo in Australia, when he visited there in 1993. Tux originally was a submission by Larry Ewing for three Linux logo contests, using the then relatively new Gimp 0.54. Tux won none of the contests, and to this day remains the mascot – not the logo – for Linux.

Currently, Linus Torvalds remains heavily involved in the continuing development of Linux, overseeing its progress and guiding it on its course. Today, over 600 Linux distributions exist, all built on the stable Linux kernel. Electronic gadgets and appliances, ranging from cell phones to tablet PCs to DVD players to eBook readers, use a modified embedded Linux kernel to power the user interfaces of their devices. Due to its security and scalability, Linux is also king of the mountain when it comes to servers, empowering most of the internet servers that deliver your daily dose of internet information.

So, as you go about your computer lives, using Linux and feeling comfortable that you can do so, free of charge, in relative security, without worrying about viruses, malware, spyware or any other kind of “ware,” think back to that August day, 20 years ago, in Helsinki, Finland when that 21 year old computer science student announced the birth of Linux.

Thank you, Linus Torvalds!