龙芯开源社区

 找回密码
 注册新用户(newuser)
查看: 3754|回复: 4

Fedora 21 for Loongson / Loongnix 1.0 系统特性介绍(三)——关于Linux内核

  [复制链接]
发表于 2015-11-3 14:32:46 | 显示全部楼层 |阅读模式
本帖最后由 华中科大一学生 于 2015-11-3 15:52 编辑

1,Linux内核发展简史

史前时代(0.01~1.0):
0.01 --> 0.02 --> 0.10 --> 0.11 --> 0.12 --> 0.95 --> 0.96 --> 0.97.x --> 0.98.x --> 0.99.x --> 1.0
0.01:第一个版本
0.02:第一个公开发布的版本
0.11:《Linux内核完全注释》使用的版本
1.0:第一个正式版本

奇偶时代(1.0~2.6.10):
版本号用a.b.c表示,a为主版本号,b为次版本号,c为修订号
发生重大改变时升级主版本号,次版本号为奇数表示开发版,次版本号为偶数表示稳定版
稳定版和开发版在修订号上各自升级演进,开发版达到稳定状态时,发布下一个稳定版
稳定版:1.0.x, 1.2.x, 2.0.x, 2.2.x, 2.4.x, 2.6.x
开发版:1.1.x, 1.3.x, 2.1.x, 2.3.x, 2.5.x

其中:
1.0:开始支持网络
1.2:开始支持非X86架构
2.0:开始支持对称多处理(SMP)
2.2:开始被各种发行版大规模应用
2.4:开始有“中国制造”的代码(LVS等)
2.6:开始响彻天下:完全可抢占,O(1)调度器,SYSFS,X86_64支持,NUMA支持,NPTL支持……

快速演进阶段(2.6.11~2.6.39):
开始用Git管理源代码
版本号用a.b.c.d表示,a为主版本号,b为次版本号,c为主修订号,d为次修订号
开发速度加快,版本号即便第三段相邻,差别也很大
如果继续采用奇偶版本法会有什么问题?
-2.7版本开发持续时间长,不到2.8发布新特性无法利用
-2.7版本新特性同样很难移植到2.6

其中:
2.6.11:《深入理解Linux内核》第三版所使用的版本
2.6.23:开始支持龙芯2E
2.6.33:开始支持龙芯2F

极速演进阶段(3.0~4.x)
在快速演进阶段,a.b一直保持为2.6没变,完全可以合二为一
在极速演进阶段,版本号回归a.b.c表示法,a为主版本号,b为次版本号,c为修订号
新的a相当于之前的a.b,新的b相当于之前的c,新的c相当于之前的d
次版本号b的升级既包括新特性引入,也包括缺陷修订(Bugfix),修订号c的升级只包括Bugfix。
Linux内核发行概述:http://kernelnewbies.org/LinuxVersions

其中:
3.6:开始支持龙芯1
3.15:开始支持龙芯3A
3.17:开始支持龙芯3B

2,极速演进时代,Linux内核按什么模式开发?
在代码仓库管理上,有主线仓库、稳定仓库、未来仓库和子系统仓库四大类,其关系如下图。

主线(Mainline)仓库
在次版本号上面升级演进
3.0 --> 3.1-rc1 --> 3.1-rcN --> 3.1 --> 3.2-rc1 --> ……
Maintainer:Linus Torvalds
git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git

稳定(Stable)仓库
在修订号上面升级演进
3.0 --> 3.0.1 --> 3.0.2 --> 3.0.3 --> 3.0.N --> ……
3.1 --> 3.1.1 --> 3.1.2 --> 3.1.3 --> 3.1.N --> ……
Maintainer:Greg Kroah-Hartman等
git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git

未来(Linux-next)仓库
前身为Andrew Morton维护的Linux-mm
进入下一版主线内核之前先到这里,在功能上类似于奇偶时代的奇数版本(开发版)
Maintainer:Stephen Rothwell
git://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git

子系统(Subsystem)仓库
为数众多,一般按体系结构(arch)、驱动类型(drivers)进行分类
MIPS子系统:Ralf Baechle
git://git.kernel.org/pub/scm/linux/kernel/git/ralf/linux.git
GPU子系统:David Airlie
git://people.freedesktop.org/~airlied/linux

3,关于长期维护版本(longterm)
长期维护版本是一种特殊的稳定版本(stable)
Stable版本的缺陷修订(Bugfix)实际上是mainline版本中缺陷修订的回归移植(Backport)
Stable版本的维护时间为3个月左右,当mainline仓库中下一版的正式版发布,上一版的stable仓库就不再继续升级(EOL,End Of Life)
Longterm版本的维护时间为2年左右,同时维护的longterm版本为5个左右,当一个新的longterm版本被选中时,最老的longterm就不再继续升级(EOL)

