对中国系统软件发展的思考与建议(二)

Sina WeiboBaiduLinkedInQQGoogle+RedditEvernote分享




3. 中国系统软件的现状

随着芯片设计产业在中国的逐步发展,中国的系统软件研发面临着一个进退维谷的境界。

最近几年来,大陆陆续推出了一系列的中低端的通用CPU,SoC和一些专用的DSP芯片。通过发布的信息,可以了解一些性能参数,比如:

“据参与项目开发的技术人员介绍,目前的龙芯2号最高频率为300MHz,功耗1W-2W,成品率约为80%左右。通过使用相关测试对龙芯2号的性能分析表明,相同主频下龙芯2号的性能已经明显超过PII,达到PIII的水平,设计人员称龙芯2号的设计SPEC CPU2000分值可达到300分以上,设计频率在500MHz以上时性能可与1GHz以上的PIII或PIV的性能相当。”

从上述参数可以看见,通用CPU设计方面我们已经开始起步并且积累了一定的工程经验。关于龙芯的更多资料可参阅www.xtrj.org/godson. 虽然对于硅谷的CPU或网络处理器公司而言,做一个MIPS的CORE的CPU是一个相对并不复杂的工程项目,但毕竟是我们自己从无到有走了一回。工程经验价值很大。

但我们在系统软件领域基本上是没有任何量化的成绩。基本是LINUX, BSD等的一些相对简单的移植,基本上还没有涉及到BSP的地步。KERNEL的重要工作和贡献就更无从谈起。我们在商业操作系统方面的工作表现比较清晰,也就是基本上没有真正市场化的系统。在对开源操作系统方面的参与和贡献方面,通常几个标志性的判别指数是:有多少人能将代码加LINUX, BSD的代码系统里?应该是不多。有几个有影响力的系统级的项目在http://sourceforge.net上?引用数是多少 被用户下载的数量是多少?开源社区的人参加共建的数目是多少?

 我们的贡献基本上接近为零。这就是现实。没有任何非常突出的贡献。

我国的商业系统软件公司其实并不少。但好像主要还是在汉化方面和用户界面的调整上做一些工作,再深一点的,就是对不同的用户需求,做一些相应的定制裁剪工作,比如,对企业单位的系统集成,调试和安装。红旗LINUX是其中比较典型的一个代表。下面的的链接是红旗LINUX的产品介绍:http://www.redflag-linux.com/chanpin/index.php。 在其网站上,对其产品的介绍是这样描述的:“红旗软件提供高端服务器操作系统、集群解决方案、桌面版操作系统、嵌入式系统以及技术支持服务和培训等一系列的Linux 产品和服务,开创全新的计算体验,帮助企业增强其整体竞争力,提高个人工作效率,将用户业务价值和 Linux 的自由开放精神有力地结合在一起。”

我们可以看出红旗LINUX的产品和市场方向:LINUX为操作系统的数据中心服务器, 企业服务器,LINUX桌面系统,和嵌入式产品等等。 下图所示是红旗Linux描述其“红旗核心技术”的体系结构。

                                                                                  

 在红旗Linux的网站上,引人注目的是这样的词汇:“红旗嵌入式核心技术框架”。从图中,笔者无法判断红旗LINUX的技术在那里,对开源社区的贡献在那里。在Linux核心的工作在那里。笔者的观点是:还没有或者没有公布。与之相反, MVISTA IN(www.mvista.com )在对LINUX KERNEL PREEMTPTION对方面的贡献很大,其许多工作已经进入LINUX 2.6中。另外,MVISTA开发的大量工具也为基於LINUX的应用程序开发提供了非常重要的支持。

FSMLabs 是另外一个在LINUX领域,特别是实时方面,比较引人注意的一个。他们通过一个LKM的方式将原来LINUX的中断处理程序和调度截获,并将自己的调度算法放入其中,其模块称为RTCORE。 通过提供一套RT_THREAD的编程方式,用户可以编写EITHER 用户态的实时程序OR核心态的实时程序。这种显示的将UNIX DOMAI与REAL_TIME DOMAIN在调度上分开的方法在一定的程度上解决了经典UNIX(如LINUX,BSD)等等操作系统核心操作的非确定性而带来的非实时性的重要问题,比如:要支持高速的硬实时的应用; 控制平面和数据平面没有分开的中高档网络通信设备(如路由器,交换机,防火墙等等)。

上述是举了两个例子来说明别人的工作在什么方面。当然,MVISTA和RTLINUX在技术上多有问题需要解决。笔者会在下面的章节中讨论。

总之,通过阅读红旗LINUX其他产品的介绍,我们大概可以得出这样的结论:红旗LINUX基本上还是一个LINUX产品的集成和发布商,基本上无单独二次深层开发的计划或能力。

在整理此文时,笔者发现,红旗Linux现在已经将飞漫软件公司的Linux为基础的MiniGUI图形系统融入其红旗Linux的嵌入式解决方案中。这确实是一个不错的进步。在2004年这篇文章成文时,还没有这个集成的方案。笔者认为,MiniGUI的对低档嵌入式设备或便携式设备(内存都比较小)是一个不错的应用软件。笔者将在以后专门写一篇评论文章介绍飞漫软件。

