加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

7600.16384的由来,以及为何不是7777之类

(2010-06-11 12:05:38)
标签:

number

vista

由来

技术原因

service

杂谈

分类: Windows相关

(出自http://bbs.pcbeta.com/thread-524583-1-1.html,如有不妥请联系我们,我们将会对文章做处理)

 

所有的事情都是有原因的, 7600.16384也是有出处的.  

 

首先7600这个build number是怎么来的. 第一点自然是要被100整除, 这个是自从xp 2600开始的惯例. 关于这个惯例,还是有段故事的, 因为xp之前, build number都是11个加上去的, 从来没有跳过, 但是xp的时期从exchange来了个老大到windows部门, 于是就把被100整除的这个惯例带到windows. 这一点没有什么技术原因,纯粹为了好听. 

 

那么为何不是7300? 这里有个技术原因. 最后的build number必须要能被16整除. 这个是为了做service pack用的, QFE team预留了build number的最后4bit用来作为service packnumber (当然这个是vista开始才出来的要求了). 比如vista6000, sp1就是6001, sp2就是6002,最多能做16sp. 因此win7的初始rtm build号也必须被16整除. 那么因为之前最后一个build已经是7271,最近的一个即能被100整除,又能被16整除的数字就是7600, sp1就是7601. 7777虽然是个好数字,但是并不符合条件.

 

再下一个符合条件的就是8000,那么为什么不是8000? 这里的原因是build number也是一种有限的资源, windows API GetVersion最大能支持的build number16383, 考虑到未来n年的需求, 这里不能随意的乱跳build number, 要不然再过几个release, build number就用完了, 到时候就麻烦了.

 

最后说说minor build number, 也就是QFE version, 为什么是16384. 这个主要也是QFE的需求, RTMminor number的第14bit必须为1,这个是hotfix用来判断的一个依据, 这样的话满足条件的最小的minor number就是2^14=16384. vista rtm的第一个build也是16384,后来出了点问题才变成16386. 这个和能不能被什么整除倒是没有关系.

 

顺便提到一个问题, 就是n年后当windowsbuild number到了10000之后, 很多软件就会出问题, 类似y2k问题.

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有