Recently, Andrew Tatenbaum, a professor at the Amsterdam Free University, the author of the Minix training and miniature Unix system, has again found itself in the center of events thanks to an epistolary genre. In his letter to Intel, he thanked the company for using Minix, complained that it didn’t blow it at every turn and said that because of this, few people know that Minix is ​​the most popular OS in the world today.
We must pay tribute to the professor, he is able to choose the addressee, the time and place in order to cause a loud and long-lasting effect using a simple message sent by e-mail. His previous correspondent was Linus Torvalds, and their correspondence about the monolithic and microcore was included in the annals of IT history. Without this, it is difficult to understand why Andrew Tanenbaum is so exalted because of the imaginary success of Minix, which for only a dozen years has provided the work of the Intel backdoor IME .
26 years ago, programming for Unix was not a trivial matter for an ordinary student, since all Unix variants were paid. To master this operating system, Linus decides to install Minix. The Internet at that time was still being conceived, the order of the OS went through regular mail, as well as the delivery. For the sake of Minix had to fork out for 169 dollars.
I had a lot of complaints about Minix. Worst of all was terminal emulation, a very important program for me, because I used it to connect to the university computer. I depended on this emulation every time I contacted a university computer to work with a powerful Unix system or just go online.
Soon, the future creator of Linux discovered the serious flaws of Minix. Since this was just a teaching version of Unix, the professor intentionally distorted it. Many of these shortcomings could be fixed with a patch of the most famous hacker Minix Bruce Evans, but in order to be able to deliver it, it was necessary to be pretty busy. The most significant drawback for Linus was the terminal emulation program, which had to be replaced with his own. Then a file system driver was needed and away, the kernel of the new OS was born on the principle of porridge from an ax.
August 25, 1991 Linus sends his famous message that he is working on a free operating system, but it will not be such a large and professional project as GNU . Among other things, attention is worthy of the fact that this and other early announcements of his operating system Linus sends to the Minix conference, delaying the users of the latter.
Andrew Tanenbaum didn’t react to it for the time being, but Linux grew like a snowball. Already in January 1992, version 0.12 was released, in which paging to disk was implemented - something that was not in Minix. Soon after, the professor condescended to an upstart to answer him personally and on January 29th Linus received a message to the comp.os.minix
conference with moral content. The start was encouraging.
From: ast@cs.vu.nl (Andy Tanenbaum)
That: Newsgroups: comp.os.minix
Subject: LINUX is deprecated.
Date: 29 Jan 92 12:12:50 GMT
I went to the USA for a couple of weeks, so I didn’t write specifically about LINUX (not that I would write if I were here). But now I want to make a few comments.
As most of you know, for me MINIX is a hobby that I do in the evenings when I get bored of writing books, and according to CNN they don’t show any wars, revolutions or parliamentary hearings. My main job is teaching and research in the field of operating systems.
This was followed by reference information about the monolithic core, the microkernel and the OS, professing one or another principle. This was followed by an argument that was untenable from the point of view of logic that among specialists in the development of operating systems, disputes on this issue had already ceased due to the obvious advantage of the microkernel. Further declarations that Minix is ​​progressive, and Linux is a return to the 1970s. In addition, Linux is tied to the same architecture while Minix was ported from Intel processors to other platforms: Atari, Amiga, Macintosh, SPARC and NS32016.
I could tell a lot about the comparative advantages of these two approaches, but suffice it to say that among the experts in the development of operating systems, the disputes have already ended. Microkernel won. Minix is ​​a microkernel system. The file system and memory management are separate processes that run outside the kernel. I / O is also done separately. LINUX - monolithic system. This is a big step back in the 70s. years
In the early 90s, the microkernel was really favored by the designers of operating systems. In their opinion, the OS kernel should be minimal and contain only the most necessary: ​​memory management, scheduler and IPC, and everything else is implemented as services. Having broken the whole into many simple parts, the complexity disappears, and the lightweight services easily exchange data with the microkernel. Failure in the file system or network card driver, thus simply restored by rebooting the corresponding service.
Linus had a different opinion on that. Paying tribute to the elegance and elegance of the microkernel architecture from a theoretical point of view, he nevertheless considered the microkernel not suitable for practical purposes. The seeming simplicity of a microkernel results in the fact that the interaction and interface between simple parts of a microkernel creates difficulties that level all its “paper” advantages. In his response, he outlined his vision on this issue. After daring attacks on his opponent, Linus goes to the point.
From: torvalds@klaava.Helsinki.FI (Linus Benedict Torvalds)
Subject: Re: LINUX Obsolete
Date: 29 Jan 92 23:14:26 GMT
Organization: University of Helsinki
...
Yes, linux is a monolithic system, and I agree that the microkernel is better. If your message did not have such a controversial title, I would probably agree with most of your statements. From a theoretical (and aesthetic) point of view, linux loses. If the GNU kernel were ready last spring, I would not have taken up my development: the trouble is that it was not ready then and not ready until now. Linux wins primarily because it is ready.
It then lists Minix problems with file system multitasking.
If this were the only criterion for the quality of the core, you would be right. However, you are not writing that the minix microkernel is badly done and there are problems with multitasking (in the kernel). If I had made an OS, the file system of which would have problems with multitasking, I would not have so hastyly condemned others: on the contrary, I would have gone out of my way so that everyone would forget about my failure. Yes, I know that for minix there are a lot of patches that provide multi-threaded work, but these are just patches, and Bruce Evans says that there are still a lot of synchronization problems.
A scuffle in the conference continues, new participants enter into the dispute. Andrew Tanenbaum and Linus Torvalds continue to argue, but in a more restrained manner. Below is a free translation of selected quotes.
Andrew Tanebaum : I deliberately wrote Minix so clumsy that students could drive it on a diverse and inexpensive computer hardware, but the design of my OS is normal, and not that your backward Linux. It is also impossible to transfer to other platforms. I would bet you on the exam a couple.
David Feustel : It's okay, and Einstein had bad grades in math and physics .
Ken Thompson : For users of damn modern software on their computer, performance is much more important. Yes, the future is a micronucleus, but it is easier to concoct a monolithic core. However, it is easier to screw it up if you write code in a hurry.
')
Randy Burns : Linux system calls are compatible with portable OSs, so complaints about being tied to one platform are irrelevant. On the contrary, Linux closes the flaw, allowing us to use the GNU programs . Maybe in a couple of years, when Hurd and low-cost BSD systems will spread Linux and become obsolete, but now we can enjoy gcc, bash, bison for nothing and write code for a better OS .
Pete French : But aren’t the microkernel and monolithic kernel the artifacts of the programming language in which they are written? What is the difference between a microkernel written in C and a monolithic core - in OCCAM?
Linus Torvalds : You tried so much for the sake of the students, well then it’s understandable. But with multitasking in your OS, it's all the same trouble, anyway, but on my “backward” monolithic Linux everything flies. There will be no big problems with portability, since the Linux API is portable - there would be willing. And good grades are not shining on me, I recently quarreled with another OS architecture instructor.
Lawrence C. Foard : Theorists such theorists. They have great ideas, but none of them have bothered to check them in practice. Intels 32-bit processors have been available on the market for almost 10 years, but no one except Linus has written an OS for them that you can touch without needing to buy AT & T Unix for $ 100,000. Finished OS is worth a dozen paper. Already today I can write code for Linux and experiment as I please.
peter da silva : It's great that Linux exists and a monolithic kernel - one of the reasons that it was created so quickly. This is a powerful argument in favor of a monolithic core and, however, this does not mean that the microkernel necessarily has to be slow, or that it is “paper”.
The arguments in favor of the microkernel at that time were really outweighed, but today the experience of using both OS design principles has made adjustments .
Despite the possibilities of Mach, such performance losses in the real world are unacceptable. In the course of how the rest of the development teams came to the same conclusions, their enthusiasm quickly disappeared. Therefore, a large part of the OS community has considered that the use of IPC as the basis of the OS was initially a failure.
On this the first part of Marlezonskogo Ballet ended. The first round of the battle remained for the professor, Linus took his words back, first came out of the dispute, but did not change his opinion, so in the main he was right - his OS won because he was ready . After 14 years, the controversy of the famous theorist and practice continued.
Source: https://habr.com/ru/post/344826/
All Articles