选择长期维护版本的依据:
具有里程碑意义(如3.0)
Redhat、Debian等著名发行版采用(但不是充要条件,见下面列表)
对于MIPS,longterm版本并不一定比一般的stable版本更稳定(因为著名发行版未必支持MIPS)

1,当前的长期维护版本:
2.6.32.x:RHEL6       3.2.x:Debian7/Ubuntu12.04    3.4.x:SLES12.0    3.10.x:Debian8   
3.12.x:?        3.14.x:?        3.18.x:?        4.1.x:Fedora21(Loongnix1.0)
2,曾经的长期维护版本:
2.6.16.x:SLES10.x    2.6.27.x:SLES11.0    2.6.34.x:Wind River     3.0.x:SLES11.2  
3,非长期维护的稳定版本:
2.6.9:RHEL4       2.6.18.x:RHEL5     3.5.x:Ubuntu12.10     3.8.x:Ubuntu13.04   
3.11.x:Ubuntu13.10     3.13.x:Ubuntu14.04     3.16.x:Ubuntu14.10

4,Linux内核中与龙芯相关的代码都是谁贡献的?
可以说绝大部分都是龙梦贡献的,感兴趣的可以在官方代码仓库中搜索lemote:
http://git.kernel.org/cgit/linux ... g/?qt=grep&q=lemote

5,哪些版本的Linux内核支持龙芯?
1,内核对龙芯的支持是一步步添加的,版本越新越完善。比如2.6.23开始支持龙芯2E,2.6.33开始支持龙芯2F,3.15开始支持龙芯3A,3.17开始支持龙芯3B……,因此,最新的版本(4.3.0正式版)是对龙芯支持最完善的。
2,正因为龙芯的特性是一步步添加的,所以上游社区提供的正式版往往不是功能最全的。相反,龙芯梦兰作为最大的龙芯电脑方案商和最强的内核代码贡献方,维护了多个版本的内核分支,包括3.5.x、3.6.x、3.10.x和4.1.x等等,为龙芯电脑提供了最完善、最稳定的内核,感兴趣的可以到这里获取:
http://dev.lemote.com/cgit/linux-official.git/

6,Fedora-21(Loognix-1.0)用的是哪个版本的内核?
默认使用最新的长期稳定版:4.1.x,同时也支持龙梦官方维护的其他稳定版:如3.5.x、3.6.x和3.10.x,而2.6.x系列由于太过老旧,提供不了新系统所需功能,不予支持。

7,4.1.x内核有什么特性?
那些最新、最酷的内核特性都是比较新的版本才加入的,比如3.8开始才支持MIPS透明巨页(THP),3.10开始才支持显卡高清解码(UVD),3.13开始NUMA调度性能大幅度改进,3.14开始才支持FP64/O32,3.15开始才支持MIPS向量指令,3.18开始才支持GCC5编译,4.0开始才支持在线补丁(LivePatching)和内核地址净化器(KASan)。而4.1.x则是集大成者,支持上述一切特征,除此之外,它还是最新的长期稳定版本,可以提供最强的代码质量保证。

8,为什么龙芯官方网站(www.loongson.cn)上提供的内核是基于2.6.32的?
其实,龙芯3号上使用的内核最早是基于2.6.36的,在技术发展日新月异的今天,龙梦坚持与时俱进,从3.5.x、3.6.x一直紧紧跟随到现在的4.3.x。相比之下,某些冥顽不化的“国产操作系统”厂商由于研发能力欠缺,只知道躲在Redhat的大树下面乘凉,RHEL用什么版本他们便用什么版本,不敢有丝毫的改变。在龙芯生态还在努力成长,还不够强大的时候,只能被这些厂商倒逼着开发2.6.32这样一个古老的版本(显而易见的是,那些古老的版本是根本无法适应这个时代的)。话说回来,正是由于这些“国产操作系统”的不作为,才让Fedora-21(Loongnix-1.0)有了大放异彩的机会。











本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册新用户(newuser)

x
发表于 2015-11-3 15:32:03 | 显示全部楼层
真清晰,赞一个! 关于友商的选择,态度应该包容些。有时候用户环境的确也不允许经常升级内核,从商业上考虑保守有保守的道理。一切以实际应用需要为准,做对用户最好的东西。
发表于 2015-11-3 21:56:50 | 显示全部楼层
顶大师   学习了
发表于 2015-11-5 18:48:41 | 显示全部楼层
牛叉大师!!!
发表于 2018-10-16 12:30:17 | 显示全部楼层

本版积分规则

小黑屋|手机版|Archiver|Lemote Inc.  

GMT+8, 2019-3-25 13:51 , Processed in 0.192036 second(s), 18 queries .

快速回复 返回顶部 返回列表