Live data from Hacker News

The Fiasco microkernel

l4re.org

31–40 of 43 posts

Re: The Fiasco microkernel

#34
post #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 si…

I think there is a lot of promise in pulling mature components from Linux, OpenBSD, and Solaris/Illumos (or whoever does SunOS these days) across that paravirtual barrier, and progressively tailoring them toward the microkernel environment; while testing them using the systems they originate from.

Over time, maybe a microkernel could become the basis of most of these former monoliths.

Re: The Fiasco microkernel

#35

Earlier quoted context omitted.

Also in French!

Wondered why that name was chosen too. Etymology meaning failure does show it to come from Italian far fiasco = make a bottle = dud theatrical performance . Reminds you of GM motors wondering why their Chevy Nova wasn't selling well in Latin America. Why? In Spanish Nova = No va = It doesn't go (work).

I believe the name deliberately refers to the licensing fiasco over who owned the original rights to the L4 kernel that the many spinoffs are based on.

Re: The Fiasco microkernel

#36

Earlier quoted context omitted.

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?

While Mach 3.0 was designed to be a microkernel, macOS doesn't actually use it as one. The entire kernel, called XNU, runs in kernel mode, just like Linux. The macOS kernel had a reputation for sluggishness back in its early days, due (to the best of my understanding) due to the sluggishness of Mach messaging, which is how Mach implements system calls to the kernel. macOS also supports BSD syscalls, and Apple has app…

Darbat seems to be what's running in the Secure Enclave of the iPhone. Or at least something like it.

https://www.blackhat.com/docs/us-16/materials/us-16-Mandt-De...

Pretty darned awesome.

Fiasco is GREAT. You at least used to be able to run it with DROPS which had a cool desktop/demo disk where you could just launch a bunch of Debian Linux instances as L4 tasks. It was like VMWare on crack at the time when I tried it.

I think FiascoUX might still exist... you can run Fiasco as a userspace process on linux then run linux in ... oh I've gone cross-eyed..

Re: The Fiasco microkernel

#37
post #11

Earlier quoted context omitted.

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?

The kernel of macOS is XNU, which is basically a hybrid of Mach (microkernel) and BSD (monolithic Kernel). I guess the implication is that they had to create this hybrid because it would have been too slow otherwise.

I suspect you'll find the reason for a large amount of BSD code in macOS is because it allows them to get a lot of stuff for free that they didn't otherwise have to write themselves.

Re: The Fiasco microkernel

#38
post #18

Earlier quoted context omitted.

MINIX predates L4 and has evolved independently. Unfortunately, L4 and microkernels in general have (unfairly) gained a bad reputation in some circles, stemming from some projects in the 90s that ended in spectacular failure. Examples include IBM's Workplace OS, which costed billions of dollars in development. L4 has had quiet success in the embedded space. General interest has renewed thanks to interesting projects…

"MINIX predates L4 and has evolved independently." Minix 3 , a new system with the same name, doesn't predate L4. Tannenbaum probably learned stuff from the L4 people given he cites their work in his microkernel debate with Torvalds. They made a custom kernel since their requirements were different than L4 people's. They might have also thought it would be fun. Lots of researchers like just doing their own thing for…

Not big bucks, it was broke, general dynamics shut it down shortly after. Nobody with options got paid. The claim of a billion phones should be taken with some salt and l4 wasn't being used like a microkernel on the baseband - everything running in protected mode. If okl4 is the benchmark of success, microkernels are a near total failure. OKL4 was an abject failure, he said bitterly.

Re: The Fiasco microkernel

#39
post #38

Earlier quoted context omitted.

"MINIX predates L4 and has evolved independently." Minix 3 , a new system with the same name, doesn't predate L4. Tannenbaum probably learned stuff from the L4 people given he cites their work in his microkernel debate with Torvalds. They made a custom kernel since their requirements were different than L4 people's. They might have also thought it would be fun. Lots of researchers like just doing their own thing for…

Not big bucks, it was broke, general dynamics shut it down shortly after. Nobody with options got paid. The claim of a billion phones should be taken with some salt and l4 wasn't being used like a microkernel on the baseband - everything running in protected mode. If okl4 is the benchmark of success, microkernels are a near total failure. OKL4 was an abject failure, he said bitterly.

Oh wait, it looks like I missed his write-ups looking back at the company since I transitioned to a new area. I'll be going through them later. Thanks for the correction! So, I drop claims to L4 mostly a failure so far with other microkernels being successful in niche markets, esp embedded and safety/security-critical. The L4 people at places like Dresden at least gave us lots of good designs that are being put to use in open-source and commercial works. Device, driver VM's and Nitpicker GUI come to mind.

EDIT: Still reading the articles. Gernot reminds me PikeOS from Sysgo was "a L4 clone." They got acquired by Thales after quite a few iterations on their PikeOS product. An annual report I found by Thales said they were acquired for over 20 million Euros. Still on low-end in terms of market value but might have been successful depending on money in vs gained.

EDIT 2: Read his blog posts. Before OK Labs Post No 6, here's what he claims about L4 uptake:

"Secondly, a lot of stuff is running on L4: – Qualcomm modem chips have been running our L4-embedded kernel since 2006, that’s a few billion devices – The security processor of all iOS devices is running a modified version of our L4-embedded, that’s another 200-300 million devices every year – seL4 is being deployed on autonomous military air and ground vehicles, with the first autonomous helicopter flight in July 2015 – many other safety- and security-critical deployments are in progress.

I’m not aware of any real-world deployments of Minix."

Of course, we found out later Minix 3 was in Intel's baseband. So, there's two of them with people claiming massive deployments in supporting CPU's/MCU's. What you alluded to didn't refute a large number of units. Just that the company was anything as good as marketing presented. It wasn't. A few deliverables kept selling, though, per same source. He was wrong about Minix 3, too. Probably because it was Intel's secret for a while. I bet they wanted the reliability, included apps/code, and BSD license.

Re: The Fiasco microkernel

#40

Earlier quoted context omitted.

While Mach 3.0 was designed to be a microkernel, macOS doesn't actually use it as one. The entire kernel, called XNU, runs in kernel mode, just like Linux. The macOS kernel had a reputation for sluggishness back in its early days, due (to the best of my understanding) due to the sluggishness of Mach messaging, which is how Mach implements system calls to the kernel. macOS also supports BSD syscalls, and Apple has app…

Darbat seems to be what's running in the Secure Enclave of the iPhone. Or at least something like it. https://www.blackhat.com/docs/us-16/materials/us-16-Mandt-De... Pretty darned awesome. Fiasco is GREAT. You at least used to be able to run it with DROPS which had a cool desktop/demo disk where you could just launch a bunch of Debian Linux instances as L4 tasks. It was like VMWare on crack at the time when I tried i…

The Secure Enclave runs a customized version of L4Ka::Pistachio, apparently. Different codebase (Pistachio is C++, for example), same origin.
Post reply on HN