麒麟操作系统内核同其他操作系统内核的相似性分析(5)
汇编行数
fb 5.0
fb 5.1
fb 5.2
fb 5.2.1
fb 5.3
fb 5.4
fb 5.5.b4
kylin_2.0.0
kylin_2.0.21
freebsd_5.0
913,353
-
28.61%
36.79%
36.65%
21.07%
18.91%
18.67%
40.53%
30.43%
freebsd_5.1
958,699
27.24%
-
38.18%
38.37%
13.76%
17.92%
15.98%
28.94%
26.11%
freebsd_5.2
1,048,418
32.53%
33.77%
-
99.80%
32.80%
29.46%
32.09%
48.18%
34.02%
freebsd_5.2.1
1,049,592
40.04%
33.49%
99.69%
-
32.89%
28.95%
29.13%
48.15%
34.47%
freebsd_5.3
1,161,593
14.72%
16.87%
29.49%
28.01%
-
98.03%
95.49%
57.94%
50.48%
freebsd_5.4
1,174,287
14.38%
12.49%
26.92%
26.94%
96.97%
-
98.91%
56.24%
51.88%
freebsd_5.5.b4
1,187,447
14.46%
14.74%
26.34%
26.56%
94.43%
97.80%
-
39.47%
50.16%
kylin_2.0.0
1,120,079
31.92%
20.99%
41.94%
41.97%
60.26%
59.04%
42.59%
-
91.06%
kylin_2.0.21
1,190,562
23.52%
16.68%
29.95%
29.93%
52.04%
50.87%
50.35%
85.57%
-
Kylin 2.0.0和FreeBSD 5.3的相似度达到了60.26%,与FreeBSD也达到了59.04%的相似度。我们可以注意到,即使是FreeBSD的5.0 – 5.3版本之间的相似度也没有超过40.04%。5.3、5.4和5.5的高相似度前面已经解释了,应该是5.x系列的内核趋于稳定了,因此修补较多增添新的特性较少所致。
按照麒麟开发人员的解释,麒麟操作系统内核服务层使用的是FreeBSD 5.0的代码。可是,从我们的分析数据可以明显看出,Kylin 2.0.0和FreeBSD 5.0的相似度有40.53%,而与FreeBSD 5.3的相似度达到了60.26%,因此我们有理由相信麒麟使用的是FreeBSD 5.3或者5.4的代码。
当然,我们可以理解为这是开发人员的声明[3]中的一个笔误,他想说FreeBSD 5.x,而不是FreeBSD 5.0。但是,另一方面,如果说仅仅是外围服务层使用的是FreeBSD的话,那么麒麟与FreeBSD 5.3的相似度不应该高过FreeBSD自家不同版本之间的相似度。既然麒麟2.0.0内核与FreeBSD 5.3达到了60.26%的相似度,那么我们可以肯定地说,麒麟操作系统内核源代码至少有一半以上使用的是FreeBSD 5.3的源代码。