Posted
by
michael
from the oh-christmas-tree dept.
BigFire writes "Professor Tanenbaum responds to the slashdot effect and a small critique of Ken Brown's forthcoming book in his followup. A small gem is where he disclosed that Ken Brown can't multiply simple positive integers."
This discussion has been archived.
No new comments can be posted.
by Anonymous Coward writes:
on Friday May 21, 2004 @07:14PM (#9221718)
Ken Brown's Motivation, Release 1.2
Background
On 20 May 2004, I posted a statement [cs.vu.nl] refuting the claim of Ken Brown, President of the Alexis de Tocqueville Institution [adti.net], that Linus Torvalds didn't write Linux. My statement was mentioned on Slashdot [slashdot.org], Groklaw [groklaw.net], and many other Internet news sites. This attention resulted in over 150,000 requests to our server in less than a day, which is still standing despite yesterday being a national holiday with no one there to stand next to it saying "You can do it. You can do it." Kudos to Sun Microsystems and the folks who built Apache. My statement was mirrored all over the Internet, so the number of true hits to it is probably a substantial multiple of that. There were also quite a few comments at Slashdot, Groklaw, and other sites, many of them about me. I had never engaged in remote multishrink psychoanalysis on this scale before, so it was a fascinating experience.
The Brown Book
I got an advance copy of Ken Brown's book. I think it is still under embargo, so I won't comment on it. Although I am not an investigative reporter, even I know it is unethical to discuss publications still under embargo. Some of us take ethics more seriously than others. So I won't even reveal the title. Let's call it The Brown Book. There is some precedent for nicknaming books after colors: The International Standard for the CD-ROM (IS 10149) is usually called The Red Book.
Suffice it to say, there is a great deal to criticize in the book. I am sure that will happen when it is published. I may even help out.
Brown's Motivation
What prompted me to write this note today is an email I got yesterday. Actually, I got quite a few:-) , most of them thanking me for the historical material. One of yesterday's emails was from Linus, in response to an email from me apologizing for not letting him see my statement in advance. As a matter of courtesy, I did try but I was using his old transmeta.com address and didn't know his new one until I got a very kind email from Linus' father, a Finnish journalist.
In his email, Linus said that Brown never contacted him. No email, no phone call, no personal interview. Nothing. Considering the fact that Brown was writing an explosive book in which he accused Linus of not being the author of Linux, you would think a serious author would at least confront the subject with the accusation and give him a chance to respond. What kind of a reporter talks to people on the periphery of the subject but fails to talk to the main player?
Why did Brown fly all the way to Europe to interview me and (and according to an email I got from his seat-mate on the plane) one other person in Scandinavia, at considerable expense, and not at least call Linus? Even if he made a really bad choice of phone company, how much could that cost? Maybe a dollar? I call the U.S. all the time from Amsterdam. It is less than 5 cents a minute. How much could it cost to call California from D.C.?
From reading all the comments posted yesterday, I am now beginning to get the picture. Apparently a lot of people (still) think that I 'hate' Linus for stealing all my glory (see below for more on this). I didn't realize this view was so widespread. I now suspect that Brown believed this, too, and thought that I would be happy to dump all over Linus to get 'revenge.' By flying to Amsterdam he thought he could dig up dirt on Linus and get me to speak evil of him. He thought I would back up his crazy claim that Linus stole Linux from me. Brown was wrong on two counts. First, I bear no 'grudge' against Linus at all. He wrote Linux himself and deserves the credit. Second, I am really not a mean person. Even if I were still angry with him aft
by Anonymous Coward writes:
on Friday May 21, 2004 @07:18PM (#9221745)
"This attention resulted in over 150,000 requests to our server in less than a day, which is still standing despite yesterday being a national holiday with no one there to stand next to it saying "You can do it. You can do it." Kudos to Sun Microsystems and the folks who built Apache."
Just when he thought it was over, here we come for another round. . .
150k is about three times the normal Slashdot effect (the best Slashdotting I ever got was just over 50k, and the lowest Slashdotting was around 25k -- this is in one day). Tanenbaum's note got picked up by a lot more places than/.
Not arguing your point about being multilinked, but making a point regarding the variance in slashdotting:
I suppose the popularity of GNU/Linux, the historic Linus vs. Andy debates, the FUD being brought out by ADTI (and the aforementioned Brown book) all must play a role in getting a "bigger slashdotting".
This report was of core essence to all users (and fans) of GNU/Linux, so one can easily assume a slashdotting of great proportions. It only helps that a person of great respect, prestige, and fame has tarnished the credibility of Brown and boosted the legality of the Linux kernel in the report.
I suppose I should be embarassed I'm not "in the know" with these inside stories on the Slashdot community, but a little sympathy or perhaps the occasional link to everything2.com (anybody remember those days?) would be nice.
And you would pick this up from the links, but just for the record: Tanenbaum is this european guy who once upon a time in the 80s wrote a textbook on operating systems which came with a simple UNIX-like operating system called "Minix". Ken Brown is some guy who works for something called the "Alex de Torqueville" (sic?) institute and he's writing a book which appears to mostly consist of slander against Linus Tourvalds and/or the Free Software movement.
by Anonymous Coward writes:
on Friday May 21, 2004 @07:34PM (#9221844)
Ken Brown is some guy who works for something called the "Alex de Torqueville" (sic?) institute and he's writing a book which appears to mostly consist of slander against Linus Tourvalds and/or the Free Software movement.
No it isn't, and I resent that! Slander is spoken. In print it's "Libel".
Sincerely,
Kenneth Brown President, Alexis de Tocqueville Institution
No it isn't, and I resent that! Slander is spoken. In print it's "Libel".
Sincerely,
Kenneth Brown President, Alexis de Tocqueville Institution
I am fairly certain that this person is not the real Kenneth Brown.
Based on his misleading attacks on Linus, I would say that the real Kenneth Brown would have written something like the following:
No it isn't. Three legal experts that I've consulted have agreed that the person is making entirely unsubstantiated claims. Open source advocates have been known to m
Well Ken, I see that it is obviously beyond your expertise to sign up properly to Slashdot and get a real username, which fits well with the other inabilities you have demonstrated, such as basic comprehension of facts.
If you can't handle signing up for a Slashdot account, I suggest that you ask your boss, Sir Bill, to get one of his few competent people to help you out.
Your name is German, you live in The Netherlands, but you write almost as well as a native English speaker. What's the scoop?
My paternal grandfather was born in Chorostkow, currently in Ukraine, historically in Poland, at the time under Austro-Hungarian management. He came to the U.S. in 1914. I was born in New York and grew up in White Plains, NY. I went to Amsterdam a
Prof. Tanenbaum made MINIX, which predates Linux and provided some inspiration, but no actual code. MINIX initially hosted the Linux environment until it was able to exist on its own. Prof. Tanenbaum and Linus had a massive flamefest early in the days of Linux over microkernel vs. monolithic kernel.
Ken Brown works for the Alexis de Tocqueville Institution, who is basicly in the business of writing "impartial" reports for people with money. It's public knowlege that they've taken money from Microsoft in the past for reports. He is writing a book accusing Linus of not writing Linux.
..... which must be a good thing for FOSS, Linux and the world at large. Brown may have, by accident, done everyone a big favour here, by forcing Prof. Tannenbaum to say what might otherwise have been left unsaid. We might otherwise imagine that animosity existed when in point of fact it did not.
All due respect to Linus and the Prof, none at all to Brown.
Linux was written on Minix and based partly on it (and partly on many other operating systems). But Linux does not and never did contain any Minix source code. For one Linux is a monolithic kernel and Minix is a microkernel. Not just different code but entirely different implementations. I highly recomment reading a usernet post from Andy Tanenbaum in 1992 titled "LINUX is obsolete" [google.com] and the corresponding response from Linus.
Not really. Linux never had any Minix code. I think you are confusing how Linux 0.1 had no real userland, which meant that you needed to install it over an existing Minix install.
Tanenbaum wrote MINIX, an operating system that was mildly popular in the days Linux was getting started. Tanenbaum and Torvalds had a famous debate [www.dina.dk] on OS design and the like between MINIX and Linux.
Ken Brown is employed by the Alexis de Tocqueville Institute, a firm that some Slashdotters speculate is in the pay of SCO, MS, or the ilk, and is trying to find criticisms against Linux, recently making the claim that Torvalds did not write Linux, which is probably too open to interpretation. Torvalds wrote Linux to the extent that he typed it, but he did built on prior work, just like everyone else. Even Microsoft originally bought all rights to DOS from a third party and modified and licensed it to IBM for their contract.
(At least, this is what I myself have gleaned from Slashdot. Some detail is probably wrong.)
You're being way too fair to Microsoft. They bought a clone of CP/M ported to the 8086. Then, they sold a license for it to IBM.
Really? Can you document that? I worked for Digital Research around that time, and there were many tales about how the MS/IBM thing happened, but I never heard this version. And what do you mean by "a clone of CP/M ported to the 8086"? There were three versions of CP/M at that point, one of which was an 8086 version.
Many people don't remember that one of Microsoft's first products was a CPM board for the Apple II. The Apple II was 6502 based, but I recall that the CPM board had an 8086 (or similar process from that family) on it.
Professor Andrew Tanenbaum is a professor who has written some great books. I'm very happy to have read read them. One of his books was Operatin g System Desgin and Implementation [bookpool.com] in which he describes operating systems with a toy, minimal, Unix-like operating system for the 8088 called Minix [minix.org]. It wasn't a really useful OS, but it was small enough to take a look at the code to any particular subsystem and learn how it worked. As an example of its mimilalism, it did have some hardware memory protection between processes, but did so with segment registers. That limited the size of each program to 64k.
Minix wasn't free or open source software. (ideas that were pretty much in their infancy) Tanenbaum sold it through his book publisher. Not for much, probably just enough to make it worth Prentice-Hall's time. Without the Internet as a cost effective distribution medium, someone had to take the orders and mail the disks. People loved tinkering with Minux, though. They ported it to other platforms, (Atari ST, Amiga, Sparc, 80306, etc.) They added to it and started distributing patches. Linus was using Minix-386 before he managed to get Linux to be self-hosting. In some reports, it was Linus' annoyance at having to pay for Minux that inspired him to make Linux free software.
Ken Brown, on the other hand, is someone whose name isn't very recognizable in technical circles. I'm tempted to say that he is a nobody, but maybe I just don't hang around the right circles. (Or on the other hand, maybe if I've never heard of him that means that I hang around the right circles.) I first read about the Alexis de Tocqueville Institution a couple of years ago when they published a paper [adti.net] questioning the security of free and open source software, and sold the paper in a through a system that allowed people to download the paper without purchasing it. Most of the links on their site are either links to articles from news sites about the institutes press releases, or links to papers that they promise will be ready soon.
Tanenbaum (AST) is a Professor who worked at AT&T and has written many textbooks aimed at university students. AST's most famous book - Operating Systems: Design and Implementation - includes a UNIX-alike operating system called Minix that he wrote himself. Minix includes binaries and source code for the kernel, C library, C compiler, and all the utilities. AST wrote Minix and the book to teach students how operating systems are written. Any computing science student who attended a decent university in the past decade has probably had at least one of AST's books as a required text.
Minix ran on an 8086 and didn't have modern virtual memory (VM) features. When the 80386 came out there were some unofficial patches to make Minix/386. These patches added virtual memory and paging and memory protection, turning Minix into an useful OS. AST refused to add these patches to Minix, rightly arguing that they would make Minix too complex for a student to understand. Minix was a teaching tool, not a general purpose OS, even though Minix/386 was a pretty good general purpose OS. Unfortunately the license back then didn't permit forking. Despite these limitations, Minix had a very large user community. .
When Linus came along and announced Linux a lot of people realised that GNU (basically all of UNIX except for the kernel) and Linux (basically none of UNIX except the kernel) when combined would produce a UNIX-alike operating system. Just like Minix but with VM and the more relaxed GPL for a license. There was no Linux news group so all the discussions were on the Minix news group.
AST put his two cents in on the Linux kernel. He correctly pointed out that the Linux design was a 30 year old monolithic design; not elegant or modern. Linus argued back that monolithic kernels are more practical. AST said Linus would fail his OS class, if Linus was his student. That's the infamous AST/Linus flamewar. It wasn't very hot, as far as flamewars went. AST was right, so was Linus. They just had different perspectives.
Ken Brown is an ignorant idiot who is selling a book claiming that Linus didn't write Linux. He argues that noone could write something so complex as a UNIX-like kernel without stealing code. Ken is under the delusion that writing a UNIX needs a huge team of people working for many years. He seems to be ignorant of the fact that the first UNIX was written by Ken Thompson on a computer so ancient that your wrist watch has more computing power. For "research", Ken Brown spoke to AST. Notably he did not speak to Linus Torvalds. AST is pointing out that Ken is lying in his book; AST has pointed to several examples of single authors who created a UNIX-like kernel, AST included.
The confusion might be that Ken Brown doesn't understand that Linux is just a kernel. The first "Linux" that you ran back in 1991 was actually GNU/Linux. Linux comprised less than 2% of that system. RMS and his team had been working on GNU for nearly a decade by that stage (longer if you count emacs). Linux The Kernel was a small piece of the puzzle. An essential piece, but certainly writable in 6 months by a bright and talented person. These days, Linux is an incredibly tiny piece of a "Linux distribution". Ken Brown might think that Linus is laying claim to the entire system. Of course, Linus has only ever claimed credit for the first kernel. Recent kernels have very little "Linus" in them. And the distro you have on the desktop is less than 1% Linux anyway.
The other theory is that Ken Brown is being paid by SCO/Microsoft/LatestPariah to create FUD over the legal origins of Linux.
I prefer my own theory. Ken wants attention. Saying something ridiculous gets easy attention and increases book sales. We're playing right into his hands by giving him the time of day. It gives him false credibility by creating a "controversy" when in reality there is no controversy. Just Ken saying ridiculous things with no evidence to back them up. It's like all those authors who write books on Noah's Ark, or the location of Atlantis. They must have a huge grin on their face when somebody pays attention to them.
"It's like all those authors who write books on Noah's Ark, or the location of Atlantis."
I would have said more like those so-called professional historians, and the guy who allegedly perfected the Gas Chamber and the Electric Chair, who visited Auschwitz, saw with their own eyes, and then denied that the Holocaust ever happened. BTW I am not Jewish, I have no axe to grind, but well-established facts with overwhelming eyewitness and photographic evedence are exactly what they seem, the contrary opinion is h
You know, not everyone comes to slashdot for just OS and linux news. It's "news for nerds", yes, but some people are more interested in parts other than the creation of linux.
You may not agree with him, but you'd have a tough time arguing he's not a respected researcher. His books are standard texts at many universities...Modern Operating Systems [amazon.com] is the one used in the undergrad OS class here at Harvard.
by Anonymous Coward writes:
on Friday May 21, 2004 @07:18PM (#9221750)
Some of which are easier to answer than others:
Why did Brown fly all the way to Europe to interview me and (and according to an email I got from his seat-mate on the plane) one other person in Scandinavia, at considerable expense, and not at least call Linus?
I think the answer is "because calling Linus wouldn't have allowed Brown to get the Alex de Torqeville Institute to pay for him to take a vacation to Holland".
There is no other way to explain the conclusions we've seen reported for this book, except that Brown spent a good deal of time in Amsterdam coffeehouses, consuming high-grade grass.
This get me so irritated. People who immediately start yelling "drugs" when the Netherlands comes up. We have so many interesting other things! There is... uhm... (should not mention hookers here)... uhm...... I'll get back to you.
In his email, Linus said that Brown never contacted him. No email, no phone call, no personal interview. Nothing. Considering the fact that Brown was writing an explosive book in which he accused Linus of not being the author of Linux, you would think a serious author would at least confront the subject with the accusation and give him a chance to respond. What kind of a reporter talks to people on the periphery of the subject but fails to talk to the main player?
This isn't being disingenious, that is a highbrow critique.
If the author was serious then he would have given his "target" - Linus - at least some chance to respond. He didn't. Therefore he isn't a serious author.
Professors generally don't go saying directly, 'that author is such a luuusor dude!' And authors who write trash books about Di aren't exactly people to take seriously either.
You know, I think I had AST wrong. I'd seen the thread where he bashes Linus for not doing a microkernel design and thought that maybe it was sour grapes.
His exchanges on this subject have changed my opinion on that. He's been nothing but kind toward Linus, generous with his time, and well-spoken.
If anything good come out of this whole mess, maybe it's that AST really got to show us what he's really like instead of all of us just assuming that he was bitter about the MINIX/Linux history.
I agree that a lot of people in academia have superinflated egos, but the ones who are at the top are because of their earnest desire to learn and explore new realms of their beloved fields. If Tannenbaum was narrow minded to get entangled in micro-kernel vs. macro-kernel, he wouldn't be where he is right now.
Remember that research is more about asking questions, engaging in discussions, acting as a devil's advocate to prove yourself wrong, and dealing paradoxes then it is about answering them. I'm sure nobody around here as any doubt about contribution Tannenbaum has made to computer sceience can be surpassed only by few.
He so totally rocks and has been my inspirtation since my undergrad days and has written a few books that I will never part with.
You know, I think I had AST wrong. I'd seen the thread where he bashes Linus for not doing a microkernel design and thought that maybe it was sour grapes.
Well, its good that you made such an informed judgement on his character so early. I think that way to many/.ers are doing that. They read one thread that was linked to a couple days ago, and just because it was an argument with Linus, he must be the bad guy. Remember that, after all, he was being very polite in that discussion and in the end Linus had to apologize for being too hotheaded. He simply strongly believes that microkernels are the best approach.
So please,/.ers, stop thinking that you have to have an opinion on everything, even the things that you don't really know about.
by Anonymous Coward writes:
on Friday May 21, 2004 @09:23PM (#9222427)
Actually, his argument is that a microkernel would make a better early-90s graduate-level compsci project than a conventional monolithic kernel.
He's basically bashing Linus for doing an academically uninteresting project. (Keep in mind that as a professor, he's got the complete UNIX source code at his fingertips - he didn't need a free unix.)
And he was right, but that hasn't stopped damp pantied fanboys from tarring-n-feathering him over the years for arguing with the Great Linus.
If microkernels are the best approach why is gnu/HURD taking so long?
Dunno, what does the one have to do with the other? It's like saying 'If macrokernels are the best approeach, why does Windows suck do much?'
The Hurd is a set of user-space server running on top of a microkernel (currently Mach), together providing the old Unix experience besides other more interesting things.
Really, it's not taking so long because it was a microkernel (it is NOT!), it's just that there's nobody working on it.
If you want successful microkernels, look at NT and Darwin
Hmmm, No...
It's a widely perpetuated myth that NT is a microkernel. It may have started out that way, but has long since grown through millikernel, centikernel, decikernel to full blown kernel... (and beyond if you count browser, media player and kitchen sink OS embedding)
The linked letter from Prof Tanenbaum touches on this point too... He says:
Microsoft claimed that Windows NT 3.51 was a microkernel. It wasn't. It wasn't even close. Even they dropped the claim with NT 4.0.
Incidentally--not to reply to my own post--Amit Singh has a great bit on kernelthreat about XNU, the kernel in OS X. Read it here [kernelthread.com]. Basically, XNU does inherit a microkernel design from Mach, but it isn't used as such.
If you want successful microkernels, look at NT and Darwin.
No.
Others have already explained why those are not examples of microkernels. If you want a real example of a successful microkernel, look at QNX (which is very successful in its target market).
I have used AST's book with MINIX CDROM in an OS internals class I took in the evening, and I think he's the greatest. That being said, I chuckle at his stating a microkernel OS will give about a 20% performance hit compared to a monolithic (the "big mess" type, as my professor jokingly called them), but good design/ease of debugging worth that price. It is easy to see how most Linux users would side with Linus and have a "hot-rodded" OS even if more of a challenge to design and debug.
It kind of reminds me of the performance I get on my sparcstation 5 using SunOS 4.1.3 or OpenBSD versus Solaris 2.x (though I know there's some complex issues there)
You know, I think I had AST wrong. I'd seen the thread where he bashes Linus for not doing a microkernel design and thought that maybe it was sour grapes.
Well shame on you. While I've never fully bought into Tanenbaum's arguments on microkernel they have never been antyhing but cogent, coherent and well made.
It is the kind of debate that academics are used to making all the time and AST as the distinguished and brilliant OS professor he is, gave us a good example of.
It seems Linux kiddies weren't mature enough to handle them and asumed malice on AST's part.
I sort of thought that way about him after I read the initial argument, though I still had a lot of respect for his books. But, after reading his first article about the Brown book, I didn't feel that way anymore. It was clear to me that his comments in the middle were him gleefully taking advantage of the fact that he (deservedly) had a wide audience to point out that he still considers monolithic kernels a poor design choice and to give reasons why.
I detected no note of bitterness or anger over Linux's success. Though I did find some of his comments about Minix licensing to be slightly revisionist. I found people's comments here to be more amusing.
I sometimes think that people who do not have a scientist mindset mistake heated debate among scientists for petty emotional rancor. The latter does happen, but heated debate is not a definitive indicator.
Linus is an engineer, and is wants to make a system that works really well. Tanenbaum is an academic, and wants to make a system which is informative. Both have been wildly successful at their respective goals.
The microkernel argument was an academic argument, of the sort that which is not held for the purpose of winning it, but of coming to an agreement on the relative merits of different approaches. As for winners, Linux obviously continues to be a monolithic kernel. But it should not be ignored that you can now add filesystems to a running kernel as modules, and even build them outside of the kernel tree. At this point, Linux is essentially a microkernel design running as a monolithic kernel for performance reasons as an implementation detail. A future version could offer the option of running the filesystems in userspace if you want. (That is, running all of the filesystems in userspace with the kernel fs API; there's already support for having filesystems in userspace if you want.) I wouldn't be surprised if people having weird problems would be advised to try the "ext3.userspace" option, and if you could avoid tainting your kernel with "nvidia.userspace".
But it should not be ignored that you can now add filesystems to a running kernel as modules, and even build them outside of the kernel tree. At this point, Linux is essentially a microkernel design running as a monolithic kernel for performance reasons as an implementation detail.
Dynamically loadable modules does not make Linux a microkernel design. It would only be a microkernel if the filesystem code ran in a different address space. But because ext3.o runs in the same address space as the kernel, it is most definitely a monolithic design. It is not a "microkernel design running as a monolithic kernel". That's just a nonsensical statement.
A future version could offer the option of running the filesystems in userspace if you want. (That is, running all of the filesystems in userspace with the kernel fs API; there's already support for having filesystems in userspace if you want.) I wouldn't be surprised if people having weird problems would be advised to try the "ext3.userspace" option, and if you could avoid tainting your kernel with "nvidia.userspace".
You clearly understand that the significant distinction between microkernel and monolithic is the address space for the subsystems. So I can't understand why you'd suggest that kernel modules makes Linux "essentially a microkernel design". Look at the address space for ext3.o; it's kernel space.
I don't see Linux evolving into a microkernel until there's hardware support for cross address space branching. Don't hold your breath.
Please, respond when you know what you are talking about.
Someone in an academic environment supposed to be open to idea's and non baised. Most though have ego's including Tanenbaum which blind them. Who said academics are supposed to be biased? Most are very biased towards their own ideas, and push them whenever possible. Its a natural part of the competitive system that allows academia to advance.
Funny, Linux, Solaris, FreeBSD, and As/400 have uptimes that measure in years if you do not include security patching. Even funnier is the fact that, with a microkernel OS, lots of downtime due to security-patching is unnecessary, because critical services run as easily restarted userspace tasks. There is no doubt that Linux, Solaris, *BSD, etc, are highly stable, but they are something you trust your server to --- a microkernel like QNX is what you trust your nuclear reactor to!
MacOSX is less stable than a macrokernels like Linux according to those who use it as a server. MacOS X has a monolithic kernel. Mach and BSD both run in kernel-space, with messaging replaced by direct function calls wherever possible. That was one of the chief changes between NeXTStep and OS X.
I read Linus' book and heard about the "feud" between him and Tanenbaum... somehow, I never connected that Tanenbaum to the one that wrote my networking text...
Whatever else may be said about Prof. Tanenbaum, I learned much of what I know about networking from his excellent text. It should be said that he is excellent at what he does (that is, teaching students about computers).
First, I REALLY am not angry with Linus. HONEST. He's not angry with me either. I am not some kind of "sore loser" who feels he has been eclipsed by Linus. MINIX was only a kind of fun hobby for me.
For the rest of you who don't know 'the past' Prof. Tanenbaum with Linus, you may refer to the famous mailing list log "Linux is Obsolete" [fluidsignal.com].
Linus seems to be doing excellent work and I wish him much success in the future.
So I guess Prof. Tanenbaum can give higher grade than "F" to Linus now.:)
Both Prof. Tanenbaum and Linus are my favourite persons. I'm so happy to see this happy ending in real life.:~)
So I guess Prof. Tanenbaum can give higher grade than "F" to Linus now.:)
Actually, I still don't think that he would. He still affirms that the point of view from which he looks at OS design is academic. He emphasizes that he is a PROFESSOR, not someone trying to make a production grade operating system. As are many academics, he is a purist and thus believes in a conceptually optimized design (microkernel) rather than a practical design (monolithic kernel). So, if Linus was still in his class, the "F" would probably stand, because Linux does not follow all the conceptual guidelines that Tanenbaum feels so strongly about. This argument was never really a big deal in the first place, it was just a classic arguemnt between a realist and a purist.
I think he would pass, even in the beginning. AST was clearly ironic -- he even put a smiley in his post:
I still maintain the point that designing a monolithic kernel in 1991 is a fundamental error. Be thankful you are not my student. You would not get a high grade for such a design:-)
Linus would also get a second 'F' for writing i386 specific code, but that problem is long gone. Are there any other OS, apart from NetBSD, that supports as many architectures as Linux?
It seems to me that AST was quite impressed with Linux from the start -- especially the Posix compliance -- but disagreed strongly with the design (or lack thereof). You have to remember that many people actually wanted to turn Minix into something like Linux, and that was out of the question. Linux is not as good for what Minix was supposed to do: teach OS principles. If you consider the context of the discussion, AST does not look as arrogant, and certainly not stupid (although his predictions for the future were a bit off target, but I don't think Linus expected his little hobby to be the subject of a multi-billion dollar suit either).
1600 come from search-engine bots
450 come from kids attempting to compromise his apache server with IIS-specific exploits
350 come from a single female grad student who is all aflutter over AST's [micro-kernel] hacking skills.
75 come from accidentally mis-spelling 'whitehouse.gov'
24 come from/. users
1 comes from his mother.
Trying not to troll here, but this document is not that news-worthy, is it? I mean -obviously- the whole Ken Brown thing is one big Microsoft Marketing Ploy (tm). If a manager 'falls for' (lets assume the Ken Brown book is purely Microsoft Marketing driven) the arguments of the book, he's probably not of the sort to go look for Andrew Tanenbaum's site. These people are the ones that fall for dicy logic (in this case, the "Argumentam ad Verecundiam", or argument from authority, fake or no, the institute sounds interesting)
On the same note, I doubt that very many in the 'Slashdot-like' internet community need extra convincing to believe that the book is Microsoft-driven, not fact-driven.
Therefore the only effect Tanenbaum (and Slashdot) gets from this document is self-defence and mutual knob-polishery. Not that Tanenbaum is entitled to have his say and defend his honor, but there you go.
What the Slashdot/unix/GNU/whatever community really should consider is how they can truely counter the 'lets convince the stupid masses' policy of Microsoft. (yeah I know I sound elitist, thats because I am..)
Seriously though, the more manager types that don't fall for Microsoft Marketing the better, IMHO. But how? I don't think slashdotting works, but perhaps we should set up a more Market-driven avocacy site for open source. Get The Facts! There are plenty of people out there who would have fun with doing some effective marketing here, and could do more for the community than program another random number generator;)
One of the things that strikes me most about Microsoft Marketing is that whatever Article (negative or no) I read online about Microsoft, 8 out of 10 times I see a big blinking Microsoft ad! I can't help but be impressed by that, even if I don't like it.
"What the Slashdot/unix/GNU/whatever community really should consider is how they can truely counter the 'lets convince the stupid masses' policy of Microsoft. (yeah I know I sound elitist, thats because I am..) "
My opinion, the easiest way to do this is sugested in your statement. The key is unix, not linux. Meaning linux is in the unix family. Promoting unix as a whole as an alternative to microsoft, especially in the server areas is important.
There are different types of unixes from proprietary to
You're right, and indeed I said 'unix' not 'linux'. The whole thing that is both the strenght and the weakness of the 'alternative to windows' is its very nature, the design Philosophy. Open Source most notably. The problem is, everyone has the right and the possibility to make their custom version of an application or even core structure, tweaked to their needs, and this is a Marketing disaster.
Open Source fights itself
If I promote Linux I would have no time to promote OpenBSD, even though in princip
>Therefore the only effect Tanenbaum (and Slashdot) gets from this >document is self-defence and mutual knob-polishery. Not that >Tanenbaum is entitled to have his say and defend his honor, but there >you go.
I don't think Tanenbaum loses sleep worrying about the commercial sucess of Linux:)
I think he was mostly trying to prevent looking like a dick for being associated with that book. Mission accomplished!
Perhaps today he's preaching to the choir, but look at it this way: One of the world's most respected computer scientists just TRASHED the integrity of the guy who interviewed him. I'm sure the whatchamacallit institute will be a long time living this down. And Tanembaum provides lots of nice quotes for the profesional marketers from Red Hat/IBM/Novell/whatever, computer columnists, etc.
Sorry, I came to this discussion late. Is this the same Alexis de Tocqueville Institution that came out with that controversial "report" called Opening the Open Source Debate [adti.net] a few years back? Here's a quote from the press release...
In a paper to be released next week, the Alexis de Tocqueville Institution outlines how open source might facilitate efforts to disrupt or sabotage electronic commerce, air traffic control or even sensitive surveillance systems.
And who funded that Alexis de Tocqueville Institution report?
Careless spelling and careless arithmetic are often indicators of sloppy thinking. They're also impolite -- the rest of us have to think harder than should be necessary in order to take your meaning. Don't be surprised to find that some readers will not put forth the extra effort, when they see that a writer does not put forth even the minimum effort.
... you guys would absolutely not believe the stuff this guy says about Free Software philosophy. He takes every single aspect of FOSS and gives it a sinister anti-business anti-America anti-puppy connotation.
I only read the first 20 pages or so, then I skipped to the bibliography. In over fifty listings, the only real books he listed were ESR's and they're available online. Every other reference he listed was someone's personal homepage or a newsgroup posting or something arbitrary like that.
There will be an article, ladies and gentlemen. I just haven't decided if it should be a serious analytical debunking of this troll book or a humor piece that shows its rediculousness.
The more I read of Tanenbaum and his work the more I admire him. The fact that he is a Fellow of two prestigious societies says alot about his contributions. Tanenbaum is a classic academic; he knows where to pick his fights - on the science. He attempts to stay above personalities, but doesn't flinch when it comes to calling bullshit on some dickhead (my words) who is out to smear someone for money.
For starters, I'm reading this discussion on a computer running a microkernel. This machine is running QNX 6.2 [qnx.com] on a Shuttle 1.5GHz AMD desktop box. The browser is Mozilla 1.6, running under the QNX Photon GUI. It runs about as well as the same version of Mozilla on a comparable Windows machine. Even the same Mozilla bugs show up.
The file systems and networking are user programs.
You can add new file systems; there's one that mounts.zip files, there's NFS, and there's Samba.
In Linux terms, visualize a system where there's the/proc file system for inter-program communication, and everything works through that mechanism.
The drivers really are outside the OS. I've written a FireWire camera driver for QNX, and it's a user program. It's privileged in that it does map some real memory shared by the device, and it can talk to the device directly, so it could potentially cause a crash by making the device write someplace it shouldn't. (That's really a weakness in the PC's I/O architecture; there's no MMU between devices
and memory, for historical reasons dating back to the original IBM PC.)
Debugging a driver is like debugging a normal program. You can even run a driver under a debugger. You can kill a driver while it's running, and it's no big deal. (If you have real memory mapped, it's not recovered until the next boot, so I had to restart my machine about once a week while doing driver development.) Mainframe people have been doing this since the 1960s, but it's rare on PCs.
The basic penalty for using a microkernel is one extra copy and context switch for every file system operation. If your system is doing anything besides I/O, you'll probably never notice. If you're running a web server that serves mostly plain pages (little Perl, Java, PHP, etc.),
you'd probably notice the overhead.
So why are microkernels so rare? They're hard to write well. You can't just hack them together like a UNIX clone. There are some tough design problems to be solved. If those are botched, message passing performance will be terrible.
Message passing and CPU scheduling need to work together. This forces certain design decisions in the scheduler. It's also why adding message passing to an existing system tends not to work well. The Hurd crowd has been thrashing on this issue for a decade. I would have loved to see something as good as QNX from the Hurd people.
But it didn't happen.
Mach didn't really work out as a microkernel. Mach started from 4.3BSD (considered bloated in its day), and versions of Mach below 3 had 4.3BSD in the kernel. MacOS X is not a microkernel system; the BSD stuff is in the kernel. Basically, retrofitting a microkernel architecture to an existing UNIX kernel didn't work.
What you do get from a microkernel like QNX is predictablity. The kernel changes very little and is very reliable. Good microkernels, like QNX and IBM's VM, settle down into versions that almost never change and have very long MTBFs. This brings down total cost of ownership.
The basic penalty for using a microkernel is one extra copy and context switch for every file system operation. If your system is doing anything besides I/O, you'll probably never notice. If you're running a web server that serves mostly plain pages (little Perl, Java, PHP, etc.), you'd probably notice the overhead.
The bus multiplier on processors and the cycles-for-a-main-memory-access have steadily increased over the past decade or so. This has steadily increased the cost of a page table cache flush, a
I think the Linux is obsolete flamewar [oreilly.com] is good reading for anyone trying to understand the history behind all of this. It certainly is funny to see Tanenbaum making predictions like "5 years from now
everyone will be running free GNU on their 200 MIPS, 64M SPARCstation-5". Of course, hindsight is 20/20, but it does make one wonder what the history of free operating systems would look like had Linux been controlled/produced by someone with Tanenbaum's outlook rather than Linus's.
Read more closely in Linus' old writings -- Linus originally intended Linux to be a stopgap solution, and expected that HURD would end up taking over the position of flagbearer.
As it happened, HURD ended up sucking, and so Linux remained the default.
I think the thing that set Linus off was more the fact that Linux was being insulted (probably Prof. Tanenbaum was feeling a bit cranky that day or something, and Linus was in a fighting mood...)
It's funny how emails waaay back then, from when Linus was still a pretty small fry guy, can come back to haunt the people involved.
It's something to think about before posting to a mailing list: If I get really famous ten years from now, is this going to cause me or someone I respect hurt?
(1) Since when does "Alexis de Tocqueville Institute" sound like an IT consulting group that anyone would want to pay attention to? Check out their website; it's a political think tank (which is what I would expect from the de Tocqueville moniker). (2) "Linus didn't write Linux"... sounds like a dorky meme. Besides looking stupid on a shallow marketing level (why do you think it's called Linux?) and being factually stupid (he sure did write it), it's one of those big yawner don't-care issues. Joe CIO isn't gonna go "oooh! better not deploy Linux after all! Linus didn't actually write it!" (3) If you're gonna write an attack book, how about reading the existing books first, so that the people you talk to don't point your ignorance in public.
Can you imagine us Penguinistas trying this kind of weak shit on Microsoft? "Hey, Boss! I've got a study from the Henry David Thoreau Institute! Bill Gates didn't actually write MS-DOS, he bought it from Tim Paterson, so we better not run anything from Microsoft. Besides, Windows crashes all the time... errr okay I haven't actually RUN Windows since Windows 95... anyways we should run Linux on everything!"
Microsoft says that Linux is their #1 or #2 competitor. I expect a helluva lot stronger attack from Microsoft than this!
My theory is that Microsoft uses AdTI to float many different trial balloons. They'll keep the ones that look good and dump the stinkers. This one's a stinker.
I've read Ken Brown's essay, and I debunk it here [sourcefrog.net]. Here is the executive summary:
The paper is poorly written, full of contradictions and gramatical
errors. If their essay were a program, it would not even compile, let
alone work.
Nearly every paragraph makes an unsubstantiated assertion. Brown
seems to feel that just inserting "it is clear that", "ironically",
"clearly", or "it is widely known" is an adequate substitute for
cited evidence. Ironically, it clearly is not.
Brown clearly does not understand the terms he uses, such as
"copyright", "public domain" or "open source". He does not seem to
understand that copyright protects representations, not ideas. In
several places he seems to think that open source is in the public domain.
Quotes such as "sometimes theft is necessary" as are attributed to
the open source community without any evidence they were ever uttered
by anyone.
Experts are asked misleading or hypothetical questions to elicit
quotes that are used out of context. I think AdTI is not honest
enough to ask straight questions because the answers would not suit
them.
Brown says he can't believe that Linus wrote Linux,
because... welll, he just can't believe it. Nothing more. He does
not cite even a single line of Linux source that was copied from any
other system, despite that all the data needed to check this is
available to him. If he found even one line, his paper might be
credible. But he does not.
When sources are cited, Brown grossly misinterprets the data:
diagrams that do not show code descent are interpreted as showing code
descent.
If Microsoft paid AdTI to write this, they didn't get much for
their money.
AdTI would like universities to release their work under something
like the MIT licence, rather than the GPL or proprietary licences. At
least this is not obviously silly, though as usual they just state it
without making a meaningful case.
Before a book is published the publishers/authors usually send out copies for review & comments. Then, if errors are found (for example) they can be corrected before going to print. The idea of the embargo is essentially like an NDA - because the version being read is not the final version, it would be unfair to talk publically about it.
As for free speech - this isn't a legal thing, it's purely done out of respect for the publishing process and basic good manners. Once the final version is available it's fair game for anyone.
I never had him, but my favorite undergrad CS professor LOVED using his books - he would say "Here's where Tannenbaum got it right" and riff for five minutes, then say "And here's where he blew it, and this is why" and be off for fifteen... I enjoyed Tobin's classes, and I'm not sure he'd've been nearly as much fun without AST's textbooks to use as a basis. I've been through Compilers, Computer Networks, and two Operating Systems classes using Tannenbaum's books, (and many since using books by others), and I can say they were all bona-fide Learning Experiences.
Back then (way back in the late '80s), standard assignments were to go "tweak" parts of Minix - make the network interface big- or little-endian, switchable on the fly; change the file system block size and see what happens; screw up the priority system and see if user keypresses even get answered before your applications finish running... as a learning OS, demonstrating ways OSs can be put together, I learned a lot from it.
To be honest, the only times I've read anything directly written by Tanenbaum (and been aware of the fact) was when reading the minor flames between him and Linus and this recent webpage. (My OS class used the "dinosaur book".)
From this tiny dataset, it doesn't really seem that AST is particularly arrogant. I've written much nastier flames than AST did on that infamous occasion. He backs up his claims -- "microkernels are better -- I can say this because I know better than you due to 20 years studying them" would be arrogant. "Microkernels take a relatively minor 20% performance hit or so and provide easier debugging" is a different story.
I'm not trying to make a hero out of AST, but he has been one of the most influential person in computer science. Not only has he contributed in terms of his creative input, but his bigger contribution is in teaching. His book on Computer Networks inspired me to write one myself.
Have you ever met Tanenbaum? Can you say that somebody is a "prick" just because he is willing to engage in a discussion solely on the basis of technical merits and because he loves one thing and hates another. I'll at least meet the person before debunking him as an egotist.
And Tanenbaum's achievements go beyond Minix. You can find out more if you care to look for his contributions on the web. He doesn't even count Minix as his achievement. The world does not know him for Minix. It was just a nice "add-on" to his operating book.
Minix... wasn't really good for learning the architecture of an OS.... and people could goof around with it for free
I think, if a professor of mine would write an operating system for me to have me the freedom of goofing around, I would call it a very good source.
And, even if the OS itself was not so good, it doesn't matter, because people often learn the subject from the mistakes, shortcomings. After all, Linus wrote the Linux to improve Minix on Minix.
And, even if the OS itself was not so good, it doesn't matter, because people often learn the subject from the mistakes, shortcomings.
You may be suffering from the misconception that Minix tried to be, or should have been, a commercial grade Unix workalike. If so you are wrong. When you write software in an academic environment where the goal is to teach students the code should be written with clarity and easy of understanding being paramount. If efficiency or more advanced techniques conflicts with clarity or ease of understanding you should choose the later. The job of the University is to teach core concepts that are long lived and transcend the OS, language, or architecture of the day.
After all, Linus wrote the Linux to improve Minix on Minix.
No. Linux and Minix have different missions. Minix was a teaching tool, it's mission was not to become a full featured Unix workalike. Its goal was to remain small and comprehensible to further its teaching mission. Linux had a very different mission. It is silly to compare the two. Linux is no more of an improvement on Minix than a wrench is an improvement on a screwdriver. Different tools for different jobs, or missions in this case.
I'm posting this as AC since I'll most likely be modded down for touching a "hero" of the Linux revolution:
I've always rather gotten the impression that he was something of the anti-christ of the Linux revolution, and that that's why he has to waste so much time explaining that he and Linus are not enemies.
. ..very very pleased with himself for having written Minix and fostered the development of Linux.
And says so in the very paper in question.
The trouble is that Minix, which was meant to be an academic OS to study. ..
And says so in the very paper in question.
. ..was never good performance-wise. ..
And says so in the very paper in question.
. ..and wasn't really good for learning the architecture of an OS either.
Here I'm sure he'd disagree with you, however, since you leave out why it "wasn't really good" you protect yourself from criticism.
Minix knew success because it was "this other, free Unix for i386" (and some other architectures like the Atari ST), and people could goof around with it for free.
And says so in both papers in question.
That's the extent of Tanenbaum's achievenemts.
And explains that such is not the case in the paper in question.
. ..but somehow Tanenbaum feels entitled to think of himself as a pillar of computer science and computer history, and act accordingly.
And not only says so in the paper in question, but points to references should one chose to follow them up. Not to mention the fact that if he were not popularly regarded as such among the computer science community said paper whould have no had raison d'etre in the first place.
Now I shall watch myself be modded down as a troll by Slashdotter who have never met, read about, or listened to him...
As a general rule I find it more responsive to posts such as yours to, well, respond, rather than mod down something just because I might find it unpalatable. An unpalatable point of view is not the same thing as a troll.
I have never met the man, nor listened to him, but I have both read him and read about him. He is a public figure in the computer science community, just as is Linus.
He impresses me, as he appears to impress the orginal poster, as just the sort of intelligently sarcastic "prick," in the Swift/Dickens/Twain/Leacock mode, that I rather enjoy dealing with.
Of course you have to consider the source of that last statement (as one might well consider the source of any), as I myself have been accused, on occasion, of being such a man, and may be merely feeling an affinity of kind.
> I'll most likely be modded down for touching a "hero" of the Linux revolution:
Tanenbaum is hardly seen as a "hero" in the Linux community, of those who know him at all, most only remember the infamous "Linux is obsolete" flameware on Usenet.
> It's quite well known that Proff Tanenbaum is somewhat of a prick, very very pleased with himself for having written Minix and fostered the development of Linux.
How is this well known? I've never read anything about him boasting about having fostered the development of Linux. He does point out areas where the early Linux was inspired by Minix, but I don't think anyone would dispute that.
> Minix knew success because it was "this other, free Unix for i386"
It was the "free Unix for XT". One of the reasons for Linus to develop Linux was that Minix didn't take advantage of any of the advanced features of the 80386. AST refused almost all suggested improvements, his motivation being that he wanted to teach it in a one semester course.
> That's the extent of Tanenbaum's achievenemts.
Tanenbaum is a university professor. His achievements are his publications in peer reviewed journals, and citations to these publications. Since he has lots of both, he's been pretty successful.
Tanenbaum is hardly seen as a "hero" in the Linux community, of those who know him at all, most only remember the infamous "Linux is obsolete" flameware on Usenet.
I would characterize Tanenbaum's opinion as Linux is using antiquated technology and that performance benefits do not warrant the additional complexity. Tanenbaum may very well be correct. The fact that Linux is successful and likely to become the defacto Unix implementation is not evidence that Tanenbaum was wrong. Antiquated technology and market success are not mutually exclusive. I offer ix86 and Alpha as an example. If Tanenbaum is correct all this meant was that Linus and other developers had to work a little longer and a littler harder to achieve reliability and security. Tanenbaum didn't think the performance gain was worth the time, Linus did.
While I'm hardly a Linux zealot, I think Tanenbaum deserves quite a bit of credit. Tanenbaum's books are hands on. I'm not a CS major anymore; I'm a math major, so I don't claim to be up on every OS textbook in the field. However, I still like to get my hands dirty with interesting code and I've been a programmer professionally for several years.
I don't know Tanenbaum at all; however, his books are more hands on than the standard fare. My OS book didn't come with any usable code at all. Frankly, I had to force code into my class. In fact, my professor (old to the computer industry, but young to academia) was prompted to bring more required labs to the class because of it. I've picked up a few of Tanenbaum's books. In my opinion, it's as good at teaching operating systems as the "dragon" book is on teaching compiler design.
Why is Richard Stevens considered a genius and Tanenbaum not. Humility aside, like I said I never met the guy, most professors are a little bit pompous. As long as he doesn't torture his students with such BS, a little arrogance is fine by me. Including a small copy of a Unix-like variant to be examined with the book was revolutionary by pedagogical standards. I once had a copy of the "Lions Commentary on Unix". While it was interesting, it was written in C and Assembly (with some antiquated instruction set)**. The code was virtually useless for me. Despite popular opinion, I really don't have a PDP-11 in my basement. Tanenbaum's book|code was great. Finally a useful OS I could "play" with. Linux is too large to examine in a classroom. It's an industrial strength OS. Should I learn database theory by mucking with the source code for Oracle or DB2 (if this were even possible)? Of course not. Why should an OS be any different? You only learn by doing. You don't really learn by thinking about psuedocode. In this regard, MINIX fills a hole so desperately apparent in academia. MINIX provides a tangible example of modern OS design.
If you've had this man for a class and can relate a specific instance about his arrogance, feel free to do so. That's a completely different story. However, if you're going to knock the man for having some pride in his work -- well tough. It's not like Bill Gates, Steve Jobs, Gary Killdall, et al isn't a little bit of a "prick" too.
**I don't remember too much about the specifics of the "Lions Commentary on Unix".
Despite popular opinion, I really don't have a PDP-11 in my basement.
Damn! Me and my friends have all been sure that you've had one in there for *years*.
well tough. It's not like Bill Gates, Steve Jobs, Gary Killdall, et al isn't a little bit of a "prick" too.
Jobs is an arrogant guy that didn't do the amazing engineering work that he gets credit for ("The Mac kicks ass so Steve Jobs kicks ass" is very faulty logic.) Maybe he's a good organizer, but he's also the source of a lot of the decisions that
I think I like this guy. Has anyone here ever had him as a professor? Is he this amusing when he's teaching class?:)
I've had him as a professor and he co-advised my Master's thesis.
Indeed, he is as amusing when teaching class. I took one or two classes he taught. However, his lectures are useless because his books speak for themselves. The only real reason to go to his lectures is because he is very funny.
In addition to the lectures, we had to modify the MINIX kernel to do memory fragmentation and modify the file system to support ACLs. Both not very hard, but a good learning experience.
I know he's always on the lookout for graduate students to work with him. Having had him co-advise my Master's thesis, I can wholeheartedly encourage you to work with Prof. Tanenbaum.
Ken Brown claimed that Tanenbaum's publisher lost about 500 books of sale per year due to the advent of Linux. And at $100 a pop, that comes to $1,000,000 (Ken Brown's figure)...
Well, given that the number isn't exactly right (the book don't cost $100), here is the calculation:
$100 x 500 x 14 (years) = $700,000. Lets round up that number.
Hello? 1992 called, they want your version of Linux back. Fast-forward to 2004, and my SuSE 9.1 install has a 1.4MB kernel with its 53MB of driver modules sitting in a seperate directory.
What are you talking about? Windows isn't a microkernel, loadable modules have nothing to do with microkernels, almost all device drivers in a modern Linux distributions are loadable modules, and while Tannenbaum may be right, it's not for any of the reasons you mention.
The only thing they accomplish is code memory savings.
Ironically enough, this is not really the case for Windows due to a pretty poor (in retrospect) design decision.
Windows supports pageable kernel memory, unlike Linux. This leads to vastly more complexity than Linux (since you *really* don't want kernel code like your paging code, say, to accidently cause a page fault). You also don't want anything that might be involved with paging (want to support a remote pagefile? Hope network support doesn't page! A pagefile on a USB keydrive? You'll need USB code and thus probably power-saving code and so forth to never cause pagefaults). Any *data* touched by any code that can be invoked by a page fault cannot ever be paged out, or else the risk of a hang again appears. Windows maintains different lists of "pageable" and "unpageable" memory.
Linux took a much simpler approach -- kernel memory isn't pageable, but kernel modules can be unloaded -- that increases the simplicity and reliability of kernel code.
So is Apple [apple.com]. Mach itself, as well as BSD were mature when OS X came out. By 10.3 they have a very nice integration accomplished. I like the feature set in the Finder/Aqua combination now, I could use Panther for a few years.
If you can spring for boutique hardware it's a really nice system. If you can't, try Darwin. Its claim to fame is being a microkernel-based BSD.
At least according to AST, ``If the file system runs inside the kernel, it is NOT a microkernel.''.
According to your link, the filesystem, networking, and complete I/O all run within the kernel. In a true microkernel, the filesystem and networking, as well as, concievably (but not necessarily) a portion of the I/O code, would each run as a user-space server process, handling calls for each service through the microkernel. The only thing the microkernel really has to do in such a system is arbitrate calls
Windows is not a microkernel, as other have pointed out. The nicest (actually only, now I think about it) microkernel OS I've used on a desktop is BeOS, an operating system where you can replace the entire TCP/IP stack without a reboot. I haven't used Windows for about a year, but I seem to recall the loading drivers required a reboot. With BeOS, you could replace the entire sound subsystem and not reboot. The same with the graphics subsystem (there were a couple of different drivers available for my graphics card, and I could swap between them on the fly to see which was better. No reboot involved). The nicest thing, however, was the little dialog box that sometimes popped up saying `The sound subsystem has crashed. Restarting...' Ideally, the dialog would not exist at all, and this would all happen without telling the user unless it failed to restart correctly the second or third time. It's a lot better than the alternatives on Window (blue screen) or Linux (kernel panic) when confronted with buggy sound drivers. I agree with Tanenbaum here.
Because a microkernel is damned hard to do! The reason UNIX is so successful is because it has an easy to understand kernel. The reason Linux is so successful is because it has an easy to understand kernel. The reason we still don't have Hurd after twenty years is because a microkernel is so difficult to write.
The only successful true microkernel I know is QNX. And it seems to prove Andy's thesis that microkernels are more stable and secure, because QNX is neutronium-solid [sic]. There are Mach and L4, but they're not full production microkernels.
You seem to suggest Tanenbaum didn't really mean what he said. So you think Tanenbaum actually thinks MINIX is the most important thing he has ever done.
Think of it, what is more important: a toy-OS that nobody has used in decades, or a row of computer textbooks which are considered the top of their field since decades.
Article text (Score:5, Informative)
Ken Brown's Motivation, Release 1.2
Background
On 20 May 2004, I posted a statement [cs.vu.nl] refuting the claim of Ken Brown, President of the Alexis de Tocqueville Institution [adti.net], that Linus Torvalds didn't write Linux. My statement was mentioned on Slashdot [slashdot.org], Groklaw [groklaw.net], and many other Internet news sites. This attention resulted in over 150,000 requests to our server in less than a day, which is still standing despite yesterday being a national holiday with no one there to stand next to it saying "You can do it. You can do it." Kudos to Sun Microsystems and the folks who built Apache. My statement was mirrored all over the Internet, so the number of true hits to it is probably a substantial multiple of that. There were also quite a few comments at Slashdot, Groklaw, and other sites, many of them about me. I had never engaged in remote multishrink psychoanalysis on this scale before, so it was a fascinating experience.
The Brown Book
I got an advance copy of Ken Brown's book. I think it is still under embargo, so I won't comment on it. Although I am not an investigative reporter, even I know it is unethical to discuss publications still under embargo. Some of us take ethics more seriously than others. So I won't even reveal the title. Let's call it The Brown Book. There is some precedent for nicknaming books after colors: The International Standard for the CD-ROM (IS 10149) is usually called The Red Book.
Suffice it to say, there is a great deal to criticize in the book. I am sure that will happen when it is published. I may even help out.
Brown's Motivation
What prompted me to write this note today is an email I got yesterday. Actually, I got quite a few :-) , most of them thanking me for the historical material. One of yesterday's emails was from Linus, in response to an email from me apologizing for not letting him see my statement in advance. As a matter of courtesy, I did try but I was using his old transmeta.com address and didn't know his new one until I got a very kind email from Linus' father, a Finnish journalist.
In his email, Linus said that Brown never contacted him. No email, no phone call, no personal interview. Nothing. Considering the fact that Brown was writing an explosive book in which he accused Linus of not being the author of Linux, you would think a serious author would at least confront the subject with the accusation and give him a chance to respond. What kind of a reporter talks to people on the periphery of the subject but fails to talk to the main player?
Why did Brown fly all the way to Europe to interview me and (and according to an email I got from his seat-mate on the plane) one other person in Scandinavia, at considerable expense, and not at least call Linus? Even if he made a really bad choice of phone company, how much could that cost? Maybe a dollar? I call the U.S. all the time from Amsterdam. It is less than 5 cents a minute. How much could it cost to call California from D.C.?
From reading all the comments posted yesterday, I am now beginning to get the picture. Apparently a lot of people (still) think that I 'hate' Linus for stealing all my glory (see below for more on this). I didn't realize this view was so widespread. I now suspect that Brown believed this, too, and thought that I would be happy to dump all over Linus to get 'revenge.' By flying to Amsterdam he thought he could dig up dirt on Linus and get me to speak evil of him. He thought I would back up his crazy claim that Linus stole Linux from me. Brown was wrong on two counts. First, I bear no 'grudge' against Linus at all. He wrote Linux himself and deserves the credit. Second, I am really not a mean person. Even if I were still angry with him aft
Round Two (Score:5, Funny)
Just when he thought it was over, here we come for another round. . .
Re:Round Two (Score:5, Funny)
Re:Round Two (Score:4, Interesting)
-Jem
Re:Round Two (Score:5, Interesting)
I suppose the popularity of GNU/Linux, the historic Linus vs. Andy debates, the FUD being brought out by ADTI (and the aforementioned Brown book) all must play a role in getting a "bigger slashdotting".
This report was of core essence to all users (and fans) of GNU/Linux, so one can easily assume a slashdotting of great proportions. It only helps that a person of great respect, prestige, and fame has tarnished the credibility of Brown and boosted the legality of the Linux kernel in the report.
Little Help? (Score:2, Interesting)
I suppose I should be embarassed I'm not "in the know" with these inside stories on the Slashdot community, but a little sympathy or perhaps the occasional link to everything2.com (anybody remember those days?) would be nice.
Okay. (Score:5, Informative)
You want to read this article. [slashdot.org] It should explain what is happening.
And you would pick this up from the links, but just for the record: Tanenbaum is this european guy who once upon a time in the 80s wrote a textbook on operating systems which came with a simple UNIX-like operating system called "Minix". Ken Brown is some guy who works for something called the "Alex de Torqueville" (sic?) institute and he's writing a book which appears to mostly consist of slander against Linus Tourvalds and/or the Free Software movement.
I resent that! (Score:5, Funny)
No it isn't, and I resent that! Slander is spoken. In print it's "Libel".
Sincerely,
Kenneth Brown
President, Alexis de Tocqueville Institution
Re:I resent that! (Score:3, Funny)
Sincerely,
Kenneth Brown
President, Alexis de Tocqueville Institution
I am fairly certain that this person is not the real Kenneth Brown.
Based on his misleading attacks on Linus, I would say that the real Kenneth Brown would have written something like the following:
No it isn't. Three legal experts that I've consulted have agreed that the person is making entirely unsubstantiated claims. Open source advocates have been known to m
Re:I resent that! (Score:3, Funny)
If you can't handle signing up for a Slashdot account, I suggest that you ask your boss, Sir Bill, to get one of his few competent people to help you out.
Re:Okay. (Score:3, Informative)
Re:Okay. (Score:3, Informative)
Ok. One click away from that photo we find Andrew S. Tanenbaum's FAQ [cs.vu.nl]. To quote:
Re:Little Help? (Score:5, Informative)
Ken Brown works for the Alexis de Tocqueville Institution, who is basicly in the business of writing "impartial" reports for people with money. It's public knowlege that they've taken money from Microsoft in the past for reports. He is writing a book accusing Linus of not writing Linux.
The flamefest is clearly over..... (Score:4, Insightful)
All due respect to Linus and the Prof, none at all to Brown.
Re:Little Help? (Score:5, Informative)
Re:Little Help? (Score:4, Informative)
Re:Little Help? (Score:4, Interesting)
Ken Brown is employed by the Alexis de Tocqueville Institute, a firm that some Slashdotters speculate is in the pay of SCO, MS, or the ilk, and is trying to find criticisms against Linux, recently making the claim that Torvalds did not write Linux, which is probably too open to interpretation. Torvalds wrote Linux to the extent that he typed it, but he did built on prior work, just like everyone else. Even Microsoft originally bought all rights to DOS from a third party and modified and licensed it to IBM for their contract.
(At least, this is what I myself have gleaned from Slashdot. Some detail is probably wrong.)
Comment removed (Score:5, Interesting)
Re:Little Help? (Score:3, Informative)
Really? Can you document that? I worked for Digital Research around that time, and there were many tales about how the MS/IBM thing happened, but I never heard this version. And what do you mean by "a clone of CP/M ported to the 8086"? There were three versions of CP/M at that point, one of which was an 8086 version.
Comment removed (Score:5, Informative)
Re:Little Help? (Score:3, Interesting)
Many people don't remember that one of Microsoft's first products was a CPM board for the Apple II. The Apple II was 6502 based, but I recall that the CPM board had an 8086 (or similar process from that family) on it.
Re:Little Help? (Score:4, Informative)
Professor Andrew Tanenbaum is a professor who has written some great books. I'm very happy to have read read them. One of his books was Operatin g System Desgin and Implementation [bookpool.com] in which he describes operating systems with a toy, minimal, Unix-like operating system for the 8088 called Minix [minix.org]. It wasn't a really useful OS, but it was small enough to take a look at the code to any particular subsystem and learn how it worked. As an example of its mimilalism, it did have some hardware memory protection between processes, but did so with segment registers. That limited the size of each program to 64k.
Minix wasn't free or open source software. (ideas that were pretty much in their infancy) Tanenbaum sold it through his book publisher. Not for much, probably just enough to make it worth Prentice-Hall's time. Without the Internet as a cost effective distribution medium, someone had to take the orders and mail the disks. People loved tinkering with Minux, though. They ported it to other platforms, (Atari ST, Amiga, Sparc, 80306, etc.) They added to it and started distributing patches. Linus was using Minix-386 before he managed to get Linux to be self-hosting. In some reports, it was Linus' annoyance at having to pay for Minux that inspired him to make Linux free software.
Ken Brown, on the other hand, is someone whose name isn't very recognizable in technical circles. I'm tempted to say that he is a nobody, but maybe I just don't hang around the right circles. (Or on the other hand, maybe if I've never heard of him that means that I hang around the right circles.) I first read about the Alexis de Tocqueville Institution a couple of years ago when they published a paper [adti.net] questioning the security of free and open source software, and sold the paper in a through a system that allowed people to download the paper without purchasing it. Most of the links on their site are either links to articles from news sites about the institutes press releases, or links to papers that they promise will be ready soon.
Re:Little Help? (Score:5, Insightful)
Tanenbaum (AST) is a Professor who worked at AT&T and has written many textbooks aimed at university students. AST's most famous book - Operating Systems: Design and Implementation - includes a UNIX-alike operating system called Minix that he wrote himself. Minix includes binaries and source code for the kernel, C library, C compiler, and all the utilities. AST wrote Minix and the book to teach students how operating systems are written. Any computing science student who attended a decent university in the past decade has probably had at least one of AST's books as a required text.
Minix ran on an 8086 and didn't have modern virtual memory (VM) features. When the 80386 came out there were some unofficial patches to make Minix/386. These patches added virtual memory and paging and memory protection, turning Minix into an useful OS. AST refused to add these patches to Minix, rightly arguing that they would make Minix too complex for a student to understand. Minix was a teaching tool, not a general purpose OS, even though Minix/386 was a pretty good general purpose OS. Unfortunately the license back then didn't permit forking. Despite these limitations, Minix had a very large user community. .
When Linus came along and announced Linux a lot of people realised that GNU (basically all of UNIX except for the kernel) and Linux (basically none of UNIX except the kernel) when combined would produce a UNIX-alike operating system. Just like Minix but with VM and the more relaxed GPL for a license. There was no Linux news group so all the discussions were on the Minix news group.
AST put his two cents in on the Linux kernel. He correctly pointed out that the Linux design was a 30 year old monolithic design; not elegant or modern. Linus argued back that monolithic kernels are more practical. AST said Linus would fail his OS class, if Linus was his student. That's the infamous AST/Linus flamewar. It wasn't very hot, as far as flamewars went. AST was right, so was Linus. They just had different perspectives.
Ken Brown is an ignorant idiot who is selling a book claiming that Linus didn't write Linux. He argues that noone could write something so complex as a UNIX-like kernel without stealing code. Ken is under the delusion that writing a UNIX needs a huge team of people working for many years. He seems to be ignorant of the fact that the first UNIX was written by Ken Thompson on a computer so ancient that your wrist watch has more computing power. For "research", Ken Brown spoke to AST. Notably he did not speak to Linus Torvalds. AST is pointing out that Ken is lying in his book; AST has pointed to several examples of single authors who created a UNIX-like kernel, AST included.
The confusion might be that Ken Brown doesn't understand that Linux is just a kernel. The first "Linux" that you ran back in 1991 was actually GNU/Linux. Linux comprised less than 2% of that system. RMS and his team had been working on GNU for nearly a decade by that stage (longer if you count emacs). Linux The Kernel was a small piece of the puzzle. An essential piece, but certainly writable in 6 months by a bright and talented person. These days, Linux is an incredibly tiny piece of a "Linux distribution". Ken Brown might think that Linus is laying claim to the entire system. Of course, Linus has only ever claimed credit for the first kernel. Recent kernels have very little "Linus" in them. And the distro you have on the desktop is less than 1% Linux anyway.
The other theory is that Ken Brown is being paid by SCO/Microsoft/LatestPariah to create FUD over the legal origins of Linux.
I prefer my own theory. Ken wants attention. Saying something ridiculous gets easy attention and increases book sales. We're playing right into his hands by giving him the time of day. It gives him false credibility by creating a "controversy" when in reality there is no controversy. Just Ken saying ridiculous things with no evidence to back them up. It's like all those authors who write books on Noah's Ark, or the location of Atlantis. They must have a huge grin on their face when somebody pays attention to them.
Re:Little Help? (Score:3, Interesting)
I would have said more like those so-called professional historians, and the guy who allegedly perfected the Gas Chamber and the Electric Chair, who visited Auschwitz, saw with their own eyes, and then denied that the Holocaust ever happened. BTW I am not Jewish, I have no axe to grind, but well-established facts with overwhelming eyewitness and photographic evedence are exactly what they seem, the contrary opinion is h
Re:Little Help? (Score:3, Insightful)
Re:Little Help? (Score:3, Insightful)
Raises some interesting questions (Score:5, Funny)
Why did Brown fly all the way to Europe to interview me and (and according to an email I got from his seat-mate on the plane) one other person in Scandinavia, at considerable expense, and not at least call Linus?
I think the answer is "because calling Linus wouldn't have allowed Brown to get the Alex de Torqeville Institute to pay for him to take a vacation to Holland".
The Netherlands Connection is the key (Score:5, Funny)
Re:The Netherlands Connection is the key (Score:5, Funny)
Tanenbaum is being disingenious (Score:2, Insightful)
Hmmm, duh!
How many "explosive" books on D
That's the point the professor was trying to make (Score:5, Insightful)
If the author was serious then he would have given his "target" - Linus - at least some chance to respond. He didn't. Therefore he isn't a serious author.
Professors generally don't go saying directly, 'that author is such a luuusor dude!' And authors who write trash books about Di aren't exactly people to take seriously either.
Disclosure (Score:4, Funny)
I got an advance copy of Ken Brown's book. I think it is still under embargo, so I won't comment on it
Ok, fair enought
Let's call it The Brown Book
So, why are you disclosing the color of the cover!?!? Baaad guy Andy :)
Re:Disclosure (Score:4, Funny)
I think "The Brown Book" describes what the book and author are full of. That the author's name is Brown must surely be a coincidence.
Changed opinion (Score:5, Insightful)
His exchanges on this subject have changed my opinion on that. He's been nothing but kind toward Linus, generous with his time, and well-spoken.
If anything good come out of this whole mess, maybe it's that AST really got to show us what he's really like instead of all of us just assuming that he was bitter about the MINIX/Linux history.
Re:Changed opinion (Score:5, Insightful)
Remember that research is more about asking questions, engaging in discussions, acting as a devil's advocate to prove yourself wrong, and dealing paradoxes then it is about answering them. I'm sure nobody around here as any doubt about contribution Tannenbaum has made to computer sceience can be surpassed only by few.
He so totally rocks and has been my inspirtation since my undergrad days and has written a few books that I will never part with.
Re:Changed opinion (Score:5, Insightful)
So please,
Re:Changed opinion (Score:4, Funny)
But... but... that would BREAK Slashdot!
DJCC
Re: microkernels the best approach (Score:4, Insightful)
He's basically bashing Linus for doing an academically uninteresting project. (Keep in mind that as a professor, he's got the complete UNIX source code at his fingertips - he didn't need a free unix.)
And he was right, but that hasn't stopped damp pantied fanboys from tarring-n-feathering him over the years for arguing with the Great Linus.
Re: microkernels the best approach (Score:3, Informative)
Dunno, what does the one have to do with the other? It's like saying 'If macrokernels are the best approeach, why does Windows suck do much?'
The Hurd is a set of user-space server running on top of a microkernel (currently Mach), together providing the old Unix experience besides other more interesting things.
Really, it's not taking so long because it was a microkernel (it is NOT!), it's just that there's nobody working on it.
Michael
Re: microkernels the best approach (Score:5, Informative)
Hmmm, No...
It's a widely perpetuated myth that NT is a microkernel. It may have started out that way, but has long since grown through millikernel, centikernel, decikernel to full blown kernel... (and beyond if you count browser, media player and kitchen sink OS embedding)
The linked letter from Prof Tanenbaum touches on this point too... He says:
Re: microkernels the best approach (Score:3, Interesting)
Re: microkernels the best approach (Score:3, Informative)
No.
Others have already explained why those are not examples of microkernels. If you want a real example of a successful microkernel, look at QNX (which is very successful in its target market).
Re: microkernels the best approach (Score:3, Informative)
Re:Changed opinion (Score:5, Interesting)
It kind of reminds me of the performance I get on my sparcstation 5 using SunOS 4.1.3 or OpenBSD versus Solaris 2.x (though I know there's some complex issues there)
Re:Changed opinion (Score:5, Interesting)
Well shame on you. While I've never fully bought into Tanenbaum's arguments on microkernel they have never been antyhing but cogent, coherent and well made.
It is the kind of debate that academics are used to making all the time and AST as the distinguished and brilliant OS professor he is, gave us a good example of.
It seems Linux kiddies weren't mature enough to handle them and asumed malice on AST's part.
Re:Changed opinion (Score:5, Insightful)
I sort of thought that way about him after I read the initial argument, though I still had a lot of respect for his books. But, after reading his first article about the Brown book, I didn't feel that way anymore. It was clear to me that his comments in the middle were him gleefully taking advantage of the fact that he (deservedly) had a wide audience to point out that he still considers monolithic kernels a poor design choice and to give reasons why.
I detected no note of bitterness or anger over Linux's success. Though I did find some of his comments about Minix licensing to be slightly revisionist. I found people's comments here to be more amusing.
I sometimes think that people who do not have a scientist mindset mistake heated debate among scientists for petty emotional rancor. The latter does happen, but heated debate is not a definitive indicator.
Re:Changed opinion (Score:5, Insightful)
The microkernel argument was an academic argument, of the sort that which is not held for the purpose of winning it, but of coming to an agreement on the relative merits of different approaches. As for winners, Linux obviously continues to be a monolithic kernel. But it should not be ignored that you can now add filesystems to a running kernel as modules, and even build them outside of the kernel tree. At this point, Linux is essentially a microkernel design running as a monolithic kernel for performance reasons as an implementation detail. A future version could offer the option of running the filesystems in userspace if you want. (That is, running all of the filesystems in userspace with the kernel fs API; there's already support for having filesystems in userspace if you want.) I wouldn't be surprised if people having weird problems would be advised to try the "ext3.userspace" option, and if you could avoid tainting your kernel with "nvidia.userspace".
Re:Changed opinion (Score:5, Informative)
Dynamically loadable modules does not make Linux a microkernel design. It would only be a microkernel if the filesystem code ran in a different address space. But because ext3.o runs in the same address space as the kernel, it is most definitely a monolithic design. It is not a "microkernel design running as a monolithic kernel". That's just a nonsensical statement.
You clearly understand that the significant distinction between microkernel and monolithic is the address space for the subsystems. So I can't understand why you'd suggest that kernel modules makes Linux "essentially a microkernel design". Look at the address space for ext3.o; it's kernel space.
I don't see Linux evolving into a microkernel until there's hardware support for cross address space branching. Don't hold your breath.
Re:Changed opinion (Score:5, Insightful)
Someone in an academic environment supposed to be open to idea's and non baised. Most though have ego's including Tanenbaum which blind them.
Who said academics are supposed to be biased? Most are very biased towards their own ideas, and push them whenever possible. Its a natural part of the competitive system that allows academia to advance.
Funny, Linux, Solaris, FreeBSD, and As/400 have uptimes that measure in years if you do not include security patching.
Even funnier is the fact that, with a microkernel OS, lots of downtime due to security-patching is unnecessary, because critical services run as easily restarted userspace tasks. There is no doubt that Linux, Solaris, *BSD, etc, are highly stable, but they are something you trust your server to --- a microkernel like QNX is what you trust your nuclear reactor to!
MacOSX is less stable than a macrokernels like Linux according to those who use it as a server.
MacOS X has a monolithic kernel. Mach and BSD both run in kernel-space, with messaging replaced by direct function calls wherever possible. That was one of the chief changes between NeXTStep and OS X.
./ effect (Score:2, Funny)
And he is living the ./ effect hell again
Wow (Score:5, Interesting)
Whatever else may be said about Prof. Tanenbaum, I learned much of what I know about networking from his excellent text. It should be said that he is excellent at what he does (that is, teaching students about computers).
Pure genius! (Score:5, Funny)
...by getting slashdotted again!
Linux is Obsolete (Score:4, Informative)
For the rest of you who don't know 'the past' Prof. Tanenbaum with Linus, you may refer to the famous mailing list log "Linux is Obsolete" [fluidsignal.com].
Linus seems to be doing excellent work and I wish him much success in the future.
So I guess Prof. Tanenbaum can give higher grade than "F" to Linus now.
Both Prof. Tanenbaum and Linus are my favourite persons. I'm so happy to see this happy ending in real life.
Re:Linux is Obsolete (Score:5, Insightful)
This argument was never really a big deal in the first place, it was just a classic arguemnt between a realist and a purist.
Re:Linux is Obsolete (Score:4, Informative)
Linus would also get a second 'F' for writing i386 specific code, but that problem is long gone. Are there any other OS, apart from NetBSD, that supports as many architectures as Linux?
It seems to me that AST was quite impressed with Linux from the start -- especially the Posix compliance -- but disagreed strongly with the design (or lack thereof). You have to remember that many people actually wanted to turn Minix into something like Linux, and that was out of the question. Linux is not as good for what Minix was supposed to do: teach OS principles. If you consider the context of the discussion, AST does not look as arrogant, and certainly not stupid (although his predictions for the future were a bit off target, but I don't think Linus expected his little hobby to be the subject of a multi-billion dollar suit either).
2500 hits (Score:5, Funny)
1600 come from search-engine bots
450 come from kids attempting to compromise his apache server with IIS-specific exploits
350 come from a single female grad student who is all aflutter over AST's [micro-kernel] hacking skills.
75 come from accidentally mis-spelling 'whitehouse.gov'
24 come from
1 comes from his mother.
We should set up better Open Source Marketing (Score:5, Interesting)
On the same note, I doubt that very many in the 'Slashdot-like' internet community need extra convincing to believe that the book is Microsoft-driven, not fact-driven.
Therefore the only effect Tanenbaum (and Slashdot) gets from this document is self-defence and mutual knob-polishery. Not that Tanenbaum is entitled to have his say and defend his honor, but there you go.
What the Slashdot/unix/GNU/whatever community really should consider is how they can truely counter the 'lets convince the stupid masses' policy of Microsoft. (yeah I know I sound elitist, thats because I am..)
Seriously though, the more manager types that don't fall for Microsoft Marketing the better, IMHO. But how? I don't think slashdotting works, but perhaps we should set up a more Market-driven avocacy site for open source. Get The Facts! There are plenty of people out there who would have fun with doing some effective marketing here, and could do more for the community than program another random number generator ;)
One of the things that strikes me most about Microsoft Marketing is that whatever Article (negative or no) I read online about Microsoft, 8 out of 10 times I see a big blinking Microsoft ad! I can't help but be impressed by that, even if I don't like it.
Re:We should set up better Open Source Marketing (Score:3, Insightful)
My opinion, the easiest way to do this is sugested in your statement. The key is unix, not linux. Meaning linux is in the unix family. Promoting unix as a whole as an alternative to microsoft, especially in the server areas is important.
There are different types of unixes from proprietary to
Battle of the Philosophies (Score:3, Insightful)
Open Source fights itself
If I promote Linux I would have no time to promote OpenBSD, even though in princip
Re:We should set up better Open Source Marketing (Score:5, Insightful)
>document is self-defence and mutual knob-polishery. Not that
>Tanenbaum is entitled to have his say and defend his honor, but there
>you go.
I don't think Tanenbaum loses sleep worrying about the commercial sucess of Linux
I think he was mostly trying to prevent looking like a dick for being associated with that book. Mission accomplished!
Perhaps today he's preaching to the choir, but look at it this way: One of the world's most respected computer scientists just TRASHED the integrity of the guy who interviewed him. I'm sure the whatchamacallit institute will be a long time living this down. And Tanembaum provides lots of nice quotes for the profesional marketers from Red Hat/IBM/Novell/whatever, computer columnists, etc.
Planting the UD in FUD? (Score:4, Interesting)
And who funded that Alexis de Tocqueville Institution report?
Take a guess [wired.com].
W
Multiply small integers (Score:4, Informative)
Re:Multiply small integers (Score:4, Insightful)
Linus had nothing to do with it. (Score:3, Funny)
I have the PDF of the first 92 pages of the book (Score:5, Interesting)
I only read the first 20 pages or so, then I skipped to the bibliography. In over fifty listings, the only real books he listed were ESR's and they're available online. Every other reference he listed was someone's personal homepage or a newsgroup posting or something arbitrary like that.
There will be an article, ladies and gentlemen. I just haven't decided if it should be a serious analytical debunking of this troll book or a humor piece that shows its rediculousness.
-Jem
Class Act (Score:4, Insightful)
Tanenbaum is a classic academic; he knows where to pick his fights - on the science. He attempts to stay above personalities, but doesn't flinch when it comes to calling bullshit on some dickhead (my words) who is out to smear someone for money.
Microkernel reality (Score:5, Informative)
The file systems and networking are user programs. You can add new file systems; there's one that mounts .zip files, there's NFS, and there's Samba.
In Linux terms, visualize a system where there's the /proc file system for inter-program communication, and everything works through that mechanism.
The drivers really are outside the OS. I've written a FireWire camera driver for QNX, and it's a user program. It's privileged in that it does map some real memory shared by the device, and it can talk to the device directly, so it could potentially cause a crash by making the device write someplace it shouldn't. (That's really a weakness in the PC's I/O architecture; there's no MMU between devices and memory, for historical reasons dating back to the original IBM PC.)
Debugging a driver is like debugging a normal program. You can even run a driver under a debugger. You can kill a driver while it's running, and it's no big deal. (If you have real memory mapped, it's not recovered until the next boot, so I had to restart my machine about once a week while doing driver development.) Mainframe people have been doing this since the 1960s, but it's rare on PCs.
The basic penalty for using a microkernel is one extra copy and context switch for every file system operation. If your system is doing anything besides I/O, you'll probably never notice. If you're running a web server that serves mostly plain pages (little Perl, Java, PHP, etc.), you'd probably notice the overhead.
So why are microkernels so rare? They're hard to write well. You can't just hack them together like a UNIX clone. There are some tough design problems to be solved. If those are botched, message passing performance will be terrible. Message passing and CPU scheduling need to work together. This forces certain design decisions in the scheduler. It's also why adding message passing to an existing system tends not to work well. The Hurd crowd has been thrashing on this issue for a decade. I would have loved to see something as good as QNX from the Hurd people. But it didn't happen.
Mach didn't really work out as a microkernel. Mach started from 4.3BSD (considered bloated in its day), and versions of Mach below 3 had 4.3BSD in the kernel. MacOS X is not a microkernel system; the BSD stuff is in the kernel. Basically, retrofitting a microkernel architecture to an existing UNIX kernel didn't work.
What you do get from a microkernel like QNX is predictablity. The kernel changes very little and is very reliable. Good microkernels, like QNX and IBM's VM, settle down into versions that almost never change and have very long MTBFs. This brings down total cost of ownership.
Re:Microkernel reality (Score:3, Insightful)
The bus multiplier on processors and the cycles-for-a-main-memory-access have steadily increased over the past decade or so. This has steadily increased the cost of a page table cache flush, a
The "Linux is obsolete" flamewar (Score:4, Interesting)
Re:The "Linux is obsolete" flamewar (Score:4, Interesting)
As it happened, HURD ended up sucking, and so Linux remained the default.
I think the thing that set Linus off was more the fact that Linux was being insulted (probably Prof. Tanenbaum was feeling a bit cranky that day or something, and Linus was in a fighting mood...)
It's funny how emails waaay back then, from when Linus was still a pretty small fry guy, can come back to haunt the people involved.
It's something to think about before posting to a mailing list: If I get really famous ten years from now, is this going to cause me or someone I respect hurt?
Where's your A Game, Microsoft? (Score:3, Interesting)
(1) Since when does "Alexis de Tocqueville Institute" sound like an IT consulting group that anyone would want to pay attention to? Check out their website; it's a political think tank (which is what I would expect from the de Tocqueville moniker).
(2) "Linus didn't write Linux"
(3) If you're gonna write an attack book, how about reading the existing books first, so that the people you talk to don't point your ignorance in public.
Can you imagine us Penguinistas trying this kind of weak shit on Microsoft? "Hey, Boss! I've got a study from the Henry David Thoreau Institute! Bill Gates didn't actually write MS-DOS, he bought it from Tim Paterson, so we better not run anything from Microsoft. Besides, Windows crashes all the time
Microsoft says that Linux is their #1 or #2 competitor. I expect a helluva lot stronger attack from Microsoft than this!
My theory is that Microsoft uses AdTI to float many different trial balloons. They'll keep the ones that look good and dump the stinkers. This one's a stinker.
Debunking Ken Brown (Score:3, Insightful)
Re:Arrogance (Score:5, Interesting)
There is a difference, though it is often colored by the listener's own sense of self confidence.
In the spirit of AST's baseball analogy, I refer you to the immortal words of Dizzy Dean: " It ain't bragging if you can do it."
Re:Arrogance (Score:5, Funny)
Funny, I feel the same way when I read Slashdot.
Re:Embargo? (Score:5, Informative)
As for free speech - this isn't a legal thing, it's purely done out of respect for the publishing process and basic good manners. Once the final version is available it's fair game for anyone.
Re:Mirror mirror on the wall ... (Score:3, Informative)
Re:His comment on Slashdot: (Score:5, Interesting)
Back then (way back in the late '80s), standard assignments were to go "tweak" parts of Minix - make the network interface big- or little-endian, switchable on the fly; change the file system block size and see what happens; screw up the priority system and see if user keypresses even get answered before your applications finish running... as a learning OS, demonstrating ways OSs can be put together, I learned a lot from it.
Then we got into compilers... *sigh*
Re:His comment on Slashdot: (Score:3, Interesting)
Actually, I have one of the 15 books he reminded us about the other day, and I remember it for how much it was universally despised.
Re:His comment on Slashdot: (Score:4, Insightful)
From this tiny dataset, it doesn't really seem that AST is particularly arrogant. I've written much nastier flames than AST did on that infamous occasion. He backs up his claims -- "microkernels are better -- I can say this because I know better than you due to 20 years studying them" would be arrogant. "Microkernels take a relatively minor 20% performance hit or so and provide easier debugging" is a different story.
Re:His comment on Slashdot: (Score:5, Interesting)
Have you ever met Tanenbaum? Can you say that somebody is a "prick" just because he is willing to engage in a discussion solely on the basis of technical merits and because he loves one thing and hates another. I'll at least meet the person before debunking him as an egotist.
And Tanenbaum's achievements go beyond Minix. You can find out more if you care to look for his contributions on the web. He doesn't even count Minix as his achievement. The world does not know him for Minix. It was just a nice "add-on" to his operating book.
Have a good day.
Re:His comment on Slashdot: (Score:5, Interesting)
I think, if a professor of mine would write an operating system for me to have me the freedom of goofing around, I would call it a very good source.
And, even if the OS itself was not so good, it doesn't matter, because people often learn the subject from the mistakes, shortcomings. After all, Linus wrote the Linux to improve Minix on Minix.
Linux is not an improvement on Minux (Score:5, Insightful)
You may be suffering from the misconception that Minix tried to be, or should have been, a commercial grade Unix workalike. If so you are wrong. When you write software in an academic environment where the goal is to teach students the code should be written with clarity and easy of understanding being paramount. If efficiency or more advanced techniques conflicts with clarity or ease of understanding you should choose the later. The job of the University is to teach core concepts that are long lived and transcend the OS, language, or architecture of the day.
After all, Linus wrote the Linux to improve Minix on Minix.
No. Linux and Minix have different missions. Minix was a teaching tool, it's mission was not to become a full featured Unix workalike. Its goal was to remain small and comprehensible to further its teaching mission. Linux had a very different mission. It is silly to compare the two. Linux is no more of an improvement on Minix than a wrench is an improvement on a screwdriver. Different tools for different jobs, or missions in this case.
Re:His comment on Slashdot: (Score:5, Insightful)
I've always rather gotten the impression that he was something of the anti-christ of the Linux revolution, and that that's why he has to waste so much time explaining that he and Linus are not enemies.
. .
And says so in the very paper in question.
The trouble is that Minix, which was meant to be an academic OS to study. .
And says so in the very paper in question.
. .
And says so in the very paper in question.
. .
Here I'm sure he'd disagree with you, however, since you leave out why it "wasn't really good" you protect yourself from criticism.
Minix knew success because it was "this other, free Unix for i386" (and some other architectures like the Atari ST), and people could goof around with it for free.
And says so in both papers in question.
That's the extent of Tanenbaum's achievenemts.
And explains that such is not the case in the paper in question.
. .
And not only says so in the paper in question, but points to references should one chose to follow them up. Not to mention the fact that if he were not popularly regarded as such among the computer science community said paper whould have no had raison d'etre in the first place.
Now I shall watch myself be modded down as a troll by Slashdotter who have never met, read about, or listened to him...
As a general rule I find it more responsive to posts such as yours to, well, respond, rather than mod down something just because I might find it unpalatable. An unpalatable point of view is not the same thing as a troll.
I have never met the man, nor listened to him, but I have both read him and read about him. He is a public figure in the computer science community, just as is Linus.
He impresses me, as he appears to impress the orginal poster, as just the sort of intelligently sarcastic "prick," in the Swift/Dickens/Twain/Leacock mode, that I rather enjoy dealing with.
Of course you have to consider the source of that last statement (as one might well consider the source of any), as I myself have been accused, on occasion, of being such a man, and may be merely feeling an affinity of kind.
KFG
Re:His comment on Slashdot: (Score:4, Informative)
----
Eh? He did a bit more than just write MINIX!
He's an IEEE & ACM fellow, has written a number of well-known and widely-used books... But don't take my word for it, Google away.
As for sour grapes, I don't sense any, and I exchanged a few emails with him after the last story.
Re:His comment on Slashdot: (Score:5, Insightful)
Tanenbaum is hardly seen as a "hero" in the Linux community, of those who know him at all, most only remember the infamous "Linux is obsolete" flameware on Usenet.
> It's quite well known that Proff Tanenbaum is somewhat of a prick, very very pleased with himself for having written Minix and fostered the development of Linux.
How is this well known? I've never read anything about him boasting about having fostered the development of Linux. He does point out areas where the early Linux was inspired by Minix, but I don't think anyone would dispute that.
> Minix knew success because it was "this other, free Unix for i386"
It was the "free Unix for XT". One of the reasons for Linus to develop Linux was that Minix didn't take advantage of any of the advanced features of the 80386. AST refused almost all suggested improvements, his motivation being that he wanted to teach it in a one semester course.
> That's the extent of Tanenbaum's achievenemts.
Tanenbaum is a university professor. His achievements are his publications in peer reviewed journals, and citations to these publications. Since he has lots of both, he's been pretty successful.
Success and antiquated technology go together (Score:4, Interesting)
I would characterize Tanenbaum's opinion as Linux is using antiquated technology and that performance benefits do not warrant the additional complexity. Tanenbaum may very well be correct. The fact that Linux is successful and likely to become the defacto Unix implementation is not evidence that Tanenbaum was wrong. Antiquated technology and market success are not mutually exclusive. I offer ix86 and Alpha as an example. If Tanenbaum is correct all this meant was that Linus and other developers had to work a little longer and a littler harder to achieve reliability and security. Tanenbaum didn't think the performance gain was worth the time, Linus did.
Re:His comment on Slashdot: (Score:5, Interesting)
I don't know Tanenbaum at all; however, his books are more hands on than the standard fare. My OS book didn't come with any usable code at all. Frankly, I had to force code into my class. In fact, my professor (old to the computer industry, but young to academia) was prompted to bring more required labs to the class because of it. I've picked up a few of Tanenbaum's books. In my opinion, it's as good at teaching operating systems as the "dragon" book is on teaching compiler design.
Why is Richard Stevens considered a genius and Tanenbaum not. Humility aside, like I said I never met the guy, most professors are a little bit pompous. As long as he doesn't torture his students with such BS, a little arrogance is fine by me. Including a small copy of a Unix-like variant to be examined with the book was revolutionary by pedagogical standards. I once had a copy of the "Lions Commentary on Unix". While it was interesting, it was written in C and Assembly (with some antiquated instruction set)**. The code was virtually useless for me. Despite popular opinion, I really don't have a PDP-11 in my basement. Tanenbaum's book|code was great. Finally a useful OS I could "play" with. Linux is too large to examine in a classroom. It's an industrial strength OS. Should I learn database theory by mucking with the source code for Oracle or DB2 (if this were even possible)? Of course not. Why should an OS be any different? You only learn by doing. You don't really learn by thinking about psuedocode. In this regard, MINIX fills a hole so desperately apparent in academia. MINIX provides a tangible example of modern OS design.
If you've had this man for a class and can relate a specific instance about his arrogance, feel free to do so. That's a completely different story. However, if you're going to knock the man for having some pride in his work -- well tough. It's not like Bill Gates, Steve Jobs, Gary Killdall, et al isn't a little bit of a "prick" too.
**I don't remember too much about the specifics of the "Lions Commentary on Unix".
Re:His comment on Slashdot: (Score:3, Interesting)
Damn! Me and my friends have all been sure that you've had one in there for *years*.
well tough. It's not like Bill Gates, Steve Jobs, Gary Killdall, et al isn't a little bit of a "prick" too.
Jobs is an arrogant guy that didn't do the amazing engineering work that he gets credit for ("The Mac kicks ass so Steve Jobs kicks ass" is very faulty logic.) Maybe he's a good organizer, but he's also the source of a lot of the decisions that
I've had him as a professor (Score:5, Interesting)
I've had him as a professor and he co-advised my Master's thesis.
Indeed, he is as amusing when teaching class. I took one or two classes he taught. However, his lectures are useless because his books speak for themselves. The only real reason to go to his lectures is because he is very funny.
In addition to the lectures, we had to modify the MINIX kernel to do memory fragmentation and modify the file system to support ACLs. Both not very hard, but a good learning experience.
I know he's always on the lookout for graduate students to work with him. Having had him co-advise my Master's thesis, I can wholeheartedly encourage you to work with Prof. Tanenbaum.
Re:His comment on Slashdot: (Score:3, Funny)
Re:Multiply WHAT? (Score:3, Informative)
Well, given that the number isn't exactly right (the book don't cost $100), here is the calculation:
$100 x 500 x 14 (years) = $700,000. Lets round up that number.
Re:I'm with Tannebaum about microkernels (Score:3, Insightful)
Re:I'm with Tannebaum about microkernels (Score:4, Informative)
Re:I'm with Tannebaum about microkernels (Score:4, Insightful)
Ironically enough, this is not really the case for Windows due to a pretty poor (in retrospect) design decision.
Windows supports pageable kernel memory, unlike Linux. This leads to vastly more complexity than Linux (since you *really* don't want kernel code like your paging code, say, to accidently cause a page fault). You also don't want anything that might be involved with paging (want to support a remote pagefile? Hope network support doesn't page! A pagefile on a USB keydrive? You'll need USB code and thus probably power-saving code and so forth to never cause pagefaults). Any *data* touched by any code that can be invoked by a page fault cannot ever be paged out, or else the risk of a hang again appears. Windows maintains different lists of "pageable" and "unpageable" memory.
Linux took a much simpler approach -- kernel memory isn't pageable, but kernel modules can be unloaded -- that increases the simplicity and reliability of kernel code.
Re:I'm with Tannebaum about microkernels (Score:3, Interesting)
If you can spring for boutique hardware it's a really nice system. If you can't, try Darwin. Its claim to fame is being a microkernel-based BSD.
OS X is NOT a microkernel (Score:3, Interesting)
According to your link, the filesystem, networking, and complete I/O all run within the kernel. In a true microkernel, the filesystem and networking, as well as, concievably (but not necessarily) a portion of the I/O code, would each run as a user-space server process, handling calls for each service through the microkernel. The only thing the microkernel really has to do in such a system is arbitrate calls
Re:I'm with Tannebaum about microkernels (Score:4, Informative)
Re:Microkernel in linux? (Score:4, Interesting)
The only successful true microkernel I know is QNX. And it seems to prove Andy's thesis that microkernels are more stable and secure, because QNX is neutronium-solid [sic]. There are Mach and L4, but they're not full production microkernels.
Re:You lose. [MODERATORS?] (Score:3, Informative)
Well actually if you had read the moderator FAQ you would know that you should really browse at -1 in order to catch abuses.
Re:Confident, arrogant, maybe just annoying (Score:3, Insightful)
Think of it, what is more important: a toy-OS that nobody has used in decades, or a row of computer textbooks which are considered the top of their field since decades.
Shouldn't be too tough...