I don't see how it's possible to actually support that considering how many components make up an OS. What would happen if libc had a vulnerability that needed patching? I know a reboot wouldn't be forced but wouldn't it only take effect when all the processes using it restart?
Windows has been around for 40 years, and is worth more than the GDP of many nations. In fact, some of the Windows server versions actually include the feature.
It's not that it's an impossible problem, it's that Microsoft doesn't have to compete...so they don't.
> some of the Windows server versions actually include the feature
If you looked into it though you'd see that you do still need to restart at least every quarter for baseline updates. If you don't restart then future hotpatch updates will not apply because they only target the current baseline update. There are also unplanned baseline updates that require a restart to patch zero-day exploits that cannot be fixed in a hotpatch.
I'm still not understanding how this is a solved problem on Linux. If there is a vulnerability in libc then you need to restart (probably) all processes to have the fix take effect.
> m still not understanding how this is a solved problem on Linux. If there is a vulnerability in libc then you need to restart (probably) all processes to have the fix take effect.
Restarting the service that was directly impacted by the patch is preferable to the 1980's techno-brained idea of rebooting the entire system. Most of the time it isn't glibc.
FWIW - I did recently read that hotpatching is already there in 11 if you enable it in an enterprise. Fingers crossed it comes to home users.
> You know that other operating systems can manage without that, right?
Not for kernel updates (Linux, by default), and not for macOS which is now RO root fs and also requires a reboot because updates are image based, a. la. Fedora Silverblue.
Also FWIW, Windows now has hotpatching, albeit not available to consumers, it's attached to enterprise licensing
You can update the Linux kernel without killing userspace. Granted it's not without reboot though. Just hibernate/suspend to disk and choose a different kernel on startup, it will still load the RAM image just fine; every program will be still running.