华为鸿蒙系统发布,微内核操作系统是什么?
昨天华为在松山湖的华为开发者大会上正式宣布了鸿蒙操作系统,该系统其中一个亮点是 —— 微内核。华为声称,微内核的启用,使其速度大大提升,并且在安全性上产生变革性突破,微内核打破了宏内核下root即可获取用户所有权限的做法,在安全性上大大提升。
并且,华为已经给出了鸿蒙系统明确的走向。
今天,第一款搭载鸿蒙系统的产品 —— 荣耀智慧屏将正式发布。
2020 年,搭载鸿蒙系统的手机、PC、手表、手环都将面世。
接着是音箱、耳机等等。
不过还不能太激动,问题的关键在于:
鸿蒙 OS 是什么?有什么用?
华为官方将鸿蒙 OS 定义为基于微内核的全场景分布式 OS。
有四大特点:分布架构、天生流畅、内核安全、生态共享。
这些术语听起来比较复杂
什么是微内核呢?
微内核呢,就是内核的精简版,由一群尽可能将数量最小化的软件程序组成。
微内核显著的特征就是:小。
有多小?发布会上华为给出的最小内核只需要 10KB。
微内核结构由一个非常简单的硬件抽象层和一组比较关键的原语或系统调用组成;这些原语,仅仅包括了建立一个系统必需的几个部分;如线程管理,地址空间和进程间通信等。
微核的目标是将系统服务的实现和系统的基本操作规则分离开来。例如,进程的输入/输出锁定服务可以由运行在微核之外的一个服务组件来提供。这些非常模块化的用户态服务器用于完成操作系统中比较高级的操作,这样的设计使内核中最内核的部分的设计更简单。一个服务组件的失效并不会导致整个系统的崩溃,内核需要做的,仅仅是重新启动这个组件,而不必影响其它的部分
微内核将许多OS服务放入分离的进程,如文件系统,设备驱动程序,而进程通过消息传递调用OS服务.微内核结构必然是多线程的,第一代微内核,在内核提供了较多的服务,因此被称为'胖微内核',它的典型代表是MACH,它既是GNU HURD也是APPLE SERVER OS 的内核,可以说,蒸蒸日上.第二代微内核只提供最基本的OS服务,典型的OS是QNX,QNX在理论界很有名,被认为是一种先进的OS.
采用微内核设计的操作系统
微内核并非一个新的概念,它已经存在很长的历史,下列的操作系统都是基于微内核结构设计的:
AⅨ
BeOS
L4微内核系列
Mach,用于GNU Hurd和Mac OS X
Minix
MorphOS
QNX
RadiOS
VSTa
RT-Thread
知乎上有人对微内核下了一个结论:
Micro-kernel 已经失败。在商业级操作系统中(包括可以用于 mission critical 的 open source 操作系统),除了 L4 还在苦苦留有少量份额,没有任何 micro-kernel 的市场。
第一代 micro-kernel 是以一个错误的方式解决了一个错误的问题。而第二代 micro-kernel 不过是以正确的方式解决了错误的问题。