今天,2019年8月9日,华为在开发者大会上发布了自研的鸿蒙系统。

穿着绿色T恤衫的余承东讲了个一个小时,仔细听下来其实他只讲了一件重要的事:鸿蒙系统将采用微内核操作系统,而且将是全世界第一个基于微内核的全场景分布的开源的操作系统。

那么微内核操作系统是什么?它和我们常见的那些操作系统有什么区别呢?

这里先给一个表格,以让客官有初步的印象:

由于涉及到的内容比较专业,有些操作系统发展到后来有微内核/宏内核的混合趋势,所以这里尽量以非计算机专业的读者能看懂的方式来解释。

宏内核操作系统的代表就是Android。它的设计理念是:凡是为进程服务的模块就应放在操作系统的内核中。

例如:文件管理模块是为进程服务的,所以应放在内核中;各驱动模块,各进程管理模块也放在内核中。随着进程对服务需求的增加,操作系统的内核就越来越大,随之也出现了一系列问题。

首先,由于内核是常驻内存的,因此大内核占用的存储空间就大,这样在硬件档次比较低,内存比较紧张的系统中就不太适用。所以,早期的安卓手机都是小内存,很不好用,没多久就卡了,原因就在此。现在安卓手机内存基本都是4G起,甚至6G、8G,就很少有卡了。

其次,维护起来也比较困难,假如内核中的某一个服务模块进行了修改,那么在修改之后就必须对整个系统进行一次编译,极不方便;

再次,使得处理器在内核运行的时间变长,从而不适合在速度要求较高的场合下应用。比如智能车机系统需要很快的反应速度才能保证驾车安全,这样就不太适用。

总之,宏内核操作系统的内核大到一定程度之后,会出现一系列因为大而产生的诸多问题。余承东就说,安卓有超过1亿行代码,内核就超过2000万行,但一般用户用到的代码不到8%,整体比较冗余,大多数也用不到。

为了解决这些问题,人们想了一系列的办法试图在满足应用程序所需服务的前提下把内核做小。

其中一个有效的办法是,把内核各个服务程序模块中的内容移到内核的外面作为一个进程来看待,在内核中只保留内核服务与用户进程的接口,或者说只保留一个内核“壳”。

在用户进程需要该服务时,由这个“壳”通过发送消息的方法与服务进程进行联系。这样,内核就变成了消息的转送站,内核就可以大大变小了。这种内核就叫做“微内核”。 

所以,宏内核的工作是直接调用模块中的函数来实现。而微内核是发消息给内核之外的进程来处理。

微内核的最根本思想就是要保持操作系统的内核尽可能小。内核越小,就越便于在不同的硬件系统间进行移植,对系统硬件的要求越低,硬件成本也可以做到足够低廉。这样就更普适各类简单硬件的智能家居、智能电器、智能车机等物联网设备。

万得选出的两市95只个股组成了“华为概念指数”,相对A股整体来说,最近表现可谓亮眼。

数据:Wind,日期:2018/11/14-2019/08/09

所以,未来华为的周边企业和合作伙伴会做什么?服务华为的操作系统的软件和硬件呗,谁的周边做得越好,生态协助得越完善,谁就越可能从中得益。就和当年的Windows和iOS一样。

风险提示词条

1. 中国证监会投资者保护局提醒您:投资证券,卖者有责,买者自负。

2.中国证监会投资者保护局提醒您:审慎评估风险,理性融资融券。