📜 ⬆️ ⬇️

Interview with Andrew Tanenbaum


Recently, I had the opportunity to interview Andrew Tanenbaum - the creator of an extremely reliable Unix-like operating system MINIX3. Andrew is also the author of the book Operating Systems Design and Implementation (Operating Systems. Design and Implementation), a reference book for a developer who develops and designs operating systems. It was Andrew who inspired Linus Torvalds to create Linux. Tanenbaum has published more than 120 works on computer topics. His works are known all over the world and have been translated into many languages ​​of the world for use in the curriculum. Today he is a professor at the Amsterdam Free University in Amsterdam.

I want to express my gratitude to Andrew for taking the time in his busy schedule to answer my questions.

When did you first start programming and designing operating systems?
I started programming since I was a student at the Massachusetts Institute of Technology. I started designing operating systems much later - in 1980. First, I worked with Ameba - an experimental distributed OS, then in 1984 over Minix.

What prompted you to develop Minix?
I read a course using Unix v6. Then AT & T changed the license, banning people from studying their courses — it was the stupidest decision they could make. According to their logung; “The less people know Unix, the better,” they had to pay big money to people learning their course. Because of this, I decided that if I want to have a Unix-like operating system for learning, I have to write it myself. So it happened.
')
Did your students help you develop Minix?
In the beginning, no. I wrote the first version myself. Later, many students offered their ideas and wrote code. So I had a team of students writing code.

What made you make Minix based on a microkernel, not based on a monolithic core?
The principles of good software development dictate that programs be divided into modules. I do not want an error in one place to disrupt the overall operation of the system. A microkernel is much easier to design, and modularity is easier to understand. Monolithic cores are still too large and unreliable. The best example is television. The system should work for 10 years without failures in 99.9% of users.

Do you see any flaws in the fact that Minix is ​​Posix compatible?
Not.

Are there any drawbacks in the fact that device drivers work in separate user processes?
There is a slight loss in performance. We did not focus on performance, although people from L4 showed that when using a microkernel, losses can be reduced to 5-10%

Will Minix ever get a window system other than X11, or is X11 stable and functional enough?
Never say never, but I think the X11 is good enough. I believe this is the only window system for Linux.

How well does Minix work on dual-processor machines? Will Minix be optimized for this type of computer?
We have just begun work on multiprocessing. This is MUCH harder than with single-core systems. I believe that any multiprocessor software is replete with errors.

Do you think many Linux users will switch to Minix?
Probably not.

What projects are you working on other than Minix?
I was involved in RFID security work. See www.rfidvirus.org and www.rfidguardian.org .

What are the future plans for the development of Minix?
We add a few missing features that are not currently available. For example, virtual memory and USB support, but the main efforts are made to achieve high reliability and self-healing (I did not understand this at all ... What is this? Approx. Translator).

If a Linux penguin and a Minix raccoon converge in a deadly fight, who do you think will win?
Raccoon is quite an aggressive animal, but no penguin. The penguin will be a chicken served for dinner.

You can contact Andrew in various ways on his website www.cs.vu.nl/~ast/

Source: https://habr.com/ru/post/36936/


All Articles