News for hackers. Stuff that matters.
Re:Fuchsia Workstation by tmikaeld on Monday March 28, 2022 @01:26AM (#30827407)
It looks like everything runs decoupled in user-space, even the filesystem, drivers and packages. Meaning that updates to the system happens per part and requires no re-boots when updating (not even file-system updates, according to docs). So the updates are independent, the packages have their own life-cycles and works independent of the underlying system.

Having an auto-updating, fully sandboxed OS, without reboots, really doesn't sound that bad.

Especially if it's only kernel, stability and security updates.

Re:Fuchsia Workstation by yjftsjthsd-h on Monday March 28, 2022 @01:34AM (#30827439)
Running in user space doesn't automatically decouple things; dbus is a user space process, but restarting it is traumatic because half the system uses it.
Re:Fuchsia Workstation by sph on Monday March 28, 2022 @01:44AM (#30827484)
That's because dbus hasn't been written with no-downtime restarts in mind, but it's not that challenging to implement, especially when client apps are interfacing through (UNIX) sockets.

It's not dissimilar to writing zero-downtime web services.

Re:Fuchsia Workstation by yjftsjthsd-h on Monday March 28, 2022 @01:49AM (#30827512)
Sure, but that's not a function of user/kernel space; Linux has live patching and dbus doesn't. It would be cool if fuchsia makes every OS component support non-disruptive updates, I'm just trying to point out that that doesn't automatically follow from running parts in user space.
Re:Fuchsia Workstation by tmikaeld on Monday March 28, 2022 @03:09AM (#30827922)
Good point, updated my reply. While Google don't explicitly say that they want to support run-time updates of the kernel and OS; it's implied in their system architecture that such is the case.
Re:Fuchsia Workstation by native_samples on Monday March 28, 2022 @07:24AM (#30829327)
Very difficult to do that though without enormous effort in transparent state persistence across restarts. Restarting even something with a very simple non-transactional API and state base like a filing system requires persisting all the file handle state, and that's the best case. Restarting a UI subsystem is much harder still because the apps may have a lot of uploaded state, things may need to be changed transactionally, etc.