Windows has a fundamental design flaw in that DLLs generally can't be updated while they're in use. In Linux, you can overwrite the 'DLL' with a new file and no-one cares (though programs that were started up with the old DLL will continue using it until they're shut down), but Windows has to reboot to replace them.
The other thing is that Windows lets you roll back an update that fails, so it has to make backups before each update install. Linux just overwrites the files, and you're on your own if it fails. That's one reason Windows updates take much longer.