麒麟操作系统内核同其他操作系统内核的相似性分析(4)

王朝other·作者佚名  2006-04-30
宽屏版  字体: |||超大  

-

85.57%

5.03%

10.72%

10.63%

10.29%

10.44%

4.06%

kylin_2.0.21_lsb

1,120,079

31.92%

41.94%

14.55%

100.00%

91.06%

91.06%

-

5.38%

10.83%

10.31%

10.20%

10.35%

4.35%

linux_2.6.16

666,204

9.47%

9.71%

13.13%

5.38%

5.38%

5.39%

5.38%

-

11.89%

12.09%

12.21%

12.07%

6.30%

netbsd_2.1

1,503,585

6.49%

7.42%

13.68%

8.06%

8.18%

7.97%

8.06%

5.20%

-

53.35%

17.53%

16.72%

4.10%

netbsd_3.0

1,616,659

6.19%

7.11%

12.65%

7.54%

7.90%

7.89%

7.54%

4.98%

24.40%

-

13.96%

14.61%

3.73%

openbsd_3.7

1,228,137

7.95%

9.58%

16.54%

9.27%

9.97%

9.71%

9.27%

6.43%

20.77%

18.44%

-

88.89%

5.20%

openbsd_3.8

1,260,707

7.72%

8.84%

16.52%

8.88%

9.53%

9.52%

8.88%

6.29%

20.65%

18.47%

84.56%

-

5.00%

OpenSolaris_5.11

396,534

11.87%

12.00%

16.84%

12.50%

12.46%

12.46%

12.50%

13.37%

15.90%

15.82%

16.66%

16.49%

-

从数据表中反映出来的血亲关系来看,Kylin 2.0的内核和FreeBSD 5.x的血亲关系最近,在30.43%-48.18%之间,和FreeBSD 6.0的关系稍远,在14.55%-24.61%之间。而和其他的操作系统关系都比较疏远。和NetBSD、OpenBSD的相似度在10%左右,而同Linux的相似度只有5.38%,

与OpenSolaris的相似度虽然比NetBSD和OpenBSD还高,达到了12.50%,但是这个绝对数值不应该视为OpenSolaris与麒麟的关系更接近。因为,OpenSolaris的代码行数仅有396,534行,仅相当于NetBSD的1/4。在相似度计算公式中,分母较小,容易致使结果的相似度较大,因此不应该说麒麟内核和Solaris更相似,应该说麒麟内核同Solaris,NetBSD和OpenBSD的相似度相当。

另外,我们可以注意到OpenSolaris和FreeBSD 6, NetBSD, OpenBSD的相似度略高于其他系统内核,但是都比较低。我们从这个不大的差异中可以感觉到Solaris同BSD的或近或远的关系。其实虽然Solaris代码已经不是基于BSD构建的Unix了,但是由于SVR4中也吸收了BSD的部分代码,因此Solaris在相似度上,还是客观的体现了和BSD偏近的关系。

从数据中我们还可以看到麒麟的这几个内核的相似度很高。Kylin 2.0.0和Kylin 2.0.21 lsb的相似度是100%,Kylin 2.0.14和2.0.21的相似度也是接近100.00%。其中的具体差异行数如下:

原始内核\目标内核

汇编行数

kylin_2.0.0

kylin_2.0.14

kylin_2.0.21

kylin_2.0.21_lsb

kylin_2.0.0

1,120,079

-

170,553

170,641

0

kylin_2.0.14

1,190,443

101,029

-

145

101,029

kylin_2.0.21

1,190,562

101,328

26

-

101,328

kylin_2.0.21_lsb

1,120,079

0

170,553

170,641

-

我们可以看出其实光盘引导用的内核同安装后的/boot/kernel_lsb/ 目录下的内核是相同的。而Kylin 2.0.21和2.0.14相比仅仅修改了几十行代码而已,变动很小,从数值上看,变动主要是增加了一些代码。而从2.0.0到2.0.14变动稍大一些。

在后面的分析中,我们没必要对很相似的内核一起进行重复分析,因此,将基于Kylin 2.0.0和Kylin 2.0.21这两个麒麟内核进行分析。

从现在的结果我们已经可以看出麒麟和FreeBSD的5.x版本有很近的血亲关系,最高达到了与FreeBSD 5.2的48.18%的相似度,这种相似性甚至已经明显超过了和FreeBSD具有很近的同源关系的NetBSD, OpenBSD。即使是最初基于NetBSD的代码而建立的OpenBSD,在与其渊源极深的NetBSD比较时,最高也不过20.77%的相似度。

至此,我们基本上可以确定麒麟操作系统内核中有大量的FreeBSD 5.x 的源代码。为了进一步确定麒麟操作系统和FreeBSD的相似性到底有多少,我们接下来将针对Kylin内核和FreeBSD的内核作比较。

2.2.4 Kylin与FreeBSD各个版本间的内核相似度分析

这次我们针对Kylin和FreeBSD这两个操作系统的内核进行相似度的比对。参与比对的将包括Kylin的2个典型内核和FreeBSD 5.x全系列内核,具体是Kylin 2.0.0, Kylin 2.0.21, FreeBSD 5.0, FreeBSD 5.1, FreeBSD 5.2, FreeBSD 5.2.1, FreeBSD 5.3, FreeBSD 5.4, FreeBSD 5.5 beta4。

原始内核\目标内核

第一页    上一页    第4页/共6页    下一页    最后页
第01页 第02页 第03页 第04页 第05页 第06页 
 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
© 2005- 王朝网络 版权所有