Linux 24 years

    18-year-old Linus Torvalds entered the University of Helsinki in 1988 and began his studies in the fall. After the first year, he had to serve a year in the Finnish Ground Forces. C Unix Torvalds met only in the fall of 1990. Unix is ​​an operating system created in the early seventies by Ken Thompson, Dennis Ritchie and others. By the end of the eighties, the OS already had a wide influence in the scientific community: there were projects BSD, System V and others. Linus first met Unix as part of a short training course.

    The university acquired the MicroVAX machine running the Ultrix operating system with a license for 16 users. There really were 16. There were few resources: to get to the terminal, you had to wait in line. But even these material limitations did not prevent Linus from evaluating Unix. Torvalds liked the programming interface, and the complexity of Unix, which was so scared, seemed to Linus simple.

    One of Linus’s textbooks was Andrew Tanenbaum’s book, Operating Systems: Development and Implementation, which he bought back in the summer upon his return from the army. In addition to a detailed description of how to write an operating system yourself, the book included a set of source codes for a small educational OS called Minix. Initially, this OS was written in 8088, but later it was ported to Intel 80386.

    But Intel didn’t like Intel products - it was well versed in microprocessors. On the other hand, 80386 seemed to Linus much better than previous "intellects". It was the availability of the unix-like Minix that in many ways drove Linus to buy a PC architecture computer. Until that moment, he was programming on Sinclair QL, the older brother of the ZX Spectrum, and even earlier he had the Commodore Vic-20. On these computers, he wrote several programs, for example, a clone of Pac-Man

    The purchase was made possible thanks to falling electronics prices and several random circumstances in his personal life. Linus was given a loan for education. Since at that time the student lived at home with his mother, part of the amount did not have to be spent on rent and other expenses. And it was Christmas Eve, which meant some additional funds in the hands of Torvalds. As soon as the holidays ended, Linus went out and bought a new computer. On January 5, 1991, a PC was purchased with an Intel 386 DX33 processor, 4 MB of RAM and a 40 MB hard drive. Six months later, Linus bought a mathematical coprocessor for floating point operations - he did this solely to ensure compatibility of the developed product, emulation was quite suitable for him.

    The computer was purchased, but Linus did not immediately begin to get acquainted with Minix. OS floppy disks appeared only a few months later. Therefore, he did the same as any other in his place: he killed time in games like Prince of Persia under MS-DOS. Linus also studied the processor architecture of his new machine. Torvalds did two processes, each of which wrote letters on the screen. The first wrote A, the second B. Then Linus forced the tasks to switch by timer. AAAA BBBB sequences and so on appeared on the screen. In the first two months, little code was written: unfamiliarity with Intel and other difficulties affected.

    This tiny two-process experiment turned out to be far more important than it sounds. At some point, Linus realized what he did: he changed two processes so that they behaved like the simplest package of a terminal emulator. One process read data from the keyboard, sent it to the modem, and the other read from the modem and sent it to the screen. There were keyboard drivers to somehow produce input, as well as a driver for VGA text mode. Torvalds wrote a driver for the serial port so that you can receive and read news from the university. Initially, Linus just read the news on the modem.

    In the summer of that year, Torvalds, sitting on his proto-core, found out in the newsgroups about POSIX, the standard of Unix-like operating systems to ensure interaction between the operating system and application programs. Linus read and improved the resulting emulation package. At some point, he wanted to download something, so he had to write a disk driver. It was necessary to write a file system to read the Minix file system, which in turn was necessary for writing and reading files during their subsequent upload. Linus’s creation already had a file system, a task switching mechanism, and device drivers.

    An operating system existed, but the name was not born immediately. Torvalds asked for information about the POSIX interface, and Ari Lemmke, one of the university employees, explained that you can’t download POSIX on the Web for free. It was necessary to pay for this - a poor student could not go for such a thing. And Lemmke said that his core interests are operating system kernels. He even allocated Linus a folder on the university’s FTP server on The path to her sounded like /pub/os/linux.

    But it was only a working title: Linus did not want to seem an egoist who sculpts his name on everything. Torvalds was afraid that no one would take a system with that name seriously. Therefore, he prepared another option - Freax, the word wallet obtained by merging Free and Unix. Ari Lemmke unbeknownst to Linus named the catalog linux. So the name was fixed.

    The first version of Linux looked raw, only a few people from the newsgroups received letters about its creation. It happened because Linus soon wanted to upload something to the server so that it wasn’t empty. A few weeks later, the second version was released, and it wasn’t scary to show it in the Minix newsgroups, which Linus did. How many people got access to this first publicly available version? Torvalds himself said in 1996 that there were probably a few dozen.

    On August 25, 1991, at the age of 21, Linus Torvalds left the comp.os.minixfollowing message in the news group , which remained forever in the history of computer science textbooks:

    Hi to all minix users -

    I am creating a (free) operating system (just a hobby, nothing professional gnu level) for 386 (486) AT clones. I’ve been wrestling with similar ones since April, and will be ready soon. I would like to receive any feedback about what you like and dislike in minix, since my OS resembles it a bit (the same physical placement of the file system (for practical reasons) among other things).

    I have already ported bash (1.08) and gcc (1.40), and everything seems to work. That is, after a few months I will have something with practical application, and I would like to know what functions are needed. All proposals are accepted, although I do not promise that I will fulfill them :-)

    Linus (
    PS. Yes - there is no code from minix in it, it has a multi-threaded file system. It is NOT portable (uses 386 task switching, etc.), and probably will never support anything other than AT hard drives, but that’s all I have :-(.

    24 years have passed since that day. Today, Linux is used almost everywhere: from mobile phones and desktop computers to supercomputers with millions of cores . More than a billion devices work on Android, deep in the bowels of which is the very Linux. Linux continues to evolve, with thousands of man-years of work by programmers from around the world invested in it. But the most ironic is that today the kernel already lacks support for the first computer on which Linus wrote his OSes - they decided to remove the old code in 2012.
    Based on materials from Ars Technica .

    Also popular now: