Andrew Tanenbaum: Geek of the Week

Andrew Tanenbaum has had an immense influence on the way that operating systems are designed. He provided the inspiration for Linux, in his lightweight kernel Minix, and his classic textbook 'Operating Systems: Design and Implementation' that Linus Torvalds  described as 'the book that launched me to new heights.'

The day that the communications giant AT&T banned lecturers from teaching UNIX to pupils on IT courses was the day the software industry changed for ever.

If AT & T hadn’t stopped Andrew Tanenbaum from teaching UNIX to his pupils he wouldn’t have gone on to develop MINIX and in turn might not have influenced Linus Torvalds to develop the Linux kernel. How different things may have been.

‘It was stupidest thing they could have done,’ Tanenbaum says of AT & T’s decision. ‘They should have paid bounties to people teaching it in courses. I guess their attitude was “The fewer people who know about UNIX, the better. At that point I decided if I wanted a UNIX-like system to teach, I’d have to write one myself. So I did.’


Monolithic kernels
are still too big and
unreliable
                 “

He first got into computer programming and operating system design when he was at studying at MIT. Whilst working as a postgraduate student at in the UNIX group (Dept. 1127) at Bell Labs at the time Unix was being developed, Andrew’s main interest was in compiler design. Operating system design happened much later in the 1980s, first with Amoeba, an experimental distributed operating system, then in 1984 with MINIX. MINIX was a lightweight kernel that could work on almost any hardware. It was primarily designed as a teaching aid. Andrew says ‘I don’t really regard it as the most important thing I’ve ever done’.

He decided to base MINIX on a microkernel rather than a monolithic because ‘good software engineering principles dictate that your programs are modular. You don’t want a bug in one piece to bring down the whole thing if that can be avoided. A microkernel is much better engineered and is more modular and easier to understand. Monolithic kernels are still too big and unreliable. My metric is the TV set.’

547-AndrewTanenbaum.jpg

It took Andrew three years to write MINIX, along with 400 pages of text describing the code, working at it in the evenings,

Within three months of developing MINIX, a USENET newsgroup had emerged with over 40,000 readers discussing and improving the system.

One developer stood out from among the others. Linus Torvalds began to use Tanenbaum’s operating system MINIX, got frustrated with it, and decided to write his own kernel. On October 5 1991 Torvalds unveiled the Linux kernel and the rest is computer folklore.

MINIX 3 is available under the BSD license for free at www.minix3.org. Andrew says ‘It is still in surprisingly wide use, both for education and in the Third World, where millions of people are happy as a clam to have an old castoff 1-MB 386, on which MINIX runs just fine. The MINIX home page cited above still gets more than 1000 hits a week.’

Today Andrew Tanenbaum is still a professor of computer science at Amsterdam’s Vrije Universiteit and is the author of a number of books including Operating Systems: Design and Implementation which Torvalds describes it as ‘the book that launched me to new heights.’ Despite living in Holland, he was born in New York City and grew up in White Plains, New York. He received his S.B. degree in Physics from MIT in 1965. He received his Ph.D. degree in physics from the University of California, Berkeley in 1971. He went to Amsterdam as a postdoc and ‘sort of hung around ever since’. He has done research on compilers, operating systems, networking, and local-area distributed systems. His current research focuses primarily on the design of wide-area distributed systems that scale to millions of users. These research projects have led to over 70 papers in journals and conference proceedings. He is a Fellow of the ACM and a Fellow of the IEEE.


