7 ms·
This could have so easily been phrased much more nicely and more substantively. What is Tanenbaum's legacy? What microkernels are in use?
by jackowayed 12y ago
This 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?
- kjs3 12y agoI think you have to straight up call Linux a monolithic kernel. It's got some nifty modularization features, but none of them (other than maybe FUSE) are really what the microkernel folks are going for. And that's fine. Both approaches have obviously evolved to fill niches the other doesn't satisfy as well. What's clear is that nether approach is a panacea for all compute needs.
- kjs3 12y agoNo...based on your reaction I think I phrased it pretty much spot on. I added a new question to my interview process a number of years ago. Anyone who put "computer science" on their resume get's asked "What do you think of Andrew Tanenbaum?" It's free-form question intended to see what about computer science interested them enough to remember; I have similar questions about Turing & Knuth. Our team requires a lot of broad knowledge and original thought. If they don't know who AST is, the interview is probably over. We continue if they can discuss pretty much any of the 6-7 seminal, award winning CS textbooks he wrote, the other major projects he lead like the Amsterdam Compiler Kit or the Amoeba distributed operating system, or the other contributions he made to networking, distributed systems, languages, computer architecture, operating systems or information security (he did publish nearly 200 journal papers over 43 years as a professor). If they know about Electoral-vote.com, bonus points. If all they can come up with is "Minix" and "that pissing contest with Linus", then I might see if the Linux devops guys have an opening. If they're that incurious, they'll do fine there; those guys think the world begins and ends with Linux, too. Continuing in the "let me Google that for you" vein, both QNX and various L4 family microkernels are in use in a variety of embedded systems; QNX is also in the new Blackberry products. There's a number of very mature security oriented research microkernels (like L4se and K42) that could very well show up in commercial products eventually. But that's back to needing to know more about computer science than Windows and MacOS.
- sanderjd 12y agoI'm totally with you that questioning Tannenbaum's legacy is pretty poor form, but your interview questions sound designed to filter out anyone who doesn't share your exact interests, which is a real shame. A better follow-up than ending the interview upon a candidate not knowing who he is would be to describe his achievements (as you did here) and then ask the candidate to tell you what they know about someone else interesting who you may or may not already know all about.
- kjs3 12y agoAnother good interview technique is "did you actually read what I said". Things like when I said it's an open ended question, asked about 3 of the seminal minds in CS at least one of which a CS graduate would have bumped up against, and that the candidate can focus on whatever they want to. Just a tip for your next interview.
- sanderjd 12y ago> If they don't know who AST is, the interview is probably over. We continue if they can discuss pretty much any of the 6-7 seminal, award winning CS textbooks he wrote, the other major projects he lead like the Amsterdam Compiler Kit or the Amoeba distributed operating system, or the other contributions he made to networking, distributed systems, languages, computer architecture, operating systems or information security (he did publish nearly 200 journal papers over 43 years as a professor).
- gtirloni 12y agoThis has nothing to do with cultural bias. It's just basic CS stuff that anyone with "CS" in their resumes should know about. Heck, even undergraduate students will probably have "AST" tattooed inside their brains in the first semester alone. I'm sorry to be picking on you but this is one of the things that is absolutely wrong in our field: we don't learn anything from history. We don't know what was being researched in the 70's and proceed to reinvent the wheel over and over thinking we somehow have magical brains that are unearthing some concepts for the first time in human history. The traditional CS curriculum should adopt a mentality of "ok, you now understand at which point in history we are in CS? Know most of the past inventions? Fine, now proceed to build on top of them and stop wasting everybody's time with your rediscoveries".
- TallGuyShort 12y agoHe's written several excellent books on operating system design and they are considered by many to be excellent resources - he's taught a lot of people about how an OS works beyond the decision of microkernel vs. monolithic. He's a respected professor, seen as the authority on the topic, his less-popular opinion on microkernels notwithstanding. Most OS's today may have gone in the direction of being monolithic, it is true, but as other commenters have pointed out, Linux is actually very dynamic and modular, Minix 3 has some very advanced functionality, and this all validates the vision he had for microkernels, even if it didn't pan out to be commercially optimal.
- oskdfjgfgg 12y agoXen, Minix 3, QNX, several l4 implementations, etc. OKL4 alone has been shipped on over 1.5 billion devices. QNX was huge. Xen is running everything at AWS, the largest webhosting company in existence (nevermind everywhere else it is used).
- jacquesm 12y agoQNX is huge. If you took QNX out of the world it would stop to function just about immediately. So much stuff runs on it that you typically wouldn't even guess. In that sense it is just like other soft real time/hard real time OS's one of the unsung success stories of IT simply because it works so well it tends to disappear. Most things that use QNX or other OS's like that inside simply work rather than that they require constant upgrades and bug fixes. Reliability by design is so much better than reliability by trial and error, and the OS is a huge factor in that. It's a world where bugs are felt as 'egg on your face' rather than a 'wontfix'.