如何判定是否“自主”手机操作系统?

互联网 | 编辑: 潘翔城 2012-10-06 00:00:00转载 一键看全文

自主系统案例及开发建议

案例

这里给大家介绍笔者早先和美国一家公司合作,尝试搭建的一个操作系统,其实在当年这些东西的基础上,搭建出来一个有别于Android的开源“自主”操作系统还是非常快的。

这个系统使用了Linux内核和标准的C/C++函数库,以及一些和Android体系结构类似的C/C++运行库,使用了笔者公司的开源软件 MiniGUI、WebKit浏览器核心引擎等等。基础的东西就这些。之上是开源的KaffeJVM(后来改成了CacaoJVM),和符合J2SE规范的类库实现,再往上就是运行环境和框架了。见下图:

可惜的是,真正具有核心价值的运行环境和框架,是美国合作方自己开发的,我手里没有源代码。相信读者也能明白,美国合作方掌握的才是精华。

如果要在这套系统基础之上快速开发一个“自主”的操作系统,我们需要:

·重新定义类库,也就是基础API,让我们的系统从灵魂上有别于其他系统。必要的话,优化或替代开源的虚拟机(淘宝最近开源了一个JDK虚拟机,不过是针对J2EE的)。

·全新设计和实现适合于智能手机的运行环境、框架。

·全新设计基本的智能手机应用软件。

·开发模拟器,并集成到Eclipse集成开发环境中。

·还有,这个系统是2006年开发的,我们还需要将底层的内核、基础函数库等更新到比较新的版本。

要做的工作还是蛮多的,但这个系统在2007年的时候,就已经可以运行在主频在200MHz左右的手机上了。

当然,这个系统离本人定义的真正“自主”的操作系统还有很大的距离。但是,起码技术上的方向是基本正确的,要知道,这个系统几乎是和Android同时发起的。后来在2007年,谷歌宣布开源Android后,美国合作方敏锐感觉到了Android将是未来的趋势,就直接转向了Android平台,项目也就终止了。

五、给相关人员的建议

1、给政策制定者:“自主”切忌急功近利

这里所说“政策制定者”主要指的是“核高基”等政府资助项目的决策人。其实前面已经说过了,这里重申一下:

政府需要在更长的周期内(至少五年),考核受资助企业的市场份额是否有扩大,是否建立了良好的生态系统,让使用者、开发者欲罢不能,而不是简单的著作权证书和专利数量,或者是否达到了一个给定的出货量(因为出货量是可以作假的)。也就是说,我们应该重新定义“自主”这两个字,从“自有知识产权”向“有效知识产权保护下的自己主导”转移;在知识产权方面,要强调有效专利数量,而不是著作权;甚至应该要求受资助企业按某种许可证条款开放源代码。

政策制定者甚至可以参照本文第三章给出的“自主”操作系统之定义,将整个“自主”操作系统的研发和推广分为三个部分:

·科研类,两到三年为周期,以研究新的编程语言及其相关设施(如虚拟机及其优化技术)为主。

·工程类,两到三年为周期,围绕指定的编程语言发展外围工具链(编译器、调试器)、开发工具、运行环境、框架等。

·法律类,半年到一年为周期,研究和分析采纳已有编程语言面临的知识产权风险,如何规避等等。

政策制定者切忌急功近利,要按照客观规律办事,将科研类的课题交给研究机构,将工程类以及市场推广等方面的课题交给企业,将法律类的课题交给大专院校。只有这样,才能首先让方法正确,方法上正确,加上合理的考核制度,才能让钱产生真正的效益。

在花钱方面,在一盘大棋下的统一部署下,初期让多一些的企业或机构参与,一年一验收,逐步淘汰那些不合格的,最后剩下来一、两个企业就好。十亿美金,外加企业自筹部分,我看基本够了。

2、给大型企业决策者:“自主”大不易

有意开发“自主”操作系统的大型企业决策者首先要明白,开发“自主”操作系统是一个长期、艰巨的系统工程。甚至,你需要准备一大笔钱来和已有的巨头打官司(微软赔付给Sun几十亿美金之后,才让自己的C#和.Net平台成为“干净”的语言和平台)。

另外,如前所述,不管是真心还是假意,都要拿出十足的架势来真做,而且,对内、对外都要强调这点。要知道,你期望得100分,下属大多数情况下只能给你80分;你期望得1000分,下属也许就可以给你500分。这样才能超出决策者自己的预期,才能收到更好的效果。

3、给技术负责人:难度不亚于“两弹一星”

这事儿如果恰好让你负责,那简直是,怎么说呢,是个“扬名立万”的机会啊!你要知道的是,这事儿和制造“两弹一星”差不多。

首先你要掂量掂量,你有没有这个本事。所谓“没有金刚钻,不揽瓷器活”,说的就是这个道理。有兴趣的也别来找我,我做点小项目可以,真要我负责,我没这个本事。

另外一方面,你要是违背知识分子的良知,帮助一些不良人员骗取国家的资助款项,就更不应该了。这可是要被人戳脊梁骨的;有没有钱拿永远是小事,昧了自己的良心可是大事。

4、工程上的建议

在具体的研发实施过程当中,开发负责人必须特别注意工程方面的问题:

先做什么、后做什么,或者那些可以并行做。

不同的软件模块,应采取不同的软件开发管理模型。API设计、框架等的开发,适合采用瀑布法模型;应用软件或者小型模块的开发,适合采用敏捷开发模型。但整个系统,应要不停迭代,所以版本控制非常重要。

特别要注意代码的质量控制以及文档的全面、完备、简洁和逻辑性。

提示:试试键盘 “← →” 可以实现快速翻页 

总共 4 页< 上一页1234
一键看全文

本文导航

相关阅读

每日精选

点击查看更多

首页 手机 数码相机 笔记本 游戏 DIY硬件 硬件外设 办公中心 数字家电 平板电脑