Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

L4 was popular at my university (Karlsruhe). While I never really looked into it in any detail, it always appeared to me like a project that is primarily interested in testing some theoretical ideas, but not in building anything that would be practically useful.

That was 20 years ago. As far as I can tell, this has not changed. (Quick googling tells me there appear to be some efforts to build an OS on it, but they all look more like proof of concepts, not like something with real-world use.)



https://en.wikipedia.org/wiki/L4_microkernel_family seems to describe it having been used all over the place, though mostly in embedded contexts.

> OKL4 shipments exceeded 1.5 billion in early 2012,[4] mostly on Qualcomm wireless modem chips. Other deployments include automotive infotainment systems.[13]

> Apple A series processors beginning with the A7 contain a Secure Enclave coprocessor running an L4 operating system[14] called sepOS (Secure Enclave Processor OS) based on the L4-embedded kernel developed at NICTA in 2006.[15] As a result, L4 ships on all modern Apple devices including Macs with Apple silicon.


I feel like the two of you are talking past each other as the other poster is talking about time sharing systems like UNIX while you are pointing at embedded applications that are OS optional and if there is any semblance of an OS, it is really minimal. People deploying L4 there is not very surprising and does not apply to his remarks. Seeing this is like watching one person discuss an absence of apples and seeing another reply saying that there are oranges.


Ok, admittedly, that's more than I expected. And hey, if they found some use cases in the embedded world, fine.

Nevertheless, it's not exactly how it was pitched. This Microkernel thing always had a "Linux is doing it wrong, we're doing it better" story behind it. They wanted to be a replacement for a general-purpose OS. That cetainly hasn't happened.


OSF/1 is the closest that microkernels ever came to being used in general purpose operating systems:

https://en.wikipedia.org/wiki/OSF/1

The only still living variant is AIX. Some of the code is in the XNU kernel, although that is a monolithic kernel rather than a microkernel. Apple converted it to a monolithic design for performance reasons.

That said, this article suggests that AIX is not using a microkernel either:

https://tedium.co/2019/02/28/ibm-workplace-os-taligent-histo...


> The only still living variant is AIX.

This is incorrect.

The thing you have to understand about “AIX” is that historically it was not a single codebase, it was just a common brand for multiple unrelated IBM Unix offerings. (DB2 is the same story.) One of those offerings was AIX/ESA for IBM mainframes - and that was indeed based on the OSF/1 microkernel. But AIX/ESA died in the early 1990s-it was replaced by turning MVS aka OS/390 into a certified Unix, a role carried on by z/OS today, and later on by z/Linux as well. Whereas, the only AIX that survives to this day is the RS/6000 branch which isn’t based on OSF/1, and has a classic monolithic kernel design. Its distant ancestor, AIX version 1 for the RT PC, did use a microkernel (VRM), but that microkernel was very different from Mach and OSF/1 (it was written in a PL/I dialect, PL.8, that’s how alien it was)


Additionally it is the only UNIX that follows a Windows like approach to shared libraries, which might confuse folks coming from POSIX land.


What specifically makes AIX's approach to shared libraries "Windows like"?



Thanks for the clarification.


Your OSF/1 link makes a lot of references to Mach 2.5 which still required the Unix portions to be in kernel memory space so it was still a monolithic kernel. This was the same as NeXTSTEP which is the basis for the current Mac OS X. It looks like OSF/1 did move to Mach 3.0 which was a microkernel but I'm not sure if the Digital Unix / Tru64 moved to that or not.

As for AIX, I used it on an RT around 1990 and then POWER based RS/6000 machines in the 1990's. It was a monolithic kernel.

Your own link mentions the failed Mach based Workplace OS and all the different "personalities."

From your link:

Internal discussion at IBM focused on AIX. Finally, at Comdex in 1993, IBM Chairman Louis Gerstner announced that the microkernel would not replace AIX. IBM realized that many AIX users would not accept performance penalties associated with microkernel systems. IBM was also concerned with the microkernel presenting a competitive impediment against high performance HP or Sun Unix systems than ran directly on the hardware. Instead, Gerstner told AIX customers that they would be able to migrate to Workplace OS, later if they were interested.

https://en.wikipedia.org/wiki/IBM_AIX#IBM_mainframes

> With the introduction of the ESA/390 architecture, AIX/370 was replaced by AIX/ESA[28] in 1991, which was based on OSF/1, and also ran on the System/390 platform.

I think another way to look at it is that "AIX" is a larger term for a family of operating systems. The one that I used and probably the most popular was the monolithic kernel based on System V Unix that ran on the RT and POWER architectures.

The AIX version that would run on Mach for workstations was never commercially released. The AIX version for mainframes was based on Mach but AIX/ESA. You can see other versions like AIX/386


OSF/1 1.3 switched to Mach 3.0.


You are right. I didn't realize that OSF/1 was used by anyone other than DEC which rebranded their version as Digital Unix and then Tru64 Unix.

The wikipedia page has a link to this Intel Paragon supercomputer which specifically says OSF/1 and Mach 3.0 microkernel.

https://archive.org/details/bitsavers_intelsupergonXPSXPEBro...


Genode is an actively developed, general purpose desktop operating system that works today, and can use seL4, among other kernels.


The last surviving OSF/1 based OS is macOS, not AIX


I thought OSF/1 was more of a kernel organ donor to macOS rather than the basis for it.


The entire "unix" part was updated with OSF/1 source code, with patches here and there of Free and NetBSD codebase.

But especially when compiling code that was written in C for "modern BSD" (Net/Free/Open) you can easily hit the part where userland etc. is OSF/1 branched off BSD 4.3/4.4 and simply does not include things people "assume" are present on BSD (like the more advanced linked list and tree macros)


Jochen Liedtke became a professor in 1999 in Karlsruhe, sadly he passed away only shortly after in 2001. I don't know if his successor Bellosa still does research on L4. There was the L4Ka project which appears to be completed. In the bachelor lecture on OS by him it's not part of the curriculum.

Rittinghaus, alumni of Bellosa, is involved with Unikraft [0], which was featured a couple of times on hn, and is using unikernel technology.

[0] https://unikraft.org/


After Liedtke's passing, L4 research was continued in groups at UNSW (Gernot Heiser, formal verification -> SeL4) and TU Dresden (Hermann Haertig, Fiasco/L4Re, focusing on real-time and secure systems).

Genode (already mentioned in another comment) [1] came out of the TU Dresden group with some nice ideas around managing compartmentalized systems. Kernkonzept [2] is a startup commercializing the L4Re microkernel.

[1] https://genode.org/ [2] https://www.kernkonzept.com/


Well, an L4 variant is used in iPhones: "The Secure Enclave Processor runs an Apple-customized version of the L4 microkernel." https://support.apple.com/de-at/guide/security/sec59b0b31ff/...


the L4Re derivative (open source) is running in every single id.X Volkswagen car in the central "icas1" ECU, carrying Linux and other guests.

https://www.kernkonzept.com/kk_events/elektrobit-advances-au...

afaics the L4Re kernel also is part of Elektrobit Safe Linux.


I love the work (and the direction) the Karlsruhe team did on L4Ka, especially with Pistachio - the design was clean, simple, easy to grasp.

I did a Pistachio-based OS for my diploma thesis (not at Karlsruhe). I always thought that if I'd been studying there, I'd probably go into OS research.


L4, L4Ka developed in Karlsruhe is not the same as seL4.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: