Win11更新包大小暴減 40%,微軟官方解析技術原理

 據 Neowin 報道,今天,Windows 11 正式版收到瞭第一個“星期二更新補丁”。考慮到操作系統在一周前剛剛開始以階段性方式推出,這並不是一個巨大的更新。它隻是修復瞭一些兼容性問題。

向超過 10 億用戶提供 Windows 更新和安全修復涉及分發大量的更新內容,並占用大量帶寬。為瞭減少網絡帶寬,微軟使用瞭新的壓縮技術,將 Windows 11 更新包大小減少瞭 40%。

微軟今天通過文章分享瞭 Windows 11 更新模式改變的細節。

“對於需要正向和反向 delta 對的版本數據系統,“反向更新數據生成”提供瞭一種方法,可以有效地將正向 delta 分發到設備上,並讓設備保持一個返回到原始狀態的路徑。微軟已經在 Windows 11 中成功地采用瞭這種方法,使更新包的大小減少瞭 40%。這有利於我們的客戶群,他們將需要更少的下載來保持最新和安全。”

Windows 是一個被用於全球各種環境的操作系統,特別是在這個混合環境中,每個人可能無法獲得最快的互聯網連接,但仍然需要通過安全補丁保持保護。這就是為什麼補丁必須是小尺寸的,尤其是每月的累積更新包含瞭所有以前發佈的修復程序。

微軟著手減少 Windows 11 更新的大小,目標如下:

減少網絡下載的大小。

不加長安裝時間。

保持與所有分銷渠道的兼容性,而不需要 IT 專業人員進行任何配置更改。

Windows 10 版本 1809 及以上使用上圖中描述的成對的正向和反向差分壓縮。它確保操作系統在服務時可以恢復到其基本版本作為中間狀態。正如你可能註意到的,雖然正向和反向差分是對稱的,但它們的內容在很大程度上是不相幹的。這意味著包含共享和不相幹內容的雙向差分並不比一對正向和反向差分小很多。

微軟沒有利用雙向差分,因為一些轉換和補丁可能會刪除反向差分所需的數據。為瞭確保非破壞性的轉換,反向 delta 首先需要存儲由正向 delta 增加和刪除的內容。然而,正如上面所指出的,由於內容上的不銜接,這個過程不會非常有效,至少與成對的正向和反向差分壓縮相比是這樣的。因為正向和反向 delta 中的數據基本上是不相幹的,所以雙向 delta 比成對的正向和反向 delta 的效率要高得多。

微軟在 Windows 11 中使用一種叫做反向更新數據生成的方法對這一過程進行瞭重大改變。這是一個看似簡單和直觀的方法,它觀察 delta 指令,然後直接逆轉它們,而不經過成對的 delta 反向通道。然而,在後端,這構成瞭一個重大的後端變化,它使用一個映射表來映射匯編代碼功能中的結果變化。

微軟解釋說:

“當一個函數的地址發生變化時,架構上開明的 delta 算法,如微軟的 MSDelta,會重新映射虛擬地址。這很重要,因為即使是匯編代碼中的基本補丁也會改變二進制程序中後續函數的地址。如果不重新映射虛擬地址,一行匯編代碼的改變可能會導致數以萬計的函數調用需要調整虛擬地址。

映射的工作原理是對程序的匯編代碼進行逐個字節的反匯編,並確定虛擬地址。虛擬地址在邏輯上對應於匯編代碼功能的入口點,並在匯編代碼被修復更新時發生轉移。這些移動被 delta 引擎觀察到,並被一個映射表所捕獲。關於 delta 應用的映射過程使這些變化的地址正常化,這也是現代架構上開明的 delta 算法如此高效的很大一部分原因。

與基本的修補指令一樣,這些轉換可以被觀察和逆轉。由於不是所有的映射都是 1:1 的,所以有一點開銷,當前向映射與觀察到的反向映射沖突時,必須使用額外的修補指令來對齊映射。這可以在原地完成,反向映射將提供與反向 delta 幾乎相同的性能,其直接映射來自服務器上完成的 delta 生成。”

微軟聲稱,其反向更新數據生成方法使 Windows 11 更新包大小減少瞭 40%。該公司表示,它在幾個月前還為這種方法申請瞭專利。微軟是否會將這種技術也回傳到 Windows 10,還有待觀察。

原文:https://techcommunity.microsoft.com/t5/windows-it-pro-blog/how-microsoft-reduced-windows-11-update-size-by-40/ba-p/2839794

以上便是小編為大傢帶來的Windows 11 更新如何縮小 40%的全部內容,希望對大傢有所幫助,更多內容請繼續關註GuideAH。

閱讀更多: