1

微内核

微内核设计的基本思想是简化内核功能,在内核之外的用户态尽可能多地实现系统服务,同时加入相互之间的安全保护。内核只提供最基础的服务,比如多进程调度、多进程通信(IPC)等。其中进程通信是作为连接应用与用户态系统服务的桥梁。

安卓系统

Android是宏内核的,也就是把所有系统服务都放到内核里,这样的内核是庞大的,Android 操作系统 1 亿行代码,内核一项就超过 2000 万行代码,非常复杂。数据的交换和服务请求都在系统服务的代码之间完成,也是比较直接,高效的办法。

与安卓系统的区别

优点

1.微内核,内核小,可以实现形式化验证,能显著提高安全

2.系统服务模块化,可移植性高

缺点

1.通过进程通信的方式交换数据或者调用系统服务,而不是使用系统调用,造成额外的操作系统开销

2.系统服务之间频繁收发数据,可能存在时延

总结

Android 操作系统未来转向 Chorm PC、平板,手表有 Android 的系统、IoT 有 IoT 系统,谷歌也在开发下一代操作系统,Fuchsia,它是微内核的,可适配各种各样硬件终端,但是 Fuchsia 还不是分布式设计,性能还不够好,但是是微内核架构,可以看到整个操作系统未来发展方向是微内核的。

最佳贡献者
2

Linux有两种内核形式,一种是安卓系统用的宏内核,另一个就是华为的鸿蒙系统使用的是微内核,微内核的设计理念是尽可能的简化,在微内核操作系统中,内核是指精心设计的、能实现现代OS最基本的核心功能的部分。微内核并非是一个完整的OS,而只是操作系统中最基本的部分,它通常用于:

1、 实现与硬件紧密相关的处理;

2 、实现一些较基本的功能;

3、负责客户和服务器之间的通信;

4、它们只是为构建通用OS提供一个重要基础,这样就可以确保把操作系统内核做得很小。

所以简单地说,微内核就是把核心功能拆解得尽可能小,根据不同设备的需求自由组合,跟搭积木似的,同时还可以增强系统的安全性、可移植性、也能使分布式结构更加合理的运作,植入更多的插件程序,这是华为号称能跨不同平台部署的关键所在。

而安卓系统用的宏内核就比较庞大而复杂了,仅仅是代码就有几千万行,但是这种内核方式可以将手机系统所用到的所有驱动软件、底层代码、各种管理以及网络协议等都直接保存在了内核当中,运行效率非常高,响应速度也非常快,这是相比微内核的优势所在。

但是安卓的宏内核缺点也很明显,那就是安卓手机卡死、卡顿的情况,因为用这种内核方式保存的进程或者相关的内存数据只要有其中一个发生崩溃,那么面临着的就是整个系统的崩溃,所以稳定性方面,是“宏内核”的弱势。但是随着谷歌这几年的不断优化,还有手机硬件的爆发式提升,现在的安卓设备死机崩溃的现象已经少多了。

不管是微内核还是宏内核,两者都有自己的优点和缺点,但是微内核更加适合华为的战略设计思路,未来是物联网,万物互联的时代,华为想在手机、电脑、电视和其它消费设备领域全面开花,这样高效灵活的微内核自然是首选方案,加上华为自己的“方舟编译器”,可以极大程度的提高系统的响应速度和运算效率,这样一来也就能快速减少与安卓系统的差距。

3

从事嵌入式开发多年,要讲清楚这个事情真需要一定开发经验特别是关于linux上面的,首先微内核是相对于强内核而言,linux属于典型的强内核架构,从第一版本开始就是这个样子,首先linux设计者对于设计成强内核有自己的理由,更多是一些个性化的理由,当然也提出自己的一些意见,必须是祖师爷大家还是要尊重老人家的意见,概括起来大致有几个方面。

1.强内核机构看起来更加清晰明了,结构层次清晰简洁。

2.很重要的原因,因为linux代码是开源的,更加具备理想情怀,因为是开源的架构大家有的是时间把这个事情做的更加完美细致,如果这个事情放在一个商业化企业去做,可能架构就要跟着调整了,毕竟任何企业都要有时间点概念,这就是开源社区和商业化组织的最大区别。

3.linux

的强内核也就是但单个内核把里面的功能结构划分的十分清晰明确反而像极了微内核,linux结构层面简单明了,非常容易学习。

4.祖师爷认为单纯为了增加维护性而去牺牲效率是不值得,所说的效率就是指的是进程之间的通讯开销。

从以上四点就可以得出结论,Linux在设计上还是展示出很多的与众不同之处,但从安卓系统性能上讲这种单纯的强内核架构已经显示出来弊端了,如同余大嘴说到的现在安卓的代码差不多 有一亿行,但真正在运行只有8%的概率,所以在效率上有大打折扣,可以讲随着硬件以及软件发展趋势,微内核未来成为一种大的趋势,现在微内核做的比较好的属于美国黑莓公司的QNX系统,由于是收费系统在市面上推广的力度不是很大,主要用在进口车的里面的娱乐系统上面。

从技术角度解析强内核和微内核的区别

在功能简单单一的场景下强内核有着自己独特的优势。因为功能简单模块就比较少,代码量也相对少了许多,在这种情况下采用强内核容易维护,而且代码实现也比较简单。微内核主要针对运行场景非常复杂,功能模块极其复杂的场景而设计的。

要了解微内核首先要明白用户空间和内核空间的差异,在强内核中几乎涉及到设备驱动的代码都要运行在内核空间,用户在编写代码的时候就要创建一个进程,用户空间的代码通过内存映射的方式在访问内核空间的设备,在设备功能比较少的时候非常具有优势,但在多种设备融合在一起的时候这种设计弊端就出来了。微内核架构上是系统级功能非常简单就是提供进程之间的通讯基础,其余复杂的功能散落在各个服务里面,如果要调用别的功能模块通过进程之间的通讯来完成,能够支持多个服务在一个规则里面运行,所以讲在微内核架构里面融入安卓系统还是一件非常容易的事情,因为就是开设一个独立的服务在里面,所以华为公司敢拍着脑袋说鸿蒙系统兼容安卓不是多大的问题,只不过需要成熟的生态系统来支撑。

微内核架构就可以根据功能的差异划分成多种服务。如果是通讯比较频繁的可以单独放在一个服务里面,在设计上会灵活许多,华为的鸿蒙系统在理论上性能要强于安卓主要架构原理在于此,同时优化了进程之间通讯的机制,非常符合万物互联的架构,甚至讲连接不同的服务就如同连接不同的设备,完全在一个系统概念下通讯,特别是针对5G成熟后应用的连接,虽然看起来鸿蒙是被迫的产物,但现在看起来更像是未来生态的一个标准。

有些操作系统采用微内核和强内核结合方式,mach架构就是这种典型的代表,所以在苹果手机的流畅度相比安卓还是要流畅一些,这里面有架构方面的因素,随着后续手机功能的持续增加微内核已经是一种趋势了,但微内核是不是真的无懈可击了,答案是否定的。

微内核和强内核优缺点

微内核由于在服务之间通讯增加了传输的成本,如果数据交互的数据量非常大效率必然受到影响,但由于服务之间互相独立,一个模块出现问题了不会影响到别的进程。强内核在工作过程中同时加载的数据量太大,影响了整体性能,整体来讲两种体系架构各有优劣,不单纯的讲哪种方式最合适。

选择什么什么样子的架构主要和具体使用场景息息相关,合适的就是最好的,希望能帮到你。

4

感谢邀请!

鸿蒙系统采用的微内核。而安卓系统采用的是强内核。

强内核

强内核常常被称为宏内核或者是单内核,率属于操作系统中内核架构中的一种。简答的理解就是。强内核强大的地方就是把系统所需要用到的进程管理、网络协议、文件系统、驱动等等都封装到操作系统的内核中。

这种做法的显著优点就是所有的模块都集成到内核中,可以有效的提高数据的处理效率。

但是缺点就是随着集成的模块越来越多,整个内核不断的增大,内核中的模块会变得冗余化后,这样管理内核就变得比较麻烦。最重要的是假如其中某一模块出现问题(bug),整个内核就会陷入瘫痪状态。体现到手机层面的感观就是系统的稳定性变得极差。

微内核

微内核就是对内核中的东西进行了模块化设计,让内核中的每个模块都变为单独的进程,进程间互不打扰,而进程间的交互都是通过消息来进行传递。

微内核的显著优点就是:微内核相当于一个消息的转发站,对模块间的消息通信进行转发,最重要的就是单个模块一旦出现bug,不会影响整个内核的正常运行,简单的解决办法就是杀死这个问题进程。另外这种设计在内核功能的扩展以及模块间的隔离上有很大的帮助。体现到用户层面就是系统的稳定性变得很高。

微内核的缺点就是进程之间的通信会降低内核的工作效率、处理效率。

总结

安卓系统、Linux系统一直以来都是宏内核的代表。Windows系统时微内核的代表。

随着物联网的发展。未来需要分布式架构来支持多终端一系统的运行,多终端的操作系统中系统稳定性至关重要。而微内核也就是未来物联网系统的发展方向。

些许拙见,供您参考。

从事互联网开发多年,欢迎大家骚扰

5

微内核是一种系统架构,还有另一种架构叫宏内核。想要搞清楚微内核概念,首先搞清楚啥是系统。

操作系统

众所周知,电脑或手机搭载一个操作系统才可以使用。电脑操作系统Windows,苹果macOS,国内的麒麟0S,手机操作系统安卓,IOS,可能你还听说过linux、乌班图等等,这些都属于操作系统。

一般我们到手的设备都已经安装好了系统,直接现在我们需要的软件就可以使用了。

但其实操作系统本质上来说也属于一种软件,与我们使用的应用软件不同的是,它可以操控硬件。而应用软件则需要通过操作系统间接去使用硬件。

操作系统的主要代码就是内核,你可以这样理解:内核就是操作系统。

那为什么操作系统可以直接操控硬件呢?

上面说了操作系统本质上也是软件,那软件最终都会编译成二进制,由CPU执行。如果应用软件也可以直接操作硬件的话,如果恶意的开发者编译的程序带有病毒,直接会使硬件宕机或者给用户造成损失。

所以,计算机的CPU规定,“我只信赖操作系统的代码,不信赖应用程序的代码。如果应用程序代码遇到问题,操作系统你可以停止它。”

基于这样的规定,于是就有了系统权限和应用权限之分,只有获得系统权限,才可以去直接使用一些硬件。举个例子:以前很多安卓用户喜欢刷机,刷机则需要系统级别的权限-ROOT权限,这里的ROOT权限就是系统权限了,一般的用户软件是拿不到这个权限的。

我们搞清楚了内核就是操作系统,现在我们得搞清楚内核究竟做哪些事情?

1.控制CPU和内存
  • 控制CPU主要是多进度切换和通信。

多进程是什么?一般来说,一个软件就是一个进程。比如你从QQ切换到微信,这就 是多进程切换。

  • 控制内存主要是内存的分配

我们都知道手机有个物理内存,每个软件运行时都是需要内存的,当内存不足时,得 关闭部分运行的软件,来释放内存再进行分配。这就是打开的软件越多越卡的原因。

2.基础服务功能

  • 文件管理,文件的读取和保存
  • 网络通信,包括蓝牙、wifi、移动网络等
  • 图形服务,主要是图片和视频显示
  • 界面服务,可供用户交互的功能,比如屏幕的点击功能

3.驱动管理

每个硬件都需要有驱动才能工作,比如摄像头有摄像头驱动。为了支持更多的设备,就会有更多的驱动。比如你换了个鼠标,和上次的鼠标不是一个品牌,那就有可能驱动不一样,你得重新下载安装驱动才能使用。

微内核与宏内核的区别:它们是不同的系统架构

宏内核:所有的基础服务功能和驱动管理都在同一个内核中,并且都是需要系统权限才能操作。安卓系统就是宏内核架构,可以细品下你的安卓手机!

微内核:微内核则是相反,服务和功能基本都是不同的内核,遵循“能多小就要多小”的设计原则。华为的鸿蒙系统就是微内核架构,这就是鸿蒙能兼容安卓的原因。

早期的系统基本都是基于宏内核架构,像Windows、Android、iOS、macOS、Linux等等。微内核架构是伴随着宏内核架构发展,由于微内核架构下的每个服务和功能都不在同一个内核里,使用时需要切换,这会导致CPU耗时影响性能,所以微内核在近半个世纪都挤不上主流。

当然存在即合理,微内核的优点也是很吸引人的:

  • 开发维护效率高,每个功能和服务都是单一的内核,相互直接不干扰,无论是开发和维护,效率都会更高。在编程界有句老话:“代码不动没事,一动就出事”,所以写好的代码,能不动尽量不动,微内核很好的解决了这个问题。

  • 保证系统稳定性,每个内核都是独立互不干扰的,如果文件服务出了问题,不会影响到界面服务,系统重启下文件服务就好了。而不会像宏内核架构的系统那样蓝屏死机。这一点和后台微服务架构很像。

  • 保证系统安全性,单个内核的访问,每一次都需要确认访问权限。拿安卓手机举例,当你使用相机时,会弹窗提示拍照权限,你授权后下次在打开相机就不需要在授权,而微内核每次都会弹窗提示授权。这一点和后台服务的token机制很像,每次都要验证token有效性。
  • 系统可定制化更高,每个功能和服务都是独立的,如果需要文件服务,直接拿文件服务内核去开发就ok了,不用像宏内核那样复制整个内核再次开发。

现在微内核开始占据主动地位,是因为硬件快速的发展,已经可以抹平微内核导致的性能影响。

但微内核不会成为主流的系统架构,现在的主流系统架构,是宏内核和微内核混合使用。

与安卓系统有什么区别?

上面我们已经知道了微内核是什么:是一种系统架构,可以提高开发维护效率,保证系统稳定和安全性,方便系统定制化。

微内核属于虚的东西,而安卓是真实存在的,所以两种无法比较!

非要说区别的话,安卓系统唯一的区别就是:安卓使用的宏内核架构,而非微内核架构!

我是非著名攻城狮,如果我的回答对你有用,请点赞支持,感谢!

6

感谢您的阅读!

我们很多人对于微内核还是会有些一知半解,到底什么是微内核,为什么华为要使用微内核,这些都成了用户所关注的问题。

如果想要理解微内核,我们得先了解宏内核:

宏内核:把所有系统相关内容封装在内核中。这里用一些简单的话,我系统中的的内存管理,驱动,网络协议等等都集成在了内核中。

微内核:除了将核心的内容。比如内存管理,调度等等,其他的一些额外的功能都不在其中了。

我们如果画两个圈:

微内核会更小一点,而宏内核会更大一些!

明显的宏内核和微内核都是有缺点和优点的

宏内核:效率高,可是系统的稳定差。

微内核:稳定性好,可是效率比较低,开发难度比较大。

因为开发难度大,驱动都在其他非0状态,这种情况下,能够执行的效率不高。

但是,鸿蒙系统明知道这种“缺点”,却能够将这种问题解决,它通过了四种特性:

1.分布式架构首次用于终端OS,实现跨终端无缝协同体验

2. 确定时延引擎和高性能IPC技术实现系统天生流畅

3. 基于微内核架构重塑终端设备可信安全

4. 通过统一IDE支撑一次开发,多端部署,实现跨终端生态共享

四种特性的结合,让鸿蒙系统能够解决微内核的开发难度,带来极强的性能优势。

