IT之家 10 月 13 日消息,據 Neowin 報道,今天,Windows 11 正式版收到了第一個“星期二更新補丁”。考慮到操作系統(tǒng)在一周前剛剛開始以階段性方式推出,這并不是一個巨大的更新。它只是修復了一些兼容性問題。
向超過 10 億用戶提供 Windows 更新和安全修復涉及分發(fā)大量的更新內容,并占用大量帶寬。為了減少網絡帶寬,微軟使用了新的壓縮技術,將 Windows 11 更新包大小減少了 40%。
微軟今天通過文章分享了 Windows 11 更新模式改變的細節(jié)。
“對于需要正向和反向 delta 對的版本數據系統(tǒng),“反向更新數據生成”提供了一種方法,可以有效地將正向 delta 分發(fā)到設備上,并讓設備保持一個返回到原始狀態(tài)的路徑。微軟已經在 Windows 11 中成功地采用了這種方法,使更新包的大小減少了 40%。這有利于我們的客戶群,他們將需要更少的下載來保持最新和安全?!?/p>
IT之家獲悉,Windows 是一個被用于全球各種環(huán)境的操作系統(tǒng),特別是在這個混合環(huán)境中,每個人可能無法獲得最快的互聯(lián)網連接,但仍然需要通過安全補丁保持保護。這就是為什么補丁必須是小尺寸的,尤其是每月的累積更新包含了所有以前發(fā)布的修復程序。
微軟著手減少 Windows 11 更新的大小,目標如下:
減少網絡下載的大小。
不加長安裝時間。
保持與所有分銷渠道的兼容性,而不需要 IT 專業(yè)人員進行任何配置更改。
Windows 10 版本 1809 及以上使用上圖中描述的成對的正向和反向差分壓縮。它確保操作系統(tǒng)在服務時可以恢復到其基本版本作為中間狀態(tài)。正如你可能注意到的,雖然正向和反向差分是對稱的,但它們的內容在很大程度上是不相干的。這意味著包含共享和不相干內容的雙向差分并不比一對正向和反向差分小很多。
微軟沒有利用雙向差分,因為一些轉換和補丁可能會刪除反向差分所需的數據。為了確保非破壞性的轉換,反向 delta 首先需要存儲由正向 delta 增加和刪除的內容。然而,正如上面所指出的,由于內容上的不銜接,這個過程不會非常有效,至少與成對的正向和反向差分壓縮相比是這樣的。因為正向和反向 delta 中的數據基本上是不相干的,所以雙向 delta 比成對的正向和反向 delta 的效率要高得多。
微軟在 Windows 11 中使用一種叫做反向更新數據生成的方法對這一過程進行了重大改變。這是一個看似簡單和直觀的方法,它觀察 delta 指令,然后直接逆轉它們,而不經過成對的 delta 反向通道。然而,在后端,這構成了一個重大的后端變化,它使用一個映射表來映射匯編代碼功能中的結果變化。
微軟解釋說:
“當一個函數的地址發(fā)生變化時,架構上開明的 delta 算法,如微軟的 MSDelta,會重新映射虛擬地址。這很重要,因為即使是匯編代碼中的基本補丁也會改變二進制程序中后續(xù)函數的地址。如果不重新映射虛擬地址,一行匯編代碼的改變可能會導致數以萬計的函數調用需要調整虛擬地址。
映射的工作原理是對程序的匯編代碼進行逐個字節(jié)的反匯編,并確定虛擬地址。虛擬地址在邏輯上對應于匯編代碼功能的入口點,并在匯編代碼被修復更新時發(fā)生轉移。這些移動被 delta 引擎觀察到,并被一個映射表所捕獲。關于 delta 應用的映射過程使這些變化的地址正?;?,這也是現代架構上開明的 delta 算法如此高效的很大一部分原因。
與基本的修補指令一樣,這些轉換可以被觀察和逆轉。由于不是所有的映射都是 1:1 的,所以有一點開銷,當前向映射與觀察到的反向映射沖突時,必須使用額外的修補指令來對齊映射。這可以在原地完成,反向映射將提供與反向 delta 幾乎相同的性能,其直接映射來自服務器上完成的 delta 生成?!?/p>
微軟聲稱,其反向更新數據生成方法使 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
廣告聲明:文內含有的對外跳轉鏈接(包括不限于超鏈接、二維碼、口令等形式),用于傳遞更多信息,節(jié)省甄選時間,結果僅供參考,IT之家所有文章均包含本聲明。