History of Linux
In April 1991, Linus Torvalds, a 21-years old student of computer science at the University of Helsinki, Finland, began his personal project—to create a new operating system kernel. This modest project will evolve into the world-famous Linux operating system and will make Linus one of the most influential people in the world of technology today.
Linus Benedict Torvalds (St Linus was the second pope, 64-76 AD) was born on December 28, 1969, in Helsinki, Finland. He is the son of Nils and Anna Torvalds. Nils was a reporter, and Ana was a translator, but both pursued careers in journalism. Torvalds’s grandfather was a noted Finnish poet, Ole Torvalds (1916–1995). His parents divorced when Linus was young, and his mother and grandparents raised him. The Torvalds family belongs to the Swedish-speaking minority in Finland, which numbers about 300,000.
Linus took an early interest in computers mainly through the influence of his maternal grandfather—Leo Toerngvist, a professor of statistics at the University of Helsinki. In the mid-1970s, Toerngvist bought one of the first personal computers, a Commodore Vic 20. Linus soon became bored with the few programs that were available for it, and by the time he was 10, he thus began to create new ones, first using the BASIC programming language and then using the much more difficult but also more powerful assembly language.
Programming and mathematics became Torvalds’ passions in secondary school. His father’s efforts to interest him in sports, girls, and other social activities were in vain, and Linus does not hesitate to admit that he had little talent for or interest in such pursuits. In 1988 Torvalds followed in his parents’ footsteps and enrolled in the University of Helsinki, the premier institution of higher education in Finland. By that time, he was already an accomplished programmer, and, naturally, he majored in computer science. In 1990 he took his first class in the C programming language, the language that he would soon use to write the Linux kernel (i.e., the core of the operating system).
At the beginning of 1991, he purchased an IBM-compatible personal computer with a 33MHz Intel 386 processor and a huge, for the time, 4MB of memory. This processor greatly appealed to him because it represented a tremendous improvement over earlier Intel chips. As intrigued as he was with the hardware, however, Linus was disappointed with the MS-DOS operating system that came with it. That operating system had not advanced sufficiently to even begin to take advantage of the vastly improved capabilities of the 386 chip, and he thus strongly preferred the much more powerful and stable UNIX operating system that he had become accustomed to using on the university’s computers.
Trying to obtain a version of UNIX for his new computer, he didn’t manage to find even a basic system for less than 5000 USD. That’s why he obtained MINIX, a small clone of UNIX that was created in 1987 by operating systems expert Andrew Tanenbaum in the Netherlands to teach UNIX to university students. However, although much more powerful than MS-DOS and designed to run on Intel x86 processors, MINIX still had some serious disadvantages. They included the fact that not all of the source code was made public, it lacked some of the features and performance of UNIX, and there was a not-insignificant (although cheaper than for many other operating systems) licensing fee.
Linus, in particular, lamented MINIX’s inability to do terminal emulation, which he needed in order to connect to the university’s Unix computers. Linus decided to create a terminal emulation program himself, independently of MINIX. These were the first steps toward creating Linux.
Development was done on MINIX using the GNU C compiler, which is still the main choice for compiling Linux today (although the code can be built with other compilers, such as the Intel C Compiler). Linus quickly developed the terminal emulation program, and it was sufficient for his needs for a while. However, he began thinking that it would be nice to be able to do other things with it, like transferring and saving files. This is where Linux was really born.
Originally, Linus wanted to name his creation Freax, a combination of “freak,” “free,” and “x” (as an allusion to Unix), but when in September 1991, the files were uploaded to the FTP server (ftp.funet.fi) of FUNET (in order to facilitate development), his friend Ari Lemmke, one of the administrators of the FTP server, thinking that “Freax” was not a good name, decided to name it “Linux” on the server without consulting Linus. Later, however, Torvalds consented to “Linux.”
In August 1991, Linus announced that he was working on this operating system in a Usenet newsgroup of Minix users:
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, and I’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 :-(.
On September 17 of the same 1991, after a period of self-imposed isolation and intense concentration, Linus completed a crude version (0.01) of his new operating system. Shortly thereafter, on October 5, he announced version 0.02, the first official version. It featured the ability to run both the bash shell (a program that provides the traditional, text-only user interface for Unix-like operating systems) and the GCC (the GNU C Compiler), two key system utilities.
Since then, the resulting Linux kernel has been marked by constant growth throughout its history. Since the initial release of its source code in 1991, it has grown from a small number of C files under a license prohibiting commercial distribution to its state in 2009 of over 370 megabytes of source under the GNU General Public License.
Linux is a modular Unix-like operating system. It derives much of its basic design from principles established in Unix during the 1970s and 1980s. Such a system uses a monolithic kernel, the Linux kernel, which handles process control, networking, and peripheral and file system access. Device drivers are either integrated directly with the kernel or added as modules loaded while the system is running. An interesting battle happened in 1992 between Tanenbaum, the author of Minix, and Torvalds; for details, see https://www.linfo.org/linuxobsolete.html.
One of the best decisions Linus made was that he decided to release Linux under the GPL (GNU General Public License) rather than under the more restrictive license that he had earlier planned. Developed by Richard Stallman, a notable programmer and a leading advocate of free software, this most popular of the free software licenses allow anyone to study, use, modify, extend and redistribute the software as long as they make the source code freely available for any modified versions that they create and then redistribute.
The development of Linux is one of the most prominent examples of free and open-source software collaboration; typically, all the underlying source code can be used, freely modified, and redistributed, both commercially and non-commercially, by anyone under licenses such as the GNU General Public License. Linux is not the only such operating system, although it is by far the most widely used.
Typically Linux is packaged in a format known as a Linux distribution for desktop and server use. Linux distributions include the Linux kernel and all of the supporting software required to run a complete system, such as utilities and libraries, the X Window System, the GNOME, and KDE desktop environments, the most popular in the world HTTP Server—Apache, etc. Commonly used applications with desktop Linux systems include the Mozilla Firefox web browser, the OpenOffice.org office application suite, and the GIMP image editor.
In 1993, Linus taught an introductory computer course at the University of Helsinki. A young woman in the class named Tove Monni, a kindergarten teacher and six times karate champion of Finland, e-mailed him and asked him out on a date. She would later become his wife. Tove and Linus went on to have three daughters, Patricia (1996), Daniela (1998), and Celeste (2000).
In late 1996 Linus accepted an invitation to visit the California headquarters of Transmeta, a start-up company in the first stages of designing an energy-saving CPU. Linus was intrigued by their work, and in early 1997 he accepted a position at Transmeta and moved to California with his family. Along with his work for Transmeta, Linus continued to oversee kernel development.
In June of 2003, Linus left Transmeta in order to focus exclusively on the Linux kernel and began to work under the auspices of the Open Source Development Labs (OSDL), a consortium formed by high-tech companies which include IBM, Hewlett-Packard, Intel, AMD, RedHat, Novell, and many others. The purpose of the consortium is to promote Linux development. OSDL merged with The Free Standards Group in January 2007 to become The Linux Foundation.