MattD
deepin
2014-11-15 19:45 Windows下的每个软件是独立的bundle,更新软件基本就是一个卸载并重新安装的过程,而且还涉及到注册表项的删除和写入,调用msi进行软件信息的注册和发布等等。而Linux是直接覆盖新的链接库和可执行文件,进程都缓存到内存里面去了,不受影响。
更新慢是体制问题,因为%windir%\WinSxS的引入,基础组件的版本升级都会写入%windir%\WinSxS,同时更新%windir%\System32下面的硬链接,另外还涉及注册表项这种复杂的管理机制,所以重启期间会花很长时间配置更新。我也觉得每月的补丁日都是噩梦,幸好我已经不用再经历了。
更新慢是体制问题,因为%windir%\WinSxS的引入,基础组件的版本升级都会写入%windir%\WinSxS,同时更新%windir%\System32下面的硬链接,另外还涉及注册表项这种复杂的管理机制,所以重启期间会花很长时间配置更新。我也觉得每月的补丁日都是噩梦,幸好我已经不用再经历了。
Reply Like 0 View the author


中文 
首先,我在linux下更新软件似乎从来不用先关闭软件再更新。而windows下如果不关闭程序的话,通常都会报“无法替换,文件正在使用”之类的错误。linux为什么不会呢?
其次,对应于windows的系统更新,linux的内核、驱动、xorg-server、systemd之类的更新,这些更新要重启才能生效。但是,linux下这些更新基本不会拖慢更新后首次重启的速度。而windows,这些更新要在重启的时候花很~长~时间来“windows正在更新,请不要关闭电源”。有时候急用电脑,结果遇上更新简直太无奈了。
我想知道,造成这种区别的原因是什么呢?求解释~!