这就是微软如何将 Windows 11 更新的大小减少 40%

1627222744_w11_story

几个小时前,Windows 11 收到了第一个补丁星期二更新。考虑到操作系统一周前才开始以交错的方式普遍推出,这并不是一个巨大的更新。它只修复了一些兼容性问题,似乎没有引入新的问题。但是,如果您仍然觉得更新安装在您的 PC 上比您预期的要快,Microsoft 现在提供了更多关于使这成为可能的见解

在我们详细了解 Windows 11 的服务模型中发生了什么变化之前,重要的是讨论更改背后的动机以及现有的服务模型。Windows 是一种在全球各种环境中使用的操作系统,尤其是在这种混合环境中,每个人可能无法访问最快的 Internet 连接,但仍需要通过安全补丁保持保护。这就是为什么补丁的大小很重要,特别是因为每月累积更新包含所有以前发布的修复程序。

1634101411_jonathon_ready_0-1634071807939

Windows 10 版本 1809 及更高版本使用上图中所述的成对正向和反向差分压缩。它确保操作系统可以在服务时恢复到其基本版本作为中间状态。您可能会注意到,虽然正向和反向差分是对称的,但它们具有非常不同的内容。微软不使用双向增量,因为某些转换和补丁可能会删除反向增量所需的数据。为了确保无损转换,反向增量首先需要存储正向增量添加和删除的内容。然而,正如我们上面提到的,由于内容不相交,这个过程不会很有效,至少与成对的正向和反向差分压缩相比。您可以在此处的 Microsoft 白皮书中找到有关此过程的更多详细信息

1634101977_jonathon_ready_1-1634071807956

微软使用称为反向更新数据生成的方法显着改变了 Windows 11 中的此过程。这是一种看似简单直观的方法,就是观察delta指令,然后不经过成对的delta反向pass,直接将它们反转。然而,在后端,这构成了一个重要的后端更改,它使用映射表来映射汇编代码函数中的结果更改。微软 解释说:

映射通过运行程序汇编代码的逐字节反汇编并识别虚拟地址来工作。虚拟地址在逻辑上对应于汇编代码函数的入口点,并在汇编代码更新时发生变化。这些变化由 delta 引擎观察并由映射表捕获。delta apply 的映射过程规范了这些变化的地址,这也是现代架构启发的 delta 算法如此高效的很大一部分原因。

就像基本的补丁指令一样,这些转换可以被“观察”和反转。由于并非所有映射都是 1:1,因此存在轻微开销,并且在前向映射与其观察到的反向映射冲突的情况下,必须使用额外的补丁指令来对齐映射。这可以就地完成,并且反向映射将提供与反向增量几乎相同的性能,并从服务器上完成的增量生成直接映射。

微软声称其反向更新数据生成方法使 Windows 11 更新的大小减少了 40%。该公司表示,几个月前它还为这种方法申请了专利。微软是否有待观察 也会将此技术向后移植到 Windows 10。

原创文章,作者:校长,如若转载,请注明出处:https://www.yundongfang.com/Yun75123.html

(0)
打赏 微信扫一扫不于多少! 微信扫一扫不于多少! 支付宝扫一扫礼轻情意重 支付宝扫一扫礼轻情意重
上一篇 2021年10月13日 下午10:09
下一篇 2021年10月13日 下午10:14

相关推荐