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

Reply via email to