Live data from Hacker News

The Fiasco microkernel

l4re.org

1–10 of 43 posts

Re: The Fiasco microkernel

#2
In Martin Amis's "Money" (1984), the protagonist drives a purple Italian sports car whose make is Fiasco.

No relation to the microkernel, except maybe the modest suggestion that a purple car would make a nice logo because it’s a great book.

Re: The Fiasco microkernel

#4
There are two notable projects here:

L4Re is a (reasonably) portable L4 userspace environment and has a large collection of ported libraries (e.g. zlib etc).

Fiasco is the L4 microkernel they have developed for many years. It is different to the others because it is written in C++ and heavily object oriented. It also has concurrency in the kernel unlike simple systems like seL4, although at a complexity cost.

As a side note, these guys also develop L4Linux: a paravirtualized mod of Linux that runs on top of L4 as a task. This enables more realtime tasks to run alongside Linux. Kudos to these guys and their projects.

Re: The Fiasco microkernel

#5
Been following along with the development of Zircon.

https://github.com/fuchsia-mirror/zircon

What is cool is Google does this in the open and you can follow along. See which things have place holders and where the focus moves from day/week/month to day/week/month.

Also developers on iirc and Travis super nice guy.

I am old an worked with internals for decades and this is the most excited I have been about a kernel in a very long time.

Looks to me the layers of Fuchsia are going to also be ala cart.

So Flutter on multiple platforms. Zircon able to be used for a variety of purposes and then in addition the kernel for Fuchsia.

Re: The Fiasco microkernel

#6

I only have superficial knowledge of kernel-level systems, so a list of features doesn't give me a sense of a project's reason for existing. What's this project solving, exactly?

It is an implementation of the L4 microkernel API. Microkernel systems can be more reliable than monolithic kernels, but traditionally have the problem of high communication overhead between the services constituting the kernel. The Mach kernel (used by macOS and others) is an example of a known slow microkernel. L4 implementations have been demonstrating since the mid 90s that low overhead microkernels are possible.

I wonder why neither Minix 3 nor Fuchsia are using L4. (I guess they may have learned the main lessons from L4 and chose to write those few thousand lines of code themselves for flexibility and control. Strangely, nobody likes to talk about it.)

Re: The Fiasco microkernel

#7

I only have superficial knowledge of kernel-level systems, so a list of features doesn't give me a sense of a project's reason for existing. What's this project solving, exactly?

Somebody feel free to set me straight if I'm wrong (my knowledge of kernels is basically a college class and a half), but it seems the key thing here is that it's a kernel oriented around the L4 cache, which seems interesting because that's shared by the CPU and GPU: https://superuser.com/questions/1073937/what-does-l4-cache-h...

So, intuitively at least it seems it's for sharing the kernel workload with your GPU (supposing your hardware supports it)?

Re: The Fiasco microkernel

#8

I only have superficial knowledge of kernel-level systems, so a list of features doesn't give me a sense of a project's reason for existing. What's this project solving, exactly?

Somebody feel free to set me straight if I'm wrong (my knowledge of kernels is basically a college class and a half), but it seems the key thing here is that it's a kernel oriented around the L4 cache, which seems interesting because that's shared by the CPU and GPU: https://superuser.com/questions/1073937/what-does-l4-cache-h... So, intuitively at least it seems it's for sharing the kernel workload with your GPU (su…

Ehm, no, it has nothing to do with the cache, it's just a successor of L3[0].

[0] https://en.wikipedia.org/wiki/L4_microkernel_family#L3

Re: The Fiasco microkernel

#9
post #8

Earlier quoted context omitted.

Somebody feel free to set me straight if I'm wrong (my knowledge of kernels is basically a college class and a half), but it seems the key thing here is that it's a kernel oriented around the L4 cache, which seems interesting because that's shared by the CPU and GPU: https://superuser.com/questions/1073937/what-does-l4-cache-h... So, intuitively at least it seems it's for sharing the kernel workload with your GPU (su…

Ehm, no, it has nothing to do with the cache, it's just a successor of L3[0]. [0] https://en.wikipedia.org/wiki/L4_microkernel_family#L3

Ah, thanks. Hadn't heard of it, but now I know!

Re: The Fiasco microkernel

#10

I only have superficial knowledge of kernel-level systems, so a list of features doesn't give me a sense of a project's reason for existing. What's this project solving, exactly?

It is an implementation of the L4 microkernel API. Microkernel systems can be more reliable than monolithic kernels, but traditionally have the problem of high communication overhead between the services constituting the kernel. The Mach kernel (used by macOS and others) is an example of a known slow microkernel. L4 implementations have been demonstrating since the mid 90s that low overhead microkernels are possible.…

Thanks for the overview. This is exactly the level of analysis I was looking for!

>The Mach kernel (used by macOS and others)

Where/how does this typically manifest itself? Why isn't macOS slow/sluggish?

Post reply on HN