Win7之家( www.airtaxifl.com):Win7版本7600.16385的由來 為何不是7777
感謝 花舞 投遞
所有的事情都是有原因的,Win7版本 7600.16384和7600.16385也是有出處的。
首先7600這個build number是怎么來的。
第一點自然是要被100整除, 這個是自從xp 2600開始的慣例。 關(guān)于這個慣例,還是有段故事的, 因為xp之前, build number都是1個1個加上去的, 從來沒有跳過,但是xp的時期從exchange來了個老大到Windows部門, 于是就把被100整除的這個慣例帶到windows了。 這一點沒有什么技術(shù)原因,純粹為了好聽。
那么為何不是7300呢? 這里有個技術(shù)原因。 最后的build number必須要能被16整除。這個是為了做service pack用的, QFE team預(yù)留了build number的最后4個bit用來作為service pack的number (當(dāng)然這個是Vista開始才出來的要求了)。 比如Vista的6000, sp1就是6001, sp2就是6002,最多能做16個sp。 因此win7的初始rtm build號也必須被16整除。 那么因為之前最后一個build已經(jīng)是7271了,最近的一個即能被100整除,又能被16整除的數(shù)字就是7600了, sp1就是7601。 7777雖然是個好數(shù)字,但是并不符合條件。
再下一個符合條件的就是8000了,那么為什么不是8000呢? 這里的原因是build number也是一種有限的資源, windows API GetVersion最大能支持的build number是16383,考慮到未來n年的需求,這里不能隨意的亂跳build number,要不然再過幾個release, build number就用完了, 到時候就麻煩了。
最后說說minor build number, 也就是QFE version, 為什么是16384。 這個主要也是QFE的需求, RTM的minor number的第14個bit必須為1,這個是hotfix用來判斷的一個依據(jù), 這樣的話滿足條件的最小的minor number就是2^14=16384。 Vista rtm的第一個build也是16384,后來出了點問題才變成16386的。 這個和能不能被什么整除倒是沒有關(guān)系。
順便提到一個問題, 就是n年后當(dāng)Windows的build number到了10000之后, 很多軟件就會出問題, 類似y2k問題。
評論列表
查看所有 條評論