I'd like to know how Zircon compares to L4 (implementations).
When I asked Tanenbaum at FOSDEM why he didn't pick L4 for Minix 3, he just got annoyed and seemed to think I was asking why he didn't just use the L4 OS (which doesn't exist) instead of creating Minix 3 - or something. In any case I didn't get a good answer. He could have created his own implementation if he wanted, L4 is just a specification with a few existing high quality implementations that prove the concept...
What are the advantages/disadvantages of Zircon over seL4?
I've read up a bit on seL4, but can't seem to find the rationale or design decisions behind Zircon. Not sure why Google needs to roll their own microkernel when there is a fast, secure, formally verified one they could use.
Don’t hold your breath. The zircon API isn’t innovative in any modern sense. Additionally it’s bloated and not clean like L4. It’s just in house IP for Google.
(HN won’t let me directly reply to the comment below so here it is:
Nothing in zircon doesn’t already exist on Linux or any other modern kernel. Additionally it has bloat, like 3 distinct IPC mechanisms.
Even further, if it ends up being any technical person’s main driving OS it will surely sport a POSIX API and at that point it’s just another implementation of POSIX with similar a security model.)
I don’t think there’s any plans to move Zircon. It’s also less pressing, IMHO, since it is a microkernel. Maybe someday, but if I were in charge, it wouldn’t be super high in my list.
A more direct comparison would be with zstd. zstd started zhuff which was the lz4 authors work of putting lz4 & FSE together. https://github.com/Cyan4973/zstd
It’s a few things that aren’t big but add up: it’s compiled, and given how often it’s execute, that can make a difference (and especially on a heavily loaded system); it still gets updates; it plays better with Fish shell from my recollection; it supports fzf.
Z is perfectly fine. If zoxide didn’t exist, I’d use z instead. As it stands today, I think zoxide is niftier.
Security
"Zircon is a capability-based, object-oriented kernel"
"The Zircon system fully isolates processes by default, and must explicitly grant capabilities and resources. Fuchsia passes capabilities and resources by handles rather than name, which leads to a system that only grants software access to what it needs."
When I asked Tanenbaum at FOSDEM why he didn't pick L4 for Minix 3, he just got annoyed and seemed to think I was asking why he didn't just use the L4 OS (which doesn't exist) instead of creating Minix 3 - or something. In any case I didn't get a good answer. He could have created his own implementation if he wanted, L4 is just a specification with a few existing high quality implementations that prove the concept...
reply