而安卓系统,因为使用宏内核,所以它需要通过虚拟机解决App和机器底层的互用;而华为鸿蒙系统通过使用调度优先级自己微内核,解决了系统的卡顿问题。

自然,我们现在等着鸿蒙系统能够解决生态问题后,应用于手机中,这是安卓系统的优势,而鸿蒙系统还有一段路要走。

7

“极客谈科技”,全新视角、全新思路,伴你遨游神奇的科技世界。

有“微”就有“宏”,两者是相互存在,相互辩证的一个关系组合。

  • 这里的宏内核,指的是UNIX、Linux等操作系统长期发展形成的一种内核形态;、

  • 这里的微内核,并非华为首次提出,谷歌的Fuchsia系统同样是局域微内核所开发。

那么,宏内核与微内核之间究竟有哪些差异,华为鸿蒙系统的微内核又有哪些技术优势呢?


什么是宏内核与微内核

UNIX、Linux操作系统就是典型的宏内核,将系统所有的需要支持的服务均放置在内核中。毕竟系统服务代码之间存在大量的数据计算,通过内核来进行处理,能够高效的完成数据处理的过程。但是,随着系统的不断发展,这种工作方式势必会导致内核越来越大,甚至是臃肿。这样,也就需要更高的硬件资源来支持这种宏内核的工作方式。

UNIX、Linux操作系统的宏内核代码就有上亿行,基于Linux内核开发的安卓系统内核代码同样高达两千万行。但是,手机端常用的代码仅为宏内核的6%左右,于是微内核的概念便产生了。

微内核指的是尽可能简化内核,将更多的用户服务程序放置在内核之外完成。内核仅仅放置最核心以及经常性需要使用到的程序代码。


华为鸿蒙系统基于微内核有哪些好处

华为鸿蒙系统的主要使用对象是万物互联的智能终端设备,不同设备的硬件资源也不同,那么如何才能够使得不同的硬件产品均使用华为鸿蒙系统呢?

华为鸿蒙的微内核设计就变得较为重要。使用微内核的设计,使得华为鸿蒙系统对于手机内存资源占用的要求不高。并非一定要2G、4G、甚至是8G的内存资源。即便内存的单位是M、K,华为鸿蒙系统同样能够使用。同时,华为鸿蒙系统能够实现模块化解耦,对应不同的设备可以进行弹性的部署。

微内核将会是未来智能设备发展的主流方向,安卓谷歌的Fuchsia系统同样使用了微内核的设计,但是对比华为鸿蒙系统又缺少了分布式这个重要的架构。


关于华为鸿蒙系统的微内核架构,您怎么看?

欢迎大家留言讨论,喜欢的点点关注。


8

目前微内核和安卓的比较应该最热的是鸿蒙系统了吧,华为雄心勃勃地发布了多平台操作系统HarmonyOS,关于它是否可以替代华为和荣耀智能手机的Android系统的大家猜测很多

但是,该公司透露了有关Harmony OS的许多细节,看来他们对鸿蒙OS的计划不仅限于使它成为Android竞争对手。

什么是微内核?

微内核是一种软件或代码,其中包含实现操作系统所需的最少数量的功能,数据和功能。它提供了最少数量的机制,足以运行操作系统的最基本功能。它允许实施操作系统的其他部分,因为它没有施加很多策略。

微内核及其用户环境通常是用C ++或C编程语言实现的,只需要一点点汇编即可。但是,通过一些高级编码,其他实现语言也是可能的。

鸿蒙OS与Android比较

HarmonyOS与Android区别的根本原因是它的核心不包含Linux。华为为其未来操作系统开发了全新的微内核。

华为消费者业务部门首席执行官将HarmonyOS与Google正在开发的基于Zircon微内核的Fuchsia OS进行了比较。

微内核的大小比单内核(例如Linux)小,因为它仅包含运行操作系统所需的最少代码。华为的微内核仅包含线程调度和IPC,因此大约具有Linux内核中现有代码的1/1000。所有其他服务,例如文件系统,设备驱动程序,网络驱动程序等,都在用户空间中运行。

