3 ms·
https://en.wikipedia.org/wiki/L4_microkernel_family https://en.wikipedia.org/wiki/L4_microkernel_family seems to describe it having been used all over the place
by yjftsjthsd-h 2y ago
https://en.wikipedia.org/wiki/L4_microkernel_family 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.
- ryao 2y agoI 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.
- hannob 2y agoOk, 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.
- ryao 2y agoOSF/1 is the closest that microkernels ever came to being used in general purpose operating systems: https://en.wikipedia.org/wiki/OSF/1 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-history/ https://tedium.co/2019/02/28/ibm-workplace-os-taligent-histo...
- Zamiel_Snawley 2y agoGenode is an actively developed, general purpose desktop operating system that works today, and can use seL4, among other kernels.
- skissane 2y ago> 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)
- ryao 2y agoThanks for the clarification.
- pjmlp 2y agoAdditionally it is the only UNIX that follows a Windows like approach to shared libraries, which might confuse folks coming from POSIX land.
- skissane 2y agoWhat specifically makes AIX's approach to shared libraries "Windows like"?
- pjmlp 2y agoUsing COFF instead of ELF, nowadays XCOFF. https://www.ibm.com/docs/en/aix/7.3?topic=formats-xcoff-object-file-format https://www.ibm.com/docs/en/aix/7.3?topic=formats-xcoff-obje... Having its version of dependency files, export files in Aix speak, https://learn.microsoft.com/en-us/troubleshoot/windows-client/setup-upgrade-and-drivers/dynamic-link-library#export-dll-functions https://learn.microsoft.com/en-us/troubleshoot/windows-clien... https://www.ibm.com/docs/en/xl-c-aix/13.1.3?topic=library-compiling-shared https://www.ibm.com/docs/en/xl-c-aix/13.1.3?topic=library-co... https://download.boulder.ibm.com/ibmdl/pub/software/dw/aix/es-aix_ll.pdf https://download.boulder.ibm.com/ibmdl/pub/software/dw/aix/e... Just like with VC++, lazy loading of libraries on symbol first use, done by the compiler. https://learn.microsoft.com/en-us/cpp/build/reference/linker-support-for-delay-loaded-dlls?view=msvc-170 https://learn.microsoft.com/en-us/cpp/build/reference/linker... https://www.ibm.com/docs/en/aix/7.3?topic=memory-shared-libraries-lazy-loading https://www.ibm.com/docs/en/aix/7.3?topic=memory-shared-libr... I had some fun with Aix 5 back in the 2000's.