在上届华为开发者大会上,华为正式发布了宏梦操作系统。
该系统的亮点之一是微内核。
华为声称,微内核的激活极大地提高了其速度,并在安全性方面取得了革命性的突破。
微内核打破了在宏内核下以root身份获取所有用户权限的做法,从而大大提高了安全性。
什么是微内核?微内核结构由一个非常简单的硬件抽象层和一组关键原语或系统调用组成。
这些原语仅包括构建系统所需的几个部分;微内核的目标是将系统服务的实现与系统的基本操作规则区分开来。
例如,进程的输入/输出锁定服务可以由微内核外部运行的服务组件提供。
这些非常模块化的用户模式服务器用于完成操作系统中的更高级的操作。
这种设计使内核最核心部分的设计更加容易。
服务组件的故障不会导致整个系统崩溃。
内核需要做的是在不影响微内核其他部分的情况下重新启动该组件。
许多OS服务都放在单独的进程中,例如文件系统和设备驱动程序。
程序和进程通过消息传递来调用OS服务。
微内核结构必须是多线程的。
第一代微内核在内核中提供了更多服务,因此被称为“胖微内核”。
它的典型代表是MACH,它既是GNU HURD,也是APPLE SERVER OS。
可以说,内核正在蓬勃发展。
第二代微内核仅提供最基本的OS服务。
典型的操作系统是QNX。
QNX在理论界是众所周知的,被认为是高级OS。
用微内核设计的操作系统微内核不是一个新概念。
历史悠久。
以下操作系统是基于微内核结构设计的:用于GNU Hurd和Mac OS XMinixMorphOSQNXRadiOSVSTaRT-Thread的AⅨBeOSL4微内核系列Mach,知道一些人已经得出有关微内核的结论:-内核已失败。
在商业级操作系统(包括可用于关键任务的开源操作系统)中,除了L4之外,它仍在努力保持一小部分份额,并且没有微内核市场。
第一代微内核以错误的方式解决了错误的问题。
第二代微内核只是以正确的方式解决了错误的问题。
是Linux单内核还是微内核Linux是单内核结构,同时它吸收了微内核的优点:模块化设计,支持内核模块的动态加载。
Linux还避免了微内核设计中的缺陷,允许所有内容以内核模式运行,无需调用消息即可直接调用函数。
早在1992年,Linus和Tanenbaum就操作系统内核的选择展开了著名的辩论。
Tanenbaum认为,从理论上讲,使用微内核体系结构设计的操作系统要优于宏内核体系结构,并主张应该使用微内核体系结构重新设计Linux。
但是,Linus从开发实践的角度发起了一次反击,阐述了Linux选择宏内核体系结构进行开发的原因,并比较了Minix和Linux之间的性能差异。
您可以在Wikipedia上阅读争议的全部详细信息。
Tanenbaum-著名的技术作家,教育家和研究员,IEEE高级会员,ACM高级会员,荷兰皇家艺术学院院士,1994年ACM Karl V. Karlstrom杰出教育奖,1997年ACM计算机科学教育杰出奖贡献奖,2002年,第十届ACM操作系统原则研讨会杰出论文奖,Texty优秀教科书奖,被列入“世界名人录”。
人员目录。
下图是宏内核(左)和微内核(右)的两个结构的简单架构图:当然,对于最终用户,我们不在乎采用哪种解决方案。
从现实情况来看,微内核似乎还有很长的路要走。
华为宏梦操作系统即将在终端上应用,我们非常期待宏梦系统能够尽快为终端用户提供服务。