转载

什么是微内核?微内核操作系统有哪些?微内核代码功能特性介绍及值得关注的微内核操作系统列表

2019年8月9日,华为在开发者大会上正式宣布了鸿蒙操作系统(Harmony OS),该系统其中一个亮点就是微内核。那么什么是微内核呢?微内核(microkernel)是一种内核设计架构,其设计理念是将系统服务与系统的基本操作区分开,由尽可能最小化的软件实现一个操作系统所需要的最基础机制(包括了底层地址空间管理,线程管理,进程间通信等),而其他操作系统的功能则由用户程序提供。

就代码数量来看,一般来说,因为功能简化,微核心使用的代码比集成式核心更少,其源代码通常小于10000行。例如,MINIX 3的源代码少于6000行。更少的代码,也代表更少的潜藏程序bug。

以下是微内核的一些特性:

  1. 模块化和可定制化:可在运行时替换、重载、修改、移除模块
  2. 安全性:组件只拥有必要的最低权限
  3. 崩溃更少:良好的隔离性可以让系统更好处理崩溃

以下是一些值得关注的微内核系统:

Minix 3

MINIX 3,一个自由软件专案,目标在于创造一个小型的类UNIX操作系统,具备高度可靠性与功能性。为Minix系统第三版,它的主要开发者为安德鲁·斯图尔特·塔能鲍姆,使用BSD许可证授权释出。采用微核心架构,它接续了先前MINIX 1与MINIX 2的发展成果,主要希望使用在小型嵌入式系统与教育之用。 所有2015年之后发布的英特尔芯片都在内部运行着MINIX 3,作为Intel管理引擎(Intel Management Engine)的组件。

Redox

Redox是用Rust语言写就的类Unix微内核操作系统。Redox追求可用性、自由和安全性,目标是把Rust语言的创新(安全、并发、实用)带入到现代的微内核和整套的应用程序。

GNU Hurd

Hurd是GNU操作系统的核心部分。GNU项目从1990年开始开发GNU Hurd,并且将它作为一个遵循GPL的自由软件发布。Hurd的目标是从功能、安全性和稳定性上全面超越传统Unix內核,而同时又能保持对其的兼容性,为此Hurd遵守POSIX标准。

“HURD”是一个间接递归缩写,来自“HIRD of Unix Replacing Daemons”,其中“HIRD”表示“HURD of Interfaces Representing Depth”。

seL4

2009年,Data61/CSIRO实现了对于其L4内核的形式化证明,并创造出世界上第一个此类的实用操作系统seL4。他们在2013年进一步证明了内核的信息流安全性,使得该系统成为最安全的操作系统之一。

Escape

Escape 是一个类Unix操作系统,可运行在 x86,x86_64,ECO32 和 MMIX 上。这是一个完全重新实现的系统,几乎没有使用第三方组件。为了符合Unix哲学,Escape使用虚拟文件系统来提供驱动和服务,这两者都对于用户来说看作是文件系统或者文件。

华为 鸿蒙 OS

由于使用被隔离的微内核设计,鸿蒙 OS 无法被取得 root 权限,在根本上有着更高的安全性。该系统同时使用形式化验证(Formal Verification)的方式,以更可靠地找出漏洞。虽然是个轻量的系统,鸿蒙 OS 提供了不少性能上的增进。首先,是一个名为「决定性延迟引擎(Deterministic Latency Engine)」的功能,让系统依据当下的资源用量分析,预测出更好的资源分配成式。鸿蒙 OS 并且有着更快速的跨程序通讯,让微内核和文件系统、网络、驱动程序、软件等之间,有着更快的通讯速度。

Google Fuchsia

2019年6月28日,谷歌官方制作的 Fuchsia OS 开发者网站 fuchsia.dev 悄然发布,推出这个网站主要是为了让开发者更好的参与到 Fuchsia OS 的开发中来。Fuchsia是Google开发的操作系统。Fuchsia基于新的名为Zircon的微内核,受Little Kernel启发,用于嵌入式系统,主要使用C语言和C++编写。Fuchsia的设计目标之一是可运行在众多的设备上,包括移动电话和个人计算机。

原文  https://www.shtion.com/80210.html
正文到此结束
Loading...