在这种情况下,进程间通信(IPC)成为OS整体性能的重要因素。华为声称其微内核提供的IPC速度比紫红色快5倍,比QNX微内核快3倍。

并不是Android的竞争对手

目前,华为坚决认为HarmonyOS并不是Android的直接竞争对手。他们想继续使用Android,但是如果公司被赶出美国(以及Android生态系统),他们可以在一两天内将智能手机切换到HarmonyOS。

最初,华为将专注于将操作系统引入智能屏幕,智能扬声器,汽车主机等。在其最新发布的技术预测白皮书中,华为预计到2025年将有大量基于AI,IoT和5G的技术。为此类设备设计OS似乎是一个很好的面向未来的举措。

因此,更多的是公司制定的计划B。鉴于中美之间日益紧张的关系,据推测,华为可以与HarmonyOS一起使用于即将推出的Mate 30系列。截至目前,该设备尚未获得Google Play认证,这是在其上预加载Android OS和Google服务所必需的。

理论上比Android快

华为正在使用“分布式操作系统”作为其在智能手机行业中销售其最新产品的新产品。HarmonyOS使用分布式任务调度和分布式数据管理来提高其性能。

华为认为,其“分布式” HarmonyOS的性能优于Android,原因是Android使用了大量冗余代码,过时的调度机制并且存在碎片问题。

其微内核部署了一种称为“确定性延迟引擎”的新调度机制,该机制使用实时负载分析,应用程序特征匹配和预测来更好地分配系统资源。

华为声称,鸿蒙OS已将响应延迟提高了25.7%,延迟波动提高了55.6%。以高速公路为例,华为表示Linux流行的公平调度机制以相同的方式对待所有资源,从而降低了性能。但是,直到实际的操作系统进入人们的手中,才能预测最终的结果。

9

Android不是微内核,Android属于宏内核!两者有着本质区别!


操作系统分为:宏内核与微内核!

20世纪70年代初诞生的UNIX系统可以说是那一时期最好的操作系统,随着计算机技术的快速发展。在UNIX系统功能变的越发强大的同时,内核代码量也在快速的膨胀,带来的弊端也随之出现,系统的可靠性、代码的可维护性和稳定性都存在着问题。

为了解决这些问题,业界开始反思UNIX系统设计。从重构UNIX代码和架构开始,人们尝试把UNIX内核提供的一些服务和功能放到内核外,把执行在特权级别的内核代码缩到最小,内核只提供基本的服务,而用户空间程序承担尽可能多的原来驻留在内核空间的功能。

这就诞生了第一代微内核Mach。由于第一代微内核性能太差,很快就被业界所遗忘,但是人们并没有停止对微内核的研究,随后推出的第二代、第三代微内核都得到了很好的发展。当然,与此同时作为宏内核的代表Linux和Windows系统也在快速的发展。

作为操作系统发展的两大分支——微内核和宏内核,他们有着截然不同的设计理念。宏内核将所有的系统功能(包括内存管理、文件系统、设备驱动等)都在内核里实现,而微内核则只在内核中保留了必须在内核态运行的功能,而把其他功能都移至用户态以服务线程的方式来实现。

这种设计方法使得微内核本身的体积大大减小。同时,运行于微内核之上的用户态的系统服务由于处于各自的地址空间之内,保证了服务之间的强隔离。这种设计思想,给予了基于微内核的操作系统高度的可重构性、稳定性和可靠性。

小结:操作系统按照设计思路,分为宏内核与微内核

宏内核与微内核,孰优孰劣?

关于微内核和宏内核孰优孰劣的讨论,业界也一直没有停息过。1992年Andrew Tanenbaum(Minix系统设计者)和Linus Torvalds(Linux内核创始人)之间进行了一场关于“Microkernel vs Monolithic kernel”的长篇邮件论战,论战也吸引了众多操作系统方面的顶级黑客参加。

