8 ms·
And maybe the only person to ever successfully troll Linus Torvalds and then get an apology from him (ok just an excuse to link the epic debate in [1]). Thanks
by Jare 12y ago
And maybe the only person to ever successfully troll Linus Torvalds and then get an apology from him (ok just an excuse to link the epic debate in [1]).
Thanks Mr. Tanenbaum, your various works have been a huge inspiration as well as incredibly interesting to read or tinker with.
[1]: https://groups.google.com/forum/?fromgroups=#!topic/comp.os.minix/wlhw16QWltI%5B1-25-false%5D https://groups.google.com/forum/?fromgroups=#!topic/comp.os....
- famousactress 12y ago> Linus "my first, and hopefully last flamefest" Torvalds Of everything hypothesized-for-the-future in the thread, this turned out to be the least accurate prediction of them all :)
- GuiA 12y ago"Don`t get me wrong, I am not unhappy with LINUX. It will get all the people who want to turn MINIX in BSD UNIX off my back. But in all honesty, I would suggest that people who want a MODERN "free" OS look around for a microkernel-based, portable OS, like maybe GNU or something like that." Hehehe.
- yellowapple 12y agoWhat's even more amusing about that remark is that - as of MINIX3, at least - MINIX has in fact adopted the NetBSD userland.
- pionar 12y agoHe is not talking about the userland, he's talking about the kernel structure, mirco vs. monolithic.
- kjs3 12y agoYa...part of the design goal is that a microkernel as envisioned by AST should be able to able to have interchangeable userlands, including multiple different userlands running at the same time. So in that sense, AST was spot on.
- jacquesm 12y agoOh, and: - device drivers as processes (so you can actually debug them) - increased security by isolating various parts of the core OS from each other - easy scaling from single machine to cluster by message passing - treating devices as networked resources - file systems in userspace (which we have now with FUSE) and so on. The benefits of microkernels go a lot further than just being able to use multiple userlands.
- jordanb 12y agoIt's easy to be smug now knowing how things turned out, but lots of really brilliant people agreed with Professor Tanenbaum at the time. The difficulties that microkernel projects ended up encountering were not easy to forecast and ended up taking virtually everyone by suprise. It was in the spirit of progress towards better ways of architecture software that Tanenbaum and Stallman (as well as many others) chose to try a new architecture rather than just build yet another monolithic OS kernel. Being on the pointy end of technology means you often end up being the one to discover what doesn't work.
- ohitsdom 12y agoFascinating read! Although I couldn't help but imagine that discussion happening today... in 140 character tweets.
- JetSpiegel 12y agoI know this will shock many node.js developers, but the Linux kernel is still managed with a mailing list.
- yawaramin 12y agoActually, Linus Torvalds is on GitHub and Google+. And he still actively gets into 'flame'-fests in social media: https://github.com/torvalds/linux/pull/17#issuecomment-5661304 https://github.com/torvalds/linux/pull/17#issuecomment-56613...
- krat0sprakhar 12y agoMy point is that writing a new operating system that is closely tied to any particular piece of hardware, especially a weird one like the Intel line, is basically wrong. An OS itself should be easily portable to new hardware platforms. When OS/360 was written in assembler for the IBM 360 25 years ago, they probably could be excused. When MS-DOS was written specifically for the 8088 ten years ago, this was less than brilliant, as IBM and Microsoft now only too painfully realize. Writing a new OS only for the 386 in 1991 gets you your second 'F' for this term. But if you do real well on the final exam, you can still pass the course Haha :)
- mikevm 12y agoThis just reinforces the fact that you shouldn't just blindly trust what your professors tell you ;-).
- rbanffy 12y agoLinux started x86 only, but it was soon ported to other architectures. I was running it on SPARC just a couple years later.
- jacquesm 12y agoAu contraire, Tanenbaum was 100% right. And porting linux to the first new architectures turned up a ton of hard-to-fix dependencies on x86, fortunately the UNIX system call interfaces were all copied from more mature instances and lived on unaffected.
- joesb 12y agoJust because you can succeed despite ignoring your professor's advice doesn't mean the advice wasn't sound.
- ttflee 12y agoNeXT realized the problems and pains, and hence the portability of XNU kernel.
- justizin 12y ago"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 :-)" Since every microkernel in use (Windows NT and XNU, really) have taken much of their code monolithic, I think this is the true legacy of Tanenbaum's career. Flamebait at its' worst, but acceptable because he was a respected member of the academic elite.
- vezzy-fnord 12y agoHis legacy, just from MINIX and his books alone, more than outweigh whatever shortsightedness he might have had back then. Also, it was Usenet. Flame wars were its bread and butter.
- kjs3 12y agoIf you think that this is the bulk of AST's legacy, or that real microkernels aren't in general use, you really should get out and learn a bit more about computer science.
- jackowayed 12y agoThis could have so easily been phrased much more nicely and more substantively. What is Tanenbaum's legacy? What microkernels are in use?
- bostik 12y agoQNX? And in all honesty, Linux has adopted a number of elements over the years that would not have flown with the original fully monolithic kernels. No, we don't have userspace drivers. (Apart from proprietary GPU drivers and a number of enterprise hardware systes .. and at least Canon printer drivers, and and and and ...) They're not isolated in the sense that microkernels would enforce but they provide a shim for the kernel and then do a lot of their processing in userland. We can load and unload drivers at runtime. That's what insmod/rmmod do. We don't do message passing between kernel components, but in order to prevent messaging from becoming a bottleneck we have signaling mechanisms, we have netlink, and we have $deity knows what else. We DO have userspace filesystems: FUSE. I'm still waiting for userspace block device drivers but that's probably not going to happen. :) What do we have with Linux then? Not a microkernel - just a very modular and runtime-modifiable mostly monolithic kernel instead. A hybrid? Ish?
- eng_monkey 12y ago> Thanks Mr. Tanenbaum It should probably be Prof. Tanenbaum or at least Dr Tanenbaum.
- hyperliner 12y agoHe will probably appreciate it either way. But the point is well taken.
- Jare 12y agoHeh, I can explain that. :) I wrote Prof. first but then thought it sounded like I had actually attended his classes, so I removed it. Then, in spanish there is no different wording for PhD vs MD, so we normally only use "doctor" as a title for physicians, or in extremely formal circumstances for other academics. I have always known him as "Andrew Tanenbaum" since the late 80s, so I thought Mr. would be a proper form to show respect. Thanks for your comment!