The Lions Operating System

20 hours ago (lionsos.org)

Presumably named after Associate Professor John Lions[0], of A Commentary on the UNIX Operating System[1] fame.

[0] https://en.wikipedia.org/wiki/John_Lions

[1] https://en.wikipedia.org/wiki/A_Commentary_on_the_UNIX_Opera...

Very cool! I’m a huge fan of Genode, another OS that runs on SeL4. Does anyone here know how they compare?

  • > Genode, another OS that runs on SeL4.

    Hang on, what? Genode can run on seL4 but seL4 is not part of it. Genode can also run on Linux and a bunch of other things. It has its own native kernel and it's not based on seL4 in any way, AFAIK.

  • Genode is a framework that can run on many places and on higher level has its own abstractions. Lion OS is based on Microkit the framework developed by the seL4 people that will also be verified. So Lion OS/Microkit is basically the outgrowth of the original seL4 research.

"but contains composable components for creating custom operating systems that are specific to a particular task"

like reviving OSfree aka 64bit OS/2

  • It's an OS built around a verified and formally proofed L4 kernel, ie. a microkernel like QNX or MACH. The L4 is a venerable design reaching back at least 25 years, if not longer. It has seen commercial and research uses, e.g. the SIMKO3 mobile phones or the Fiasco distribution. The term "task" is specific here. Running Linux as a custom operating system is a task in microkernel lingo.

> To be successful, many more components are needed.

What is the purpose of this OS ? Can it mint Bitcoin ? Can it do fluid dynamics simulation ? Can it act as an interface to a database ? Can it host a database ? Is it interactive ? What kind of interface it presents to the user ?

  • > What is the purpose of this OS ?

    What is the purpose of any OS?

    As all the modern ones slowly converge on similar attributes of being incomprehensibly vast codebases unreadable by any human, typically implemented in C or something closely related to it, using a similar underlying register-machine model, there is value in simply being small, simple, readable, able to do useful work, and being different. If something is also provably correct that's just the icing on the cake.

  • One application would be safety and security critical real-time systems that also need significant amount of processing power

  • That’s a rather luridly practical view that’s entirely out of sync with academia and basic research that provides tangible benefits much further down the line.

    • Yes, but basic reseach in IT is still not random, but usually has a clear goal, or at least some scope. Like indeed, focus on security? Focus on speed? Focus on reliability? Focus on energy efficency (because it is supposed to run on a tiny embedded device for long).

      And the gimmick here seems to be in fact, that it is supposed to be flexibel

      "is not a conventional operating system, but contains composable components for creating custom operating systems that are specific to a particular task. Components are joined together using the Microkit tool"

  • Those are applications, not operating systems. With occasional exceptions, you can run any application on any operating system.

    • That begs the point: Each application will often run better on some OSes than on others. For example, high traffic websites usually aren't run on Windows 11.

  • no operating system does. That's application software you're thinking of. So no, it can't. But neither can windows, linux, macos, solaris, templeOS or any others

Oh no, it's written in C and not Rust. The blasphemy!

  • Rust is supported by the [seL4 Microkit](https://docs.sel4.systems/projects/rust/), which is the core framework enabling LionsOS. LionsOS can currently run components written in Rust, and there are some WIP drivers written in Rust in the seL4 Device Development framework (judging from pull requests).

  • At least someone hasn't complained about it being 'unix like', always without defining what the non-unix-like OS they want would look like, or where the software to run on it would come from.

    • First, we could start by what UNIX authors did after they considered UNIX done, looking at Plan 9 and Inferno.

      Then there are the OSes already done during the 1960 and 1970 outside Bell Labs, as possible ideas.

      As from where the software would come from, if we keep recicling UNIX, we will keep getting UNIX regardless of whatever cool features the OS might offer, as most developers are lazy.

      Hence why it is great that while Apple and Google OSes have some UNIX there, bare bones POSIX apps will hardly make it into the store.

    • Because it is not UNIX like.

      It does provide some degree of POSIX compatibility, but it does not dictate architecture.

  • Rust, an immature language with fluidly evolving specification / reference implementation, is not suitable for high assurance nor formal verification.

    • … except that Rust’s compiler has been qualified for several safety critical standards, with more to come, and has several formal verification tools as well. Amazon even has placed bounties (and paid some) for proving things about the standard library.

      Rust is not as immature or evolving in the ways you imply.

      1 reply →