“一叶而知秋”。通过对红旗LINUX的技术结构的考察,我们可以这样认为,国内其他的类似的做Linux销售、集成、定制的操作系统公司应该都处于这个层面上。 

2006年,国防科技大学发布了其麒麟操作系统。这一新闻在网络上引起了激烈的讨论。许多BSD的技术人员通过分析得出麒麟操作系统其实是FreeBSD的一个克隆。其中一篇从内核相似性分析的技术文章引起了广泛的注意:麒麟操作系统内核同其他操作系统内核的相似性分析。从文章作者的数据分析,其结论是:“Kylin 2.0.0和FreeBSD 5.3的相似度达到了60.26%,与FreeBSD也达到了59.04%的相似度”, “从已知的数据我们只能说,创新可能只有10%到20%之间”。

 

                                                                                                                                     

其实就麒麟操作系统的创新性和独立研发的程度,国防科技大学,在受到各方面质疑后,也公开表示麒麟操作系统不是一个独立研发的系统,而是一个充分利用BSD社区的微内核Mach和FreeBSD5.x的基础上经过一些算法修改和增添一些新功能而来的。下图所示为国防科技大学的相关声明:

 

             

                                                                                                               

通过上述的数据和文字,笔者 认为,在肯定国防科技大学的确做出了非常多的独立自主的技术开发之外,也要清醒的认识到,麒麟操作系统离操作系统核心的关键技术的创新还是有不少差距的。 关于笔者对麒麟操作系统的更多评论可参阅文章:对国防科技大学麒麟操作系统的思考一文。

下面我们来考察一下国内的大型通信监控软件的发展情况。

华为, 港湾等国内的高端嵌入式系统好像没有在系统软件方面有自己的东西。从各方面的消息来看,许多产品是基于VXWORKS,Linux和其他一些第三方的操作系统。另外华为与CISCO的官司也是弄得路人皆知。笔者不知华为等高端产品数据平面上的软件是什么体系结构。但自己写的核心的可能性不大。当然,华为的产品为我们国家挡住了欧美相应产品的冲击,这是有目共睹的和值得肯定的。

笔者认为系统软件的研发在高校相对工业界要差一点。基本上没有可值得特别提及的地方。85计划的操作系统部分应该是入了许多钱的。“青鸟”计划曾经投入了许多人力物力。结果我们大家都已经比较了解。一个非常可惜的投入和产出比。

科学院计算所“曙光”CLUSTER计算机是我们在服务器和高性能计算方面的一个成果。可喜可贺。但从技术上来看,问题也是很多。笔者有幸在计算所一个出差的机会参加国家智能中心的研究生论文答辩会。从其中心的研究生论文答辩中,大概可得知曙光机的体系结构一二。其基本上是一个机群计算的体系结构。其操作系统用的是IBM的AIX 或者是 Linux. 在操作系统之上,构架了一系列的中间件包括:MPI,PVM和实时CORBA(TAO). 曙光用TAO来构架了其实时事件服务处理和整个机器的高可靠性系统。MPI或PVM是其并行计算的环境。当时,智能中心的主任,博导孙教授说,为什么把高可靠性系统构架在CORBA这么高的概念/层出上?HA能发现一个节点服务崩溃的速度是多少?这些都是非常好的问题。

从笔者的角度看,曙光的存在是非常令人振奋的,是我们的骄傲。但同时,我们要看到不足。笔者知道节点通信的快速硬件设备是自己设计的。这是非常让人高兴的事情。但在软件方面,笔者明显感到吃力和没有足够的力量。

另外,联想也设计了类似曙光的机器并和计算所竞争。这是个好事情。一方面我们知道曙光的技术含量不是高不可攀。另一方面,有竞争,在高性能计算方面我们才能提高。

联想应该是国内一个很大的计算机公司,但总体感觉其仍然是卖机器的。就象美国的DELL公司。当然没有什么不好。虽然拥有一个庞大的联想研究院,但联想好像没有在独立研发方面作过什么让笔者引目的东西.

笔者非常寄希望于高校在GRID COMPUTING上不要错过为我们将来的高性能计算作出基础和培养人才的工作。在系统实现方面,笔者对高校信心不大。这一点与目前高校教师的科研素质是密切相关的。

我们有了龙芯?如果没有系统软件?就像缺少了重要的一环。芯片设计与系统软件的配合是紧密相关的。缺少对系统软件的思考,龙芯或将来的其他芯往那份走?拼高端?还是SoC,去抢占嵌入式系统和MISSION CRITICAL 系统?

最近,一些鉴定会上,一些发布会上,网络上,一些德高望重的老教授和院士们都情绪激动的表示中国一定要坚持LINUX的道路,去和微软斗。

有时,是乎LINUX或开源社区成了我们系统软件产业的救星。这是正确的吗?我们对系统软件的理解只在LINUX这个层次吗?有没有其他的问题我们忽视了? 我们对LINUX的正确态度应该是什么?在开源领域,我们的立场应该是什么?

(4个打分, 平均:5.00 / 5)

雁过留声

Comments are closed.