Comment by Zardoz84
15 hours ago
You can update without locking the computer. You know... like is done in Linux for a very long time. I have a nice memory of doing a full update of Kubuntu to the next version at the same time that I was playing a AAA game without issues or interruptions.
I hadn’t seen Linux do that. How do they fully do it without ever locking or rebooting the system?
When you run apt upgrade or pacman -Syu that's exactly what you're doing. The files are replaced on your drive while everything else continues running. Generally it won't affect execution of existing software, because they're all already loaded into memory, but some software might crash or get weird behavior as they try to access their files on the drive and those files have been updated, and newly launched programs will use different library versions than other programs which may cause weirdness. You still need to reboot in the end to stop running old stuff that's still in memory such as kernel or existing programs but it's a normal reboot without any extra delay. Canonical does provide Livepatch for Ubuntu Pro for servers that want to update the kernel with security updates without rebooting.
Fedora decided this isn't super stable so they actually went and implemented something similar to Windows updates called Offline updates, where updates are performed after a reboot in a special mode where you can't do anything with your computer while it updates for like 10 minutes, but they give you an option to disable this and do instant updates like described above instead.
I think the most interesting innovation are immutable distros, which handle updates entirely differently. They will build an updated image while the system continues running and make it ready so that next reboot will just boot into the updated image. It avoids the partially-updated-system instability entirely and it also makes reverting a broken update instant and easy because you can just boot into the old image (there's usually at least two images). This exists in Fedora Silverblue (OSTree) and Vanilla OS (ABRoot) and AFAIK Android also followed this update pattern with A/B partitions (although they now iterated on this slightly to squeeze a few extra gigabytes out of storage).
I honestly don't know why Windows still sticks to their antiquated offline update system when better options exist and everyone always complains about the way they do updates and they have billions of dollars at their disposal, but I guess lack of any real competition to Windows in the PC operating system market has led to such stagnation
The immutable distro doesn't work for Windows most likely due to disk space. As someone who has informally supported a lot of Windows devices in enterprises it was surprising to me how many Windows problems are a result of running out of HD space and how often updates can't happen (the old fashion kind) simply because there isn't enough HD space for the update. I wouldn't be surprised if something like 5% of updates couldn't happen due to this.
Windows does do hotpatching, but there's a lot of things that aren't hotpatchable. Do you really think that Windows is like "naw, we could do zero reboot updates, but prefer not to because we are so dominant in the OS space"? This would be an incredible feature for the enterprise. In fact the enterprise version added a bunch of new hotpatch support just last year, but still requires quarterly updates and only does security updates. You really think that they did all that, but decided to not do the rest because they're comfy?
Again, I haven't seen Linux or Mac solve the problem fully either, nor iPhone or Android. AFAIK even every cloud provider has to do a reboot. Would Google or Amazon or Oracle have figured this out if it was so easy? How is it that there is no actual software engineer in industry that knows how to do this, but everyone on message forums seems to? Why don't these companies just hire people from message forums?