4 ms·
Apparently it uses a micro kernel, zircon. I'm curious about this kernel, honestly making something new from the ground up doesn't seem like a good idea. I wo
by jokoon 8y ago
Apparently it uses a micro kernel, zircon.
I'm curious about this kernel, honestly making something new from the ground up doesn't seem like a good idea.
I wonder how much of an advantage it was for android to use linux as a kernel, but I guess it was a gigantic advantage, which let them focus on what mattered in the development of android.
Other question: any kernel/OS developer here to explain if a micro kernel makes his job easier or harder? Having the flexibility of a micro kernel seems good, but I'm not sure it's that much important.
- sergiomattei 8y agoEventually it turned into a disadvantage for them, as chip vendors nowadays ship extremely outdated and insecure versions of Linux and the driver model doesn't allow for frequent updates. They made a step in the right direction with Project Treble though.
- Symmetry 8y agoI think the idea is to let phone developers create drivers and then ignore them while Google is still able to update the rest of the OS around them.
- MayeulC 8y ago> making something new from the ground up doesn't seem like a good idea. It isn't actually terribly difficult, the most difficult part being driver support. By using Linux as a base, Google gained a lot of driver support by default, among other things like a well-known base environment. > explain if a micro kernel makes his job easier or harder Well, a microkernel usually has well-defined interfaces that allow drivers to communicate with the kernel, instead of these interfaces being decided by the compiler at compile-time. This in turn offers the guarantees of "ABI/API stability" that the Linux kernel usually offers to userspace programs: drivers don't need to be recompiled to work with a new kernel, so you can actually have binary drivers that continue to "work" long after the vendor stopped working on them. This also offers more room for stability guarantees (a driver that crashes can be restarted, as it's not the kernel panicking), and security (drivers don't have access to each other's data). On the other hand, you trade a bit of performance and flexibility (from the developer's perspective) for this, by committing not to break compatibility. By now, advantages and inconvenient of microkernels vs monolithic ones are well understood and documented. What's in for Google is mostly licensing-related: since they're making it; they are free to pick their favourite license. And I am pretty sure Google has been uncomfortable with the GPL for a while now. The same could be said about its hardware partners, and manufacturers that have to provide the source code for their drivers (when they comply at all). Since a GPL kernel is one of the best things that happened to Android so far (allowing custom roms, open source projects, more transparency), I am extremely weary of fuschia, and looking forward to postmarketos as an alternative to android.
- DeathArrow 8y agoThere's also Eelo: https://www.notebookcheck.net/Eelo-the-Google-less-Android-OS-from-the-creator-of-Mandrake-Linux.274272.0.html https://www.notebookcheck.net/Eelo-the-Google-less-Android-O...
- ahartmetz 8y agoI'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...
- ahartmetz 8y agoNote: I think he thought I thought L4 was an OS, I'm pretty sure he knows what L4 is.
- jacksmith21006 8y agoL4 is not capabilities based. Probably the biggest reason was not used. Google is looking at using the capability using a handle to remove some marchalling usually required by the kerrnel to improve IPC improvement beyond L4. L4 has done an excellent job with improving IPC performance but Google looks to take it even further.
- lambda 8y agoThere's a set of docs on Fuchsia that you can read about if you'd like (https://fuchsia.googlesource.com/docs/+/master/the-book/ https://fuchsia.googlesource.com/docs/+/master/the-book/) There's some discussion of it already on HN: https://news.ycombinator.com/item?id=16813796 https://news.ycombinator.com/item?id=16813796 Some advantages of the Fuchsia architecture over Linux for Android: * Capability based system; applications only get access to objects, including files, directories, other processes, etc via capabilities, so they can only affect those objects they have been given access to directly. This is much better for security and isolation of applications. * Userspace drivers with a stable ABI, or with the possibility of versioned ABIs. This could allow them to ship updates to the underlying system without waiting for vendors, reducing fragmentation.