时间:2021-10-15 来源:win10官网 游览量: 次
雷德蒙德官方解释Windows11更新如何缩小40%
•这家雷德蒙德科技巨头决定透露其较小的Windows11更新背后的秘密。
•Windows10版本1809及更高版本,使用成对的正向和反向差分压缩。
•这确保操作系统可以在服务时恢复到其基本版本作为中间状态。
•看看这篇有趣的文章,看看微软的幕后情况,看看他们是如何做到的。
众所周知,win11系统在几个小时前收到了它的第一个补丁星期二更新,虽然这不是一个巨大的更新,但考虑到该操作系统在一周前才开始以交错的方式普遍推出。
这个最近的更新只修复了一些兼容性问题,似乎没有引入任何新问题。
但是,如果您仍然觉得更新安装在您的PC上比您预期的要快,Microsoft现在提供了更多关于使这成为可能的见解。
一起来看看这是怎么回事吧?
这就是微软使更新更小的方式
在我们深入探讨Windows11服务模型中的更改之前,重要的是讨论更改背后的动机以及现有的服务模型。
我们都同意Windows是一种在全球各种环境中使用的操作系统。
在这种混合环境中更是如此,在这种环境中,每个人可能无法访问最快的互联网连接,但仍需要通过安全补丁保持保护。
这就是为什么补丁的大小很重要,特别是因为每月累积更新包含所有以前发布的修复程序。
Windows10的1809及更高版本使用上图中描述的成对正向和反向差分压缩。
这实际上确保操作系统可以在服务时恢复到其基本版本作为中间状态。您可能会注意到,虽然正向和反向差分是对称的,但它们具有非常不同的内容。
这家总部位于雷德蒙德的科技公司不使用双向增量,因为某些转换和补丁可能会删除反向增量所需的数据。
为了确保无损转换,反向增量首先需要存储正向增量添加和删除的内容。
由于内容不相交,该过程不会非常有效,至少与成对的正向和反向差分压缩相比。
Microsoft确实使用一种称为反向更新数据生成的方法在Windows11中改变了这个过程。
映射通过运行程序汇编代码的逐字节反汇编并识别虚拟地址来工作。虚拟地址在逻辑上对应于汇编代码函数的入口点,并在汇编代码更新时发生变化。这些变化由delta引擎观察并由映射表捕获。deltaapply的映射过程规范了这些变化的地址,这也是现代架构启发的delta算法如此高效的很大一部分原因。
看似简单直观的做法,它观察delta指令,然后直接将其反转,无需经过成对的delta反向pass。
然而,在后端,这构成了一个重要的后端更改,它使用映射表来映射汇编代码函数中的结果更改。
就像基本的补丁指令一样,这些转换可以被“观察”和反转。由于并非所有映射都是1:1,因此存在轻微开销,并且在前向映射与其观察到的反向映射冲突的情况下,必须使用额外的补丁指令来对齐映射。这可以就地完成,并且反向映射将提供与反向增量几乎相同的性能,并从服务器上完成的增量生成直接映射。
雷德蒙德官方声称其反向更新数据生成方法导致Windows11更新的大小减少了40%。
Redmond公司表示,几个月前它还为这种方法申请了专利。微软是否也会将这项技术反向移植到Windows10中还有待观察。