因为当时微内核还处在学术研究阶段,且有着严重的性能缺陷,最终大家得到的一致结论则是微内核不如宏内核。14年后的2006年,两人再次对这个话题进行了论战,这时候Andrew Tanenbaum明显有了底气,因为在这十几年中微内核解决了令人诟病的性能问题,并且在嵌入式系统领域(航空航天、汽车电子、无线通讯、医疗设备等)愈发得到市场的认可。所以我们不能简单的评判微内核和宏内核哪一个更好,作为操作系统设计的两种思路,两者各有优缺点,随着技术的进步,二者也在相互的借鉴。可以确切的说,只要操作系统还在发展,关于二者的讨论就不会停止。

宏内核与微内核比对:

IPC性能耗时分析:

从目前的研究热点来看,更多的人把目光投向了微内核,利用微内核在实时系统及嵌入式虚拟化领域的优势,来解决现有的嵌入式操作系统的安全性问题。OK Labs提出的Microvisor概念,即具有虚拟化功能的微内核,就是一个很好的案例。L4微内核家族的众多成员,如Fiasco.OC、NOVA、Codezero以及seL4都有虚拟化方面的应用。

小结:宏内核和微内核的应用场景不同,尺有所短,寸有所长

微内核的发展经历

微内核的发展大致经历了三个阶段:

  • 以Mach为代表的第一代微内核,作为微内核概念早期尝试,在系统性能上表现很差;
  • 以L4为代表的第二代微内核,采用了全新的设计理念,突破了微内核的性能制约,为微内核的实用化奠定了基础;
  • 以OKL4、FOC和seL4为代表的第三代微内核,引入了权能控制,大大提高了微内核系统的安全性,同时seL4还通过了完整的形式化验证,这将微内核的安全性又提高到了一个新的等级。

OKL4微内核是澳大利亚新南威尔士州立大学操作系统研究小组和澳大利亚国家信息和通信技术部(NICTA)基于他们的第二代微内核Pistachio-embedded所开发的。目前OKL4有两个版本:开源的OKL4 Microkernel和闭源的OKL4 Microvisor。OKL4 Microvisor是商业化的L4微内核,Microvisor是Microkernel + Hypervisor的缩写,强调OKL4微内核本身的Hypervisor属性,所以它既可以作为Hypervisor运行多个操作系统,也能作为Microkernel运行独立程序。Microvisor拥有包括资源管理以及具有实时功能和低性能开销的调度功能。

从目前的研究热点来看,更多的人把目光投向了微内核,利用微内核在实时系统及嵌入式虚拟化领域的优势,来解决现有的嵌入式操作系统的安全性问题。OK Labs提出的Microvisor概念,即具有虚拟化功能的微内核,就是一个很好的案例。L4微内核家族的众多成员,如Fiasco.OC、NOVA、Codezero以及seL4都有虚拟化方面的应用。


小结:微内核的短板是性能,但是随着硬件平台性能的提升,瓶颈不在

智能终端给予微内核发展的新机

美国在微内核领域的研究也是处于世界领先的地位,从早期的Mach项目开始,到后来的DTMach(Distributed Trusted Mach)项目,再到DTOS(Distributed Trusted Operating System)项目,这些项目都是利用微内核打造一款安全操作系统,参与者包括美国国家安全局(NSA)和美国安全计算公司(SCC)。还有一家美国公司,绿山软件(Green Hills SoftWare),作为全球最大的独立嵌入式系统开发解决方案提供商在微内核领域也颇具实力,他们利用微内核研制的Integrity-178B Real-time Operatiing System已经达到CC标准(信息技术安全评估标准)的EAL6+安全等级(最高为7级),其主要应用于军用航空电子设备中。

