chrissicool / l4openbsd

OpenBSD/L4 port
http://www.l4openbsd.org/
17 stars 4 forks source link

Do you know what happened to l4openbsd? #1

Open ghost opened 10 years ago

ghost commented 10 years ago

I wasn't sure how else to ask you, but do you have any idea what happened to l4openbsd? Is this the last release they did?

chrissicool commented 10 years ago

Hi,

you've come to the right place. I did that port as part of my thesis. The Germany based company genua mbH showed interest in it, so I handed of development to them.

The 2/2014 FreeBSD Quarterly Status Report has a section on "Running FreeBSD as an Application on Top of the Fiasco.OC Microkernel". It states that genua mbh plans to opensource their L4OpenBSD/amd64 port.

But for the moment, this repo has the latest public version available.

ghost commented 4 years ago

Looks like nothing happened since then. There is a project called L4Re here https://github.com/kernkonzept which continues the work on L4 and there is another project called seL4 here https://github.com/seL4/seL4 which is an L4 implementation that was tested for formal correctness. I am slowly getting a fan of L4 and microkernels, but I did not manage to find anything so far I could use on my home microserver. Either the projects are discontinued or they just contain the microkernel, but no drivers, applications, anything else I could use. Minix looks ok, but they don't have L4 just their own microkernel which is most probably a lot slower. Based on their chat they could not accept L4 in their project, because they already spent a few decades on their own microkernel, but maybe I am wrong. So while this microkernel story is very interesting, but looks like it is mostly dead because only a few groups/people are working on it and even those cannot collaborate with each other...

chrissicool commented 4 years ago

Hi @inf3rno,

welcome to the world of microkernels. As you have noticed already, drivers and applications are the culprits of any OS. The original goal of L4OpenBSD was to provide a lean Unix as an application on top of L4Re. First, as an update, the German company Genua is still using this port internally to this day. Unfortunately they have given up on the plan to maintain their port as an open-source version, as it would only make sense when it's incorporated in upstream OpenBSD. And there is not much blessing from the OpenBSD community, due to the lack of broader public interest.

On L4Re, there is still L4Linux, which is a port of Linux to L4Re. It was inspiration for this port as well. It solves the drivers an applications issues, but does not give you the benefit of strong isolation.

A more general approach to isolate more components and create a general-purpose OS is the Genode Framework. Especially their Sculpt-OS seems to fit your needs better than anything else to get things going fast and isolate everything in their respective compartment.

ghost commented 4 years ago

Hi @chrissicool!

Can you say a few words about how hard it was or how much time it took to port OpenBSD to L4Re or what are the major steps of the work? I'd like to do the same with Minix as a hobby project. As far as I understand one needs to optimize differently for a microkernel and I suspect that Minix developers already did it with their applications unlike BSD or Linux developers. But maybe I am wrong. Actually my "need" is to understand the OS I am working with and microkernels appear to be amazing from that perspective. Another goal is having a very minimal system on my home microserver with only the drivers and applications that are necessary. So I am not as serious consumer of these operating systems as the company you mentioned. I just find this topic very interesting, and I can spend a lot of free time on it.

Another question you might be able to answer if there is any benchmark that compares Minix's kernel to L4 or OpenBSD with L4OpenBSD, or L4Linux to Linux? It would be nice to know how much performance we lose with microkernels compared to monolithic kernels. The only thing I found compared Minix to Linux, which is not particularly useful, since I guess they have a slow microkernel compared to L4.