RM:
“If you could be the author of any operating system (other than MINIX) which OS would you choose? “
AT:
“FreeBSD”
RM:
“Why FreeBSD? And why do you think it’s still not that widely known as a free O/S among the computer buying public?”
AT:
“It is much more solid than Linux and better structured internally. Actually, the number of machines in the world that run BSD is much more than the number than run Linux. BSD is sold commercially under the trade name ‘Macintosh.'”
RM:
“What’s the reason for the BSD license for MINIX rather than the GPL? Is it used out of practical, religious or historical reasons? “
AT:
“It gives more freedom to the user. He can do whatever he wants with it, no restrictions. Maximal freedom! “
RM:
“People who know the history of your Usenet spat with Linus were probably amused to see you put in a position to defend him. You said that if Linus had been your student, he would have got an F for Linux.”
AT:
“I don’t dislike Linus or anything. We exchanged some messages about kernel structure for a week on the net. We’re not the Hatfields and the McCoys.”
RM:
“His view of the Mach microkernel in Mac OS X is: ‘Frankly, it’s a piece of crap. It contains all the design mistakes you can make, and managed to even make up a few of its own.’ Do you still think he was right?”
AT:
“Mach wasn’t very good. So? OS/360 was a monolithic operating system and was pretty crummy. Does that mean Linux (also a monolithic system) is also pretty crummy?”
RM:
“Of MINIX 3 you have said the new goal is for it to be usable as a serious system on resource-limited and embedded computers and for applications requiring high reliability. Do you think you’ve reached the furthest you can go with MINIX? Will it become obsolete? “
AT:
“It is still being actively developed. It is probably the most fault tolerant operating system around now. Drivers can crash and be replaced automatically in a few hundred milliseconds without disturbing running processes and without the user even knowing about it. If a Linux driver gets a segmentation fault, that’s the end of Linux. No automatic recovery in 400 ms.
RM:
“What effect does the unlinking of hardware and the OS, though Hypervisors and others have on OS design? “
AT:
“Hard to tell at this point. My first guess is not very much due to so much legacy. In the long run I expect Hypervisors to be quite important”
RM:
“What do you think will be the most important change to OS design over the next 10 years? “
AT:
“Multicore chips are coming and the OSes have to deal with that. However parallel programming is extremely difficult and I foresee a lot of unreliable code as a result. Another thing that I see happening is that PCs will be losing market share in the computing world to iPods, MP3 players, PDAs and mobile devices. In these applications people expect much higher reliability than PCs normally offer.”
RM:
“Do you think Microsoft should follow Apple and use a BSD clone as the basis of their next system? “
AT:
“Fine with me but it is not going to happen.”
RM:
“What’s the stumbling block ?”
AT:
“Maybe $20 billion in legacy investment? May 500 million users who would scream bloody murder if all their applications didn’t run on the new system exactly as they did on the old one?”
RM:
“In 1945 Thomas J. Watson (a former American president of IBM) allegedly said “I think there is a world market for maybe five computers.’ At some point, probably not too far point in the future, do you think there will be millions of computers or will there just be one?
AT:
“At that time computers cost $30 million and just computed tables of sines and cosines. I think everything that is electrical is going to have a computer in it before 10 years. They will all be connected by fibre and wireless. It will be a completely connected world.”
RM:
“What’s your view of the Trusted Computing Platform, given that it could be used to block open-source software or to enforce draconian digital rights management? “
AT:
“The TPM chip doesn’t do any of that inherently. It is a question of who supplies the keys and what they manage. As to DRM, I think users should boycott content if they don’t like the restrictions that come with it. However, content vendors mustn’t be allowed to change the “fair use” provisions of the law and jurisprudence by technical means.”
RM:
“What do you make of cloud computing? Is it a fad and should be expect to see it peter out very quickly? “
AT:
“It is a niche but in that niche I think it will do well. I see if for companies who need a variable amount of server capacity and also for users to store photos and data long term”
RM:
“Do you think Bill Gates is right when he says the US economy will not fall into a slump because technological progress will help it grow? “
AT:
“I expect a recession or something close to it in 2008/2009 and technology won’t prevent it
RM:
“Let’s move on to electoral-vote.com. Why did you set it up?”
AT:
“To register overseas voters. They are hard to find.”
RM:
“What do you think the outcome from this year’s election will be?”
AT:
“Democrats will win 5-8 seats in the Senate and 15-20 seats in the House.”
RM:
“What’s your view on the retroactive telecom immunity vote ?”
AT:
“Terrible idea. If you break the law, you should expect to be punished for it”
RM:
“Why do you think Obama was successful in raising over $6.9m using the web as a fund raising platform?”
AT:
“He raised a lot more than that on the Web. I think a lot of people are sick of George Bush and he was young and spoke to the right demographic and upscale professionals. These are the people who are the most sick of George Bush and the most present on the Web. As an aside, Howard Dean did the same thing last time. The difference is that Obama won the Iowa caucuses and Dean didn’t”
RM:
“What did you think of Ron Paul ? (for 10 years the US Congressman for Texas) “
AT:
“A bit of a curmudgeon but highly entertaining”
RM:
“I can’t resist asking about mascots. Most free operating systems have them. If you could choose one for Microsoft what would it be? “
AT:
“I don’t know. Maybe the giant sloth?”