Filesystem Architectures with L4Re and L4-Based Systems
paul at boddie.org.uk
Mon Dec 2 17:03:12 CET 2019
On Sunday 12. August 2018 22.26.26 Paul Boddie wrote:
> One thing I wonder about is whether the current L4Re approach is able to
> satisfactorily deal with filesystem content that needs to serve different
> user entities, with content having different permission and ownership
> rights. It seems that the filesystem logic has to be available as a library
> within a program, which is not necessarily a problem.
I guess nobody had anything to say about this, which kind of suggests that a
lot of the focus around L4Re is in virtualising Linux and arguably not playing
to the strengths of the microkernel architecture. However...
> Are there any articles about the design of L4Re that might explain the
> motivations here? And are there any accessible-but-detailed articles about
> other microkernel-based systems and the way in which they structure their
> filesystem architectures? I looked around on the TU-Dresden site for
> materials, but I didn't immediately find anything obviously relevant.
What I did find was some more information about the Spring operating system
developed by Sun Labs back in the early 1990s. Helpfully, someone had written
up a summary of various papers in the Wikipedia article in question (also
doing so in an era when edits were not policed in a pedantic and draconian
fashion, so the article remains rather informative), and with references to
L4-based systems, it was hard to ignore:
Reading a bit more about Spring in the research papers, there are some
similarities with L4Re that suggest that some inspiration has been taken from
the various things Spring implemented or provided. For instance, much is made
of the naming service in Spring, and I cannot help feeling that the role of
namespaces in L4Re is inspired by it.
It appears that Spring was discontinued in favour of enhancing Solaris (which
those around at the time will remember was rather struggling to gain the
confidence of established SunOS users, at least from the perspective of people
I knew), and a Solaris-based cluster-oriented product was introduced employing
various concepts and mechanisms from Spring. For instance, Spring's interface
descriptions evolved into CORBA IDL which then became the basis of abstracting
functionality in the multi-machine Solaris environment.
Anyway, since my last message I have been plugging away at writing L4Re
components, even revisiting the use of interface descriptions and making a
tool to generate code from them, so I thought I would share the above findings
in case they jog anyone's memory or allow anyone to clarify what their
objectives were with systems like TUDOS and other ostensibly general-purpose
computing environments based on L4Re and its predecessors.
More information about the l4-hackers