Windows11更新包的大小下降了40%。考虑到操作系统一周前才开始分阶段推出,这并不是一个巨大的更新。它只是修复了一些兼容性问题。向超过10亿用户提供Windows更新和安全修复涉及分发大量更新并消耗大量带宽。为了减少网络带宽,微软使用新的压缩技术将Windows11更新包的大小减少了40%。微软今天通过一篇文章分享了Windows11更新模式变更的细节。“对于需要成对的正向和反向增量的版本化数据系统,反向更新数据生成提供了一种有效地将正向增量分发到设备并使它们保持在将它们返回到原始状态的状态的方法。”小路。Microsoft已在Windows11中成功实施此方法,从而使更新包大小减少了40%。这有利于我们的客户群,他们将需要更少的下载来保持最新和安全。”专家了解到,Windows是一种在全球各种环境中使用的操作系统,尤其是在这种混合环境中,每个人可能无法访问最快的互联网连接,但仍需要通过安全补丁进行保护。这就是补丁必须小的原因,特别是因为每月累积更新包含所有以前发布的修复程序。Microsoft着手减少Windows11更新的大小,目标如下:减少网络下载的大小。不再安装时间。保持与所有分销渠道的兼容性,无需IT专业人员更改任何配置。Windows10版本1809及更高版本使用上图中描述的成对正向和反向差分压缩。它确保操作系统可以在服务期间作为中间状态恢复到其基本版本。您可能已经注意到,虽然正向差分和反向差分是对称的,但它们的内容在很大程度上是不相关的。这意味着包含共享和不相关内容的双向差异并不比一对正向和反向差异小很多。微软没有利用双向差异,因为一些转换和补丁可能会删除反向差异所需的数据。为了确保非破坏性转换,反向增量首先需要存储正向增量添加和删除的内容。然而,如上所述,由于内容不相交,这个过程不会非常有效,至少与成对的正向和反向差分压缩相比是这样。因为正向和反向增量中的数据在很大程度上是不相关的,所以双向增量比成对的正向和反向增量更有效。微软在Windows11中使用一种称为反向更新数据生成的方法对这一过程进行了重大更改。这是一种看似简单直观的方法,它可以观察增量指令并直接反转它们,而无需通过成对的增量反向通道。然而,在后端,这构成了一个破坏性的后端更改,它使用映射表来映射汇编代码函数中的结果更改。微软解释说:“Architecture-enlighteneddeltaalgorithms,例如微软的MSDelta,当一个函数的地址发生变化时,会重新映射虚拟地址。这很重要,因为即使是汇编代码中的基本补丁也可以改变后续函数中的地址。如果虚拟address没有被重映射,一行汇编代码的变化可能会引起数以万计的函数调用需要调整虚拟地址。映射的工作原理是逐字节反汇编程序的汇编代码,并确定虚拟地址。虚拟address在逻辑上对应汇编代码函数的入口点,在汇编代码修复和更新时被转移。这些移动被delta引擎观察到,并被一个映射表捕获。关于delta应用程序,映射过程规范化了这些变化的地址,这在很大程度上解释了为什么现代架构上的开明增量算法如此高效。就像基本的patching指令,这些转换可以被观察和逆转。由于并非所有映射都是1:1,因此会产生一些开销,并且当正向映射与观察到的反向映射发生碰撞时,必须使用额外的修补指令来对齐映射。这可以就地完成,反向映射将提供与反向增量几乎相同的性能,后者直接从服务器上完成的增量生成进行映射。”微软声称其反向更新数据生成方法已导致40Windows11更新包大小减少百分比。该公司表示,它在几个月前就该方法申请了专利。微软是否会将这项技术也带回Windows10还有待观察。https://techcommunity.microsoft。com/t5/windows-it-pro-blog/how-microsoft-reduced-windows-11-update-size-by-40/ba-p/2839794
