8,088
个编辑
小 (→Build 里的小秘密) |
|||
第21行: | 第21行: | ||
一般安装累积更新,Windows 8.1 Update 或 Service Pack 就会更新第四位版本号,在早期的 Service Pack Beta 里也可以称第四位版本号为 Build。如 [[Windows XP:5.1.2600.3311.xpsp.080212-0005|Build 3311]] | 一般安装累积更新,Windows 8.1 Update 或 Service Pack 就会更新第四位版本号,在早期的 Service Pack Beta 里也可以称第四位版本号为 Build。如 [[Windows XP:5.1.2600.3311.xpsp.080212-0005|Build 3311]] | ||
==Build 里的小秘密== | ==Build 里的小秘密== | ||
'''以下内容来自:[https://docs.microsoft.com/en-us/previous-versions/technet-magazine/jj663498%28v=msdn.10%29 Windows Confidential: Numerology of the build - Microsoft Docs] | '''以下内容来自:[https://docs.microsoft.com/en-us/previous-versions/technet-magazine/jj663498%28v=msdn.10%29 Windows Confidential: Numerology of the build - Microsoft Docs],和[https://devblogs.microsoft.com/oldnewthing/20160330-00/?p=93223 The numerology of the build, redux——The Old New Things], 感谢 [https://www.betaworld.cn/u/BilinSun Bilin Sun]的介绍和翻译。''' | ||
'''正文如下:''' | '''正文如下:''' | ||
第59行: | 第59行: | ||
经过考虑,我们选中了最终的build号9200。不好意思,这数就不好玩了。研究数字的人可能会注意到在过去的几次发布当中,build号每次刚好前进1600。尽管看上去很神奇,我认为当中没有什么内幕。 | 经过考虑,我们选中了最终的build号9200。不好意思,这数就不好玩了。研究数字的人可能会注意到在过去的几次发布当中,build号每次刚好前进1600。尽管看上去很神奇,我认为当中没有什么内幕。 | ||
而自从Windows Vista 开始,发布版本的版本号必须是16的倍数。为什么? | |||
版本号由四个十六位(bit)的整数组成:主版本号(major)、次版本号(minor)、内部版本号(build)、修订版本号(revision)。主版本号和次版本号反映了开发计划上的系统版本。像有些人由于程序上的(programmatic,指供程序读取以识别版本如10.0.10240.16384,区分于human readable,人类可读的如Windows 10 1507——译者注)主次版本,就管Windows 7叫6.1版本。微软自己人是不这么叫的;我们就叫它Windows 7。 | |||
Build号随着每次build实验室做出一个build而增加,虽然偶尔有些跳跃。 | |||
修订版本号被服务团队掌管着。他们要记录这些信息: | |||
*四位的service pack编号(0代表RTM); | |||
*一位表示这是否是个非milestone的build(我不知道这具体是什么意思); | |||
*一位表示该build是否准备要公开发放; | |||
*两位表示这个build来自哪个发布通道。0=GDR,1=LDR,2=(未使用),3=私有build; | |||
*十二位用来编码服务版本号(servicing build number)。¹ | |||
把这些合起来,你会发现要用到二十位。然而修订版本号总共只有十六位的空间。结果服务团队只好想办法再从哪里挖出四位来。他们要求RTM的内部版本号是16的倍数,以此多霸占了四位空间。(因而Windows Vista、Windows 7在打上service pack之后内部版本号而不仅仅是修订版本号会发生变化——译者注)。 | |||
Windows 10带来的服务堆栈当中的变化之一是服务团队重新设计了他们的版本编号系统,只需要十六位而不用二十位了。我(原作者)并不知道他们是如何做到的;我只知道他们不再要把内部版本号保持为16的倍数了。 | |||
Windows部门的大多数人对这个服务堆栈改变并不很清楚。通知说明发布管理团队希望build 10584成为1511更新的版本时,很多人感到难以置信:“你在逗我?它不是16的倍数!”² | |||
¹这正好够五年的主流支持周期的日常更新用,应该不是一个巧合。 | |||
²是,1511更新最后的内部版本号是10586。我猜发布管理团队再加了两次修补。 |