Filesystem Architectures with L4Re and L4-Based Systems

Paul Boddie 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:

https://en.wikipedia.org/wiki/Spring_(operating_system)

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.

Paul



More information about the l4-hackers mailing list