On Monday 27. January 2020 18.28.05 Andrew Warkentin wrote: > I think the only way a microkernel OS is going to have anything > remotely resembling broad success is if is natively Linux-compatible > at both the application and driver level.
There will be people who disagree with that statement based on what you define "OS" and "success" to be. For instance, it has been noted that large numbers of Intel CPUs run Minix 3 on the management core [*]. Some people would regard that as a success, although I am not so sure I would. [*] http://blog.ptsecurity.com/2017/08/disabling-intel-me.html > Few people are going to switch to an OS with limited hardware and > application support even if it is more secure and/or more flexible > architecturally. Seems like I'm one of the few who sees it that way though. I actually think that most people agree with you on this, at least when confronted with the notion for the first time. But I don't think such considerations should overrule every other consideration: it reminds me of people in the English-speaking world (particularly in my country of origin) who say that if they could be bothered to learn a foreign language, it would be "something like Spanish that a lot of people speak", justifying the choice in terms of all the millions of individual speakers with whom they could be having hypothetical conversations that, naturally, they wouldn't end up having anyway. If the limited hardware and applications support is pretty much baked into a system then I think it is a bad strategy to pursue. However, if the system is portable and if the environment is there for developing drivers and applications then I think the situation is rather different. It should be remembered that Linux is in a state of constant churn: drivers stop working, systems get refactored, people get told to keep up, rework and resubmit. And the user space tends to track the kernel, meaning that older kernels that happened to support particular hardware configurations cannot be used with modern distributions. The idea that Linux has everything covered is perhaps mostly true: the broad support for hardware has motivated its use where other systems have seemed less plausible (for example, Android making use of Linux instead one of the BSDs, which was a choice made by at least one preceding project of that nature). But it isn't necessarily something that is delivered completely for free, nor does it absolve anyone of any effort: the catalogue of vendor kernels, non-upstreamed drivers and obsolete devices is testament to that. > I'm not aware of any similar projects to my own (there are a few natively > Unix-like microkernel OSes but none have Linux compatibility AFAIK). Your project being this one: https://gitlab.com/uxrt Is there a summary of it anywhere? [...] > > that there is a flexibility permitted in the design of such systems that > > should make driver development easier. (I also wonder how much people have > > looked at what goes into the average Linux driver.) > > There is already a project that makes the Linux kernel into a library, > which should mean that it will be relatively easy for a microkernel OS > to borrow drivers from Linux, as long as the OS sticks to a > process-per-subsystem-instance architecture rather than separating > subsystems into processes vertically. It doesn't yet support physical > device drivers, but it should be possible to add it (which is what I'm > planning to do). I wonder whether people don't already rely on things like L4Linux for such functionality. However, I don't personally think that having boxed-up driver frameworks is particularly elegant or plays to the strengths of microkernel- based paradigms. In L4Re, I found myself staring down bits of imported Linux kernel code and wondering whether things might not have been easier - and most certainly clearer - had something been developed independently. Of course, the real solution is to have a library of functionality that a variety of systems could use. Then, we wouldn't need to pick over the remains of some other project. Being familiar with this industry over a couple of decades, however, I am fully aware that people exhibit rather strong tendencies to insist that such cooperation is not possible, usually because of something super-special that they insist that only they are doing. Paul _______________________________________________ l4-hackers mailing list l4-hackers@os.inf.tu-dresden.de http://os.inf.tu-dresden.de/mailman/listinfo/l4-hackers