当今,人们考察Linux的现状是否如同“雾里看花”?人们判断Linux的前途是否注定“前途渺茫”?事实上,并不一定。
自从今年6月29日苹果推出iPhone之后,受到人们追捧,甚至被《时代》杂志评为今年的“最佳发明”。人们把iPhone称为“超微型计算机”(甚至美其名为“PC 2.0”),超微型计算机,当然是个发展方向。曾经传言Google也要推出“智能手机”(“Handset”),也是一种超微型计算机。在低功耗、小空间和硬件元器件的性能限制下,如何发展超微型计算机(比如,智能手机)呢?从全球范围来看,现今的人力资源,技术水平和市场需求的客观条件,决定了超微型计算机的开发路线。对此,Google是早有准备的(比如,两年前购并Android)。实际上,11月2日,Google牵头的所谓“开放手机联盟”(“Open Handset Alliance”,简称“OHA”)成立,绝非一日之功,事先有许多工作要“筹备妥当”,比如:称为“Android”智能手机的开发工具包(“SDK”)必须准备好。实际上,这个“SDK”(开发工具包)的存在,才是“OHA”成立的前提。11月12日,Google向众人展示的Android的原型机便是一个证明。11月12日,Google发布的Android开发包(“SDK”)是全球软件技术界的关注一个“焦点”。Google的Android开发包,表明了一个事实:Google牵头的“OHA联盟”推出的将是一款新型超微型计算机。简单说来,Android(机器人)手机,除了其硬件身躯之外,最为核心的“心脏部件”(所谓“软件堆”、“Software Stack)是Google发明的“虚拟机”(叫“Dalvik”,冰岛的一个度假胜地名称)。这个“虚拟机”(“Dalvik”)就是这种智能手机“执行”程序代码的地方。这种“可执行码”叫做“Dalvik可执行码”,而不是Java虚拟机的那种“字节码”(Dalvik根本不认Java的“字节码”)。Dalvik虚拟机的可执行文件,叫做“.dex”文件(来自“Dalvik-EXecutive”)。这种“.dex”文件,一旦下载到Android手机上,就立刻在dalvik虚拟机上被执行,而不能存储起来不执行。
那么,这些特种“.dex”文件,从何而来?Google的想法妙极了,凡是Java程序员,都习惯遵从Java的语法(Syntax)编写程序(编写程序并不难,而且会“上瘾”,我亲身体验过),这种“Java源代码”程序文件,经过“SDK”开发包里面自带的一个小工具“dx”(来自“Dalvik-eXecutive”)编译一下,“.dex”可执行码就出来了。对此,全球Java开发社区无不“称绝”。Google拿出1,000万美元,让他们比试比试,即是“好玩”,也是“必需”。
现在人们所关心问题的是,Dalvik虚拟机与SUN的Java虚拟机有什么关系?实际上,Java的虚拟机有许多种。适合手机“小空间”运行,而且经过优化(运行效率,节电指标,等等)的,恐怕并不多。Dalvik就是一种“超微型计算机”的高性能虚拟机。实现这一点,必须有个前提:Dalvik必须跑在Linux 2.6内核之上,借助Linux 2.6内核的优异性能才得以实现。这就是说,Dalvik与Linux的“綁定”(“bind”)是有根据的(必须的),不是Google对Linux的恩赐和偏好。
全球OHA联盟,手里拿着Android机器人,借助Dalvik虚拟机,发动广大Java志愿者参与,彻底走上“开源之路”,极大地降低智能手机成本,改革收费模式,让利广大用户,必定受到市场的欢迎。Linux不再是厂家的赢利工具,而是堂堂正正地展示自己的自由软件本色,走进千家万户,把私有软件厂商吓得“腿发软”。至此,我们要公正地说,Linux:浓雾散尽,前途宽广。
注:所谓“Linux增速减缓”、“Linux内耗加剧”、“Linux日趋分裂”诸多论断,完全缺乏事实根据,都是一派胡言乱语,容我今后一一加以批驳。