5 ms·
The key concepts are documented here: https://fuchsia.dev/fuchsia-src/concepts https://fuchsia.dev/fuchsia-src/concepts Some things that Fuchsia was able to do
by kerneis 5y ago
The key concepts are documented here: https://fuchsia.dev/fuchsia-src/concepts https://fuchsia.dev/fuchsia-src/concepts
Some things that Fuchsia was able to do thanks to starting from scratch:
- The system is based on capabilities, a security model which is based on explicit tracking of permissions. It wouldn't be possible to change Linux to be capability-based because the ambiant-authority model has been used pervasively since it was conceived 30 years ago.
- Fuchsia provides a stable binary interface (like Windows, but unlike Linux). This lets you update your system while keeping some components unchanged, eg. binary drivers from a hardware manufacturer that wouldn't provide updates for them anymore. I think Linux could technically change this, but they have historically been unwilling to, and it is unlikely to change in the future.
- the8472 5y ago> Fuchsia provides a stable binary interface (like Windows, but unlike Linux). Linux does provide a stable binary interface, to userspace. > eg. binary drivers from a hardware manufacturer that wouldn't provide updates for them anymore That can be seen as much as a downside as an upside, because it makes life a lot easier for hardware manufacturers to ship more binary blobs
- fragileone 5y ago> That can be seen as much as a downside as an upside, because it makes life a lot easier for hardware manufacturers to ship more binary blobs Which is essentially the point of this approach for Google, to exert greater control.
- hutzlibu 5y agoOr just convinience. When the goal is, to support a broad range of devices - and the vast majority of hardware manufactors are not into open hardware - it is probably easier, to convince them of supporting Fuchsia by writing firmware and drivers - if they do not have to deal with the GPL and the kernel driver integration, like it is the case with linux. They just write their driver once against a stable API. That makes things easier. And google are not driven by free software ideals - but rather buisness pragmatism. But I don't see this design choice as an attack on free software.
- ac29 5y agoI dont know about that. The Linux/GPL model has had mixed success in the embedded space - most vendors still ship their code as binary blobs making it difficult or impossible to update the LInux kernel, which has security and other implications. But, there have been some vendors embracing the open source model to some extent at least, and a lot of third party work in supporting upstream kernel development of drivers. I dont think it would be fair to call Fuchsia a step backwards in this respect - vendors that ship closed source binaries for Fuchsia are almost certainly shipping closed source binaries for Linux as well.
- LucidLynx 5y agoThe micro-kernel architecture is definitely a game changer for this, compared to Linux... Linux tried different things to reload dynamically the drivers & core stuff, without rebooting the computer, but I always had diverse issues after some hours... Thanks for the link + info :)
- trasz 5y agoImplementing capability-based security in a typical Unix (and thus Linux) is definitely possible, see FreeBSD's Capsicum.
- kerneis 5y agoI don't know a lot about Capsicum, but from what I remember (and see from their website) it adds capabilities to FreeBSD but doesn't make them mandatory. As such, it is a tool to build compartimentalized applications. It does not provide a comprehensive solution to sandbox existing applications, and does not remove the ambiant-authority model. It is a better, safer chroot(). Fuchsia, on the other hand, is built on top of capabilities from the ground up, ensuring that you don't even have a concept of "file descriptor" or "centralized filesystem" to begin with.
- trasz 5y agoTo put it differently, in FreeBSD the application has to explicitly enter the capability mode, while in Fuchsia it doesn't have that choice.
- thu2111 5y ago- Fuchsia provides a stable binary interface (like Windows, but unlike Linux). Does it? Fuchsia is a brand new OS, at least from the perspective of the world. One reason my interest in it died quite early on, despite being an aficionado of new operating system designs my entire life, was finding stuff like this in the docs: https://fuchsia.dev/fuchsia-src/development/components/v2/migration https://fuchsia.dev/fuchsia-src/development/components/v2/mi... It's brand new and there are already migration guides for core parts of the design. Also: https://fuchsia.dev/s/results?q=deprecated https://fuchsia.dev/s/results?q=deprecated That's a lot of deprecated stuff for a project that started with a blank slate.
- hutzlibu 5y agoWell, I think it is no surprise that in the beginning things change. Everytime you do something new and big - you do find things that do not work out as designed. So you change the design. Which is allright for me, with a prerelease. But now with the official release - I do expect some stability.