Post a Comment
If I understand correctly, L4 is the standard API which the kernel must implement in order to be an L4 kernel. So, you implement the L4 API and you end up with an L4 kernel - such as the fiasco microkernel.
Are the underlying workings of the kernel not that important, just so long as the API is implemented?
Also, are there examples of systems using an L4 microkernel in production or in various operating systems? Perhaps some projects underway?
If I understand correctly, L4 is the standard API which the kernel must implement in order to be an L4 kernel.
No. L4 is a family of similar nanokernels, but they're not all the same.
So, you implement the L4 API and you end up with an L4 kernel - such as the fiasco microkernel.
You implement to the reference API (e.g. Fiasco, Hazelnut, now Pistaschio). From what I understand, most of the code is machine-dependant (the PPC code looks nothing like the IA32 code). But! It's not very big, so this isn't that important.
Also, are there examples of systems using an L4 microkernel in production or in various operating systems? Perhaps some projects underway?
DrOPS. L4Linux. L4-Hurd (boots a couple of user-space servers, but isn't usable yet).
Try Gnuppix.
"The Gnuppix project provides a bootable CD with a preliminary GNU/Hurd system, running on top of the L4 microkernel."
http://gnuppix.org/
Techinically it's also english (though etymologically it's a loan word). http://m-w.com/cgi-bin/dictionary?book=Dictionary&va=vista&x=0&y=0
The projects that have the coolest names (I won't name names), seem to be the ones that never reach a working state...
Like what? Ubuntu? Sarge? Chicago? All of those are in a working state (Well, I don't know if you could call Win9x, Chicago, in a working state. :-) ) I think it would actually be hard to find an OS without a cool name, even from commercial developers. :-)




