Linux内核给你两个选择:稳定的和开发中的。稳定版本内核适用于大规模部署的产品级发布。更新的稳定内核版本只是解决一些bug或者添加一些新的驱动。相反,开发中内核处于剧烈的变动中;当开发者在试验新的解决方案时,内核代码的经常会出现戏剧性的变化。
Linux使用一套简单的版本命名规则来区分稳定版和开发版的内核。第一个数字代表了主版本号,第二个数字表示次版本号,第三个表示修订版本号,可选的第四个数字是稳定版本号。次版本号同时也决定了该版本的内核是属于稳定版本还是开发版本:偶数代表稳定版本,奇数代表开发版本。
主版本 修订版本
| |
| |
2 . 6 . 31 . 1
| |
| |
次版本 稳定版本
开发版本的内核有其生命周期(phase)。首先,随着内核开发者们开发的新特性的引入,会产生一些混乱。经过一段时间后,随着新内核慢慢成熟,此时内核会进入新特性冻结时间,在这个时间段中,Linus不再接受新特性的引入,只允许已加入的特性继续完善。当Linus认为新内核已接近稳定的时候,内核会进入代码冻结时间,在这个时间段中,只允许对已有代码的错误进行修改。在此之后,Linus会发布新的稳定版本系列。例如,从开发版本1.3系列到稳定版本2.0系列和从2.5到2.6。
在一个给定的内核系列中,Linus会定期发布具有新的修订版本号的新内核。比如说2.6.0就是2.6内核系列的第一个版本,其次是2.6.1。这些修订版本包含了缺陷修正,新的驱动和新特性,但是两个相邻的修订版本的区别非常小。
以上就是在2004年内核开发者峰会以前内核的开发方式,在此次峰会中,与会的开发者们决定延长2.6内核系列并搁置2.7系列的导入,依据是2.6内核反映良好、稳定并且足够成熟,看起来并不需要引入新的不成熟的特性。随后这些年2.6版本表现出了足够的成熟度和能力,证明这条路线选择是很明智的。相应的,2.6内核的每个修订版的开发周期都变得更长了,发布的每个修订版都包含了一个mini-development series。Linus的副手Andrew Morton把他的mm目录树变成了一个通用的测试平台,在此之前mm目录树只是和内存管理相关的修改的测试平台。不稳定的新特性首先流入2.6内核的mm目录树,当新特性稳定后,再进入2.6的mini-development series[2.6.31-->2.6.32]。在过去几年,每个2.6版本的发布都花费好几个月,但是每次发布都比上个版本有值得夸耀的显著变化。 这种"开发版本微型化"的策略取得了成功,它不仅保持了内核在上层的稳定,又为内核增加了新的特性。这种开发方式在可见的未来应该还会持续下去。实际上,内核开发者一致认为这种新发布流程应该永远持续下去。
为了弥补版本发布间隔太长的缺陷,内核开发者们引入了之前提到过的稳定版(stable release)。该版本(2.6.32.8中的那个8)包括了一些严重缺陷的修复,这些缺陷经常来自于新的开发版内核(比如2.6.33)。在这种方式下,前一个发布仍然持续更新以增强其稳定性。
--------------------------------------------------------------------------------------------
本文翻译自Robert Love的<>。
欢迎批评,欢迎转载并注明出处[fff.blog.chinaunix.net],谢绝跨省。
--------------------------------------------------------------------------------------------
阅读(2119) | 评论(0) | 转发(0) |