对鸿蒙的部分猜测
鸿蒙发布,知乎微博甚至龙空,华为吹的声音再次呈现一边倒的趋势,但恕我直言,无论哪个平台,还没有吹出水平的文章来。
原因嘛,操作系统这门课,很多人没学好,搞操作系统的人,要么是竞争对手在观望,要么是懒得吹。那我只好自己下场来吹吹了。
我本人非计算机专业,本科学的物理,后来在部队军校学的通信,都不是计算机专业。但不变的是对计算机浓厚的兴趣,长期坚持自学计算机知识,直到近年年纪大了才决定放弃学技术。
计算机三大浪漫中操作系统相对来说对非专业人士比较友好,所以我下功夫较多,而其他两个基本没有看过。
---------------------------------------以上为背景---------------------------------------
一、统一平台是操作系统界的珠穆朗玛峰
说起来,统一是很多搞理论的执著,麦克斯韦电磁方程牛逼在统一了电磁表达,爱因斯坦相对论之后一辈子都用在了劳而无功的四大作用力的统一描述。而操作系统并列为计算机三大浪漫,而操作系统内最高的追求是:统一平台。
统一平台有二进制级别的统一,有源代码级别的统一,还有应用界面级别的统一,这三者牛逼程度依次降低。
目前两大通用操作系统流派,类unix和windows,linux做到了多平台,但是由于组织松散,平台之间并没有强调互操作性和无缝连接;苹果的互操作性和无缝连接很强,但是并不是同一个平台;windows的多平台之路也是坎坷多艰,近乎无望。眼下Linux很多可以实现二进制级别的统一,java部分实现了源代码级别的统一,而苹果则是从应用界面级别实现了统一。
未来的发展来说,linux基本上没有这方面野心,所以谷歌考虑另起炉灶,苹果和微软都有心思统一平台。除了这些之外,曾经有一段时间有厂家试图设计直接支持java的CPU,不过现在好像没消息了。
统一平台有什么好处:最扯淡最荒谬的无疑是一次编译,到处运行。其次是一次编码,到处编译。但是就算是一次编码到处编译也多半是扯蛋。同样是Java虚拟机,不同版本的安卓之间的兼容性都是一个常见难题。一句话说就是:理想很丰满,现实很骨感。同样的版本,不同分辨率不同操作设备之间的移植都可以让人很痛苦。
以上说这么多,只是为了强调,统一平台是操作系统界的最大浪漫,但从工程实现上也注定是珠穆朗玛峰级别的难度。
华为的选择,目标定得太高太高,或者说PPT做得太牛太牛,以致于我个人觉得,华为的PPT,鸿蒙的特性,足以在《操作系统》教材后加上一章,标题是:未来操作系统展望。
但是,还是前面说的话:理论是丰满的,现实是骨感的。工程实现是真的要华为程序员的头发和睡眠,甚至还有其他的。
好在,华为选择了微代码和开源,前者理论上低耦合,降低工程难度,后者可以帮助华为移植其他平台。但是就后者开源来说,华为依然有现实中的难题,一而二,二而一的问题,就是开源协议的选择及分支的管理。
二、鸿蒙系统特性分析(猜测)
1、微内核,见我上一个帖子
2、确定时延,这个应该是鸿蒙揉合了实时操作系统(RTOS)的特性,一方面,实时操作系统通常用于低计算量,强实时性的工业控制领域、嵌入式设备,这些环境需要操作系统的可靠性,要避免资源锁死,避免失去响应,华为要多平台,必须支持这种特性。
另一方面,安卓相对于苹果的劣势,最显眼的就是用户响应的优先级不如苹果高,给用户观感来说就是安卓比苹果卡,如果用确定时延的方法来解决这一问题,直接给用户交互界面以确定时延的优先级,则卡顿现象能够根除(响应方面的,网络等外部设备造成的卡顿是另一回事)
3、安全性
当前计算机安全漏洞我个人猜测,有8成是各种溢出漏洞攻击,溢出漏洞攻击其根源是冯诺依曼体系中,把数据和指令视为一个东西造成的,黑客通过构造特定的数据,在存储时溢出到指令区域从而被执行。
华为的已经应用的文件系统,erfos除了性能之外,宣传的就是安全性,我个人猜测,其对系统文件、可执行文件、数据文件进行了一定程度的区隔来提高安全性,华为这次的宣传中主要是说的进程间独立的安全性,可能是多种技术共同作用提高安全性。
如果猜测为真,则很多安全攻击行为会失去目标。
三、鸿蒙未来展望
1、这是一个九死一生的项目
如前所述,鸿蒙的目标或者说野心非常大,以至于我觉得这个项目失败才是正常的,成功的话就是一跃成为微软及Linux及苹果之上的一流操作系统厂商。但九死一生。
不过跟Linux一样,华为的选择是先做了再说,先把背包扔过墙再考虑怎么过去。我个人对鸿蒙的态度是坚决支持但不抱太高期望,相信在前面的版本中,无论是兼容性还是性能都不会太尽如人意,但我希望在开源和微代码的加持下,在华为硬件市场的领先地位加持下,华为最终能够成功。
2、高动态内核
华为这次的鸿蒙应该说已经比较有想象力了,但还不够,设想一种高动态内核,比如神舟出一台电脑,在出厂时安装的鸿蒙是所谓的微内核,用来提高兼容性,但是如果这台电脑是用来办公的,则后期鸿蒙自动将办公软件经常调用的API或者是代码直接加入内核来提高性能。当然办公软件说性能有点搞笑,但还有其他需求,比如多媒体编辑、代码编译、游戏等等,都可以通过人工智能学习的途径来动态调整内核,从而实现高可移植性高兼容性与高性能的兼顾。
3、商业模式
开源未必免费,过去经常说free software,现在为了区分开源和免费,多半叫open software。鸿蒙还是可以收费的,另外,为硬件厂商提供定制化的鸿蒙也可以是可行的商业模式,比如神舟,比如OV,比如政府办公,并且,这种服务未必一定是华为,可以是第三方平台,比如360,比如深度。