移动终端的使用是操作系统发展的里程碑式推动事件,全球超过百亿的终端类设备,使得智能化操作系统有了极大的发展。主流的智能手机操作系统有Symbian OS、Android OS、Windows Phone、iOS、Blackberry等。按照源代码、内核和等的划分,智能手机操作系统可分为开放型平台(基于Linux内核)和封闭型平台(基于UNIX 和Windows 内核)两大类。但是随着产品的发展,现在市面上,主要以Android和IOS的市场占有率最大。

随之智能设备的兴起,智能终端的广泛部署,移动终端市场是嵌入式领域最为活跃而且规模最大的市场之一,嵌入式领域对小型化、微结构的操作系统的迫切需要,推动了微内核技术的迅猛发展。微内核逐渐被智能终端厂商接受——苹果IOS使用微内核架构!华为鸿蒙采用微内核架构!Google的下一代操作系统Fuchsia也采用微内核架构。

随着5G商用的快速推进,物联网发展进一步提速,智能穿戴、智能家居和车联网等产品都离不开终端的参与,为了实现物联网统一发展、统一平台,实现全场景、全能型操作系统。Google、苹果和华为,均在操作系统层面推出了各自的产品,可以说微内核是决战未来、面向5G的“未来操作系统”。

小结移动终端和5G将是微内核的主战场

与Android系统的关系

Android是一种基于Linux的自由及开放源代码的操作系统,主要使用于移动设备,如智能手机和平板电,由Google公司和开放手机联盟领导及开发,该平台由操作系统、中间件、用户界面和应用软件组成。

Android的操作系统代码在1亿行以上,仅内核部分代码就多达2000万行。微内核的基本特点是,内核态和用户台分离,基础服务与系统基本操作分离,各个服务客体运行隔离的进程,使用消息机制进行通信。

Android本质是宏内核,虽然使用的是经过裁剪后的Linux,但是本质是未变的,但架构上参考了微内核的设计,所有的程序都运行在虚拟机中的,每个虚拟机之间是相互隔离的,仅此而已。

总结

微内核架构上是在系统上构建及简的系统功能,仅提供进程之间的基础通讯,其余复杂的功能散落在不同的服务里,所以在微内核架构里面融入安卓系统在技术层面是一个可以容易实现的事,所以华为的鸿蒙系统可以兼容Android。Android操作系统也在发展,Google面向下一代操作系统的Fuchsia是Android的替代品,可以看出未来操作系统的发展方向是微内核,面向未来多场景,全适配是操作系统厂商的梦想,这个梦想要依靠微内核来实现。

10

非常高兴回答您的这个问题,我也是一名科技领域创作者,平时没事也喜欢看看科技相关的新闻,对于这个问题非常感兴趣,在这里发表一点自己的理解和看法,欢迎大家一起讨论,接下来我们一起来看看:

微内核

微内核设计的基本思想是简化内核功能,在内核之外的用户态尽可能多地实现系统服务,同时加入相互之间的安全保护。内核只提供最基础的服务,比如多进程调度、多进程通信(IPC)等。其中进程通信是作为连接应用与用户态系统服务的桥梁。

与安卓系统的区别

优点

1.微内核,内核小,可以实现形式化验证,能显著提高安全

2.系统服务模块化,可移植性高

缺点

1.通过进程通信的方式交换数据或者调用系统服务,而不是使用系统调用,造成额外的操作系统开销

2.系统服务之间频繁收发数据,可能存在时延

总结

Android 操作系统未来转向 Chorm PC、平板,手表有 Android 的系统、IoT 有 IoT 系统,谷歌也在开发下一代操作系统,Fuchsia,它是微内核的,可适配各种各样硬件终端,但是 Fuchsia 还不是分布式设计,性能还不够好,但是是微内核架构,可以看到整个操作系统未来发展方向是微内核的。

以上就是我对这道问题的所有理解和看法,谢谢大家阅览,如果对小编的回答感兴趣可以关注我!大家一起讨论研究。

最后祝大家:

心想事成!天天开心!事业有成!

在头条渡过一段难忘的快乐时光!谢谢!


你的回答

单击“发布您的答案”,即表示您同意我们的服务条款