This filosophical concept is called Unix Deflection Functionality. You know, the pipe-chads.. It's confusionism which arose from cipher-suites. The problem is Theo de Raadt. He is a giganormous liar.
Microkernels are probably a better design, but everyone knows the speed is in Monolithic. With most of computing at least the scheduler and stuff around it has to be cpu water tight and not running on inherently unstable equipment.
I agree, there's overhead with IPC between the services, even if it's optimized. That extra overhead is going to introduce a bit of latency. However, there are other places where latency is introduced, like garbage collection. The garbage collector pauses program execution while it defrags the used space.
It's so sad to see Minix being pretty much dead right now. A microkernel based OS might be the only way to combat modern bloat OSes like MS Windows and to some extent Linux.
@Richard Addison Isn't it ironic that Minix powers broken, buggy, proprietary spyware that you cannot modify or even deactivate? Oh wait, no, that's a feature of the BSD license.
@Richard Addison Yeah no, it's the same confused people that think that free speech should include the right to do things that ultimately limit free speech. And it's the same with tolerance. Tolerance of everything would include tolerance of intolerant groups or movements that actively seek to destroy tolerance. Similarly, giving users freedoms doesn't mean that everyone should be free to do anything, as that would be counterproductive and lead to violation of users' freedoms. Sadly, some people live in idealistic fantasy worlds or are too naive to get this... and suggest BSD for exactly that reason.
@Daniel Schütte: One more thing: the bazillion of lines of code ("bloat") of Linux comparisons with microkernels are fallacious and deliberately misleading. Most lines of code come from drivers for hardware you're not running and potentially will never own in your life. If Minix had the same driver base and hardware support then it would have even more lines of code. Also, the kernel didn't get more bloated. A recent embedded build configuration results in a smaller linux kernel than some older versions, and the number of lines compiled (including basic hardware support of the embedded platform) are in the thousands, not millions.
@Richard Addison What conceptual flaws? Did you watch the video and the explanation of the drawbacks of microkernel design? Minix being 8x to 50x slower than Linux, for example. But there are many more issues with microkernels and also with the marketing arguments that are being thrown around by the microkernel mob.
@Richard Addison Yeah, for quite a long time people like the professor in your linked video have e.g. insisted on synchronous calls. Surprise, surprise, this brings unfixable problems with it and this has been known for a long time... Which is why most implementations have switched to asynchronous communication, which makes the overall architecture quite complex and very hard to debug. Btw, both points were mentioned explicitly by Linus Torvalds several years ago when asked about microkernels. There's also this main argument of "fault tolerance" of microkernels, but it is an empty promise. Consider a hardware state that hangs a module due to a bug. Restarting the module won't help, because the module will again hang. Or consider a scenario where one module triggers a bug in another. If it retries then even if the other module is restarted after a hang or crash, the same will happen again. Basically, microkernels are not any more reliable when it comes to denial of service. Lastly, Linux has components that load user-space "drivers" or daemons. They are used for things where performance is not critical, do not belong in the kernel or are written by people who do not know how to develop an in-kernel driver.
Zhecho Zhechev basically, microkernels have inferior performance (5%-10%) and the whole module system ends up not working so well cuz some modules like file system need special access and thus can’t fully run in user space anyway (something like this). Just search up what Linus Torvalds says about microkernels tbh.
@@KC9UDX That's not rigorous enough to assess how to make good OS's. Performance difference of different technologies isn't about opinions. I don't know whether Linus is right, but your comment ironically paints both options as equal. If it's just opinions, how can it be objectively true that there are advantages and disadvantages to both?
Remembering Tanembaum ~10 years ago at FOSDEM, announcing he was hiring as he won a 2.5 million € european funding... I have bought one of his numerous books. I also have recently tried the latest version of Minix 3 on Virtualbox, it crashed! Where's the money Lebowski? ;-) Check his famous flameware of 92: "LINUX is obsolete " groups.google.com/forum/#!topic/comp.os.minix/wlhw16QWltI%5B1-25%5D
@@dymek- Yes, at 8:23 in video, he quickly brushes aside the period in which IME (Intel Management Engine) was being embedded into our CPU's... 2008, 2010, and 2013.
but it took 3 generations to eliminate the bugs. (at the customer's expense - buy the new model) 400/800 had several (Pokey timer 4 & SIO timeout) 1200XL incompatible with every other machine. (MMU & PIA Port B) ATARI Basic had 3 revisions.
I am not a c Dev but I have written so.e basic c in college. The presented code at the beginning was near unreadble to me. The presentator is a pro developer.
An interesting talk, fortunately the camera work improves to display some of the slides. Summaried as: John did some excellent work to improve performance and discusses some of the tools used. Best to use sector size of 4K and to modify threads depending on your workload. (kern.geom.eli.threads)
the fault-tolerant/self-healing bit sounds like Erlang the messaging, killing/restarting (supervision) -- do sound the same.. is there a pattern? ...live updates..
Andy you're too much of a purist. Why not try to make Linux more microkernel like? The elephant in the room is brain share. We are all interested in what microkernels can do for us but we can't move to an OS without an ecosystem around it. Also you should look at Erlang for inspiration especially OTP supervisors (forget the reincarnation server). Another nice idea is error kernels by jlouis (google it).
Why ask for something new by asking that nothing be changed? If you want Linux, you already have it. If you want a Tiny Linux you already have that. And you wonder why nothing changes?
Two reasons why it’s a bad idea to try a micro kernel in Linux: 1. Linux is too political to attempt this in - too many feelings to hurt. 2. Linux is already too fragmented . Think what you could all do together making 1 or 2 distributions instead of the hundreds there are now.
Mates, Linux already run on top of a microkernel in someway, every Intel CPU runs an embedded minix on the core of the processor, it's just beyond reach.
A very valiant effort by Stefan Sperling. Unfortunately, this is a topic that requires clear visualization and audio for the audience. A projection or video presentation that follows a procedure of Introduction, instruction, and summation would be better.