3 ms·
They were both right, it's just dependent on the timeframe. Monolithic kernels "won" because they made pragmatic design decisions based on the hardware and sof
by indolering 8y ago
They were both right, it's just dependent on the timeframe.
Monolithic kernels "won" because they made pragmatic design decisions based on the hardware and software available. Linux in particular worked well partly because it built on a 20-year-old OS design.
Microkernels have had another ~30 years to develop and they are now performance competitive with monolithic kernels [1]. There is still a large legacy investment in monolithic kernels, but as security becomes increasingly important ... it's hard to see monolithic kernels staying the dominant form of OS design in the future.
Tanenbaum is a computer scientist, Linus is a computer engineer.
[1]: https://os.inf.tu-dresden.de/pubs/sosp97/ https://os.inf.tu-dresden.de/pubs/sosp97/
- mseebach 8y agoThe article you linked to is 21 years old. Microkernels is the fusion power of software, always 50 years in the future. They're great in theory, it's just that nobody got them to work outside the lab. As for security, yes, there are still vulnerabilities in the Linux kernel, and a microkernel might be helpful here, but it seems to me that the high-impact vulnerabilities we've seen in the past few years have been outside the kernel (spectre/meltdown and rowhammer in hardware and heartbleed in userspace). It's not obvious that microkernels will give a big enough security benefit for the investment to catch the technology up to the state of the art.
- pjmlp 8y agoFunny because apparently they run on my phone broadband radio chip, in many industrial automation control systems, medical devices, avionics and cars. It sounds pretty much outside the lab to me.
- indolering 8y agoYou (like Linus) are right in that microkernels don't provide much of a security benefit in-and-of themselves. But taking full advantage of other advances in information security research requires a new OS architecture. The financial consequences of poor security are becoming more severe and the cost of developing high-assurance code is dropping rapidly [1]. If we haven't crossed the cost/benefit ratio yet, we are very close. Microkernels are already the preferred architecture in niches that don't require legacy software. Monolithic kernels (and the Linux development process) can't catch up to the state-of-the-art. [1]: https://microkerneldude.wordpress.com/2016/06/16/verified-software-can-and-will-be-cheaper-than-buggy-stuff/ https://microkerneldude.wordpress.com/2016/06/16/verified-so...
- skavi 8y ago*software engineer, not computer engineer. Computer engineering focuses more on hardware and is a specialized field within electrical engineering.
- indolering 8y agoDerp!
- anfilt 8y agoAlthough, I would be curious what Linus would do with an FPGA.