本文为你介绍微内核操作系统的定义,及其采用微内核设计的操作系统都有哪些?同时附有 Linux 是一个单内核结构的介绍,不过 Linux 还吸收了微内核的优点,所以系统表现相当的出色。微内核如今非常受关注,起因是华为鸿蒙操作系统有一个主要亮点:微内核,华为声称,微内核的启用,使其速度大大提升,并且在安全性上产生变革性突破,微内核打破了宏内核下 root 即可获取用户所有权限的做法,在安全性上大大提升,以下将为你介绍相关详情。

微内核的定义

微内核结构由一个非常简单的硬件抽象层和一组比较关键的原语或系统调用组成,这些原语,仅仅包括了建立一个系统必需的几个部分,如线程管理,地址空间和进程间通信等。

微核的目标是将系统服务的实现和系统的基本操作规则分离开来。例如,进程的输入/输出锁定服务可以由运行在微核之外的一个服务组件来提供。这些非常模块化的用户态服务器用于完成操作系统中比较高级的操作,这样的设计使内核中最内核的部分的设计更简单。一个服务组件的失效并不会导致整个系统的崩溃,内核需要做的,仅仅是重新启动这个组件,而不必影响其它的部分。

微内核将许多OS服务放入分离的进程,如文件系统,设备驱动程序,而进程通过消息传递调用OS服务.微内核结构必然是多线程的,第一代微内核,在内核提供了较多的服务,因此被称为'胖微内核',它的典型代表是MACH,它既是GNU HURD也是APPLE SERVER OS 的内核,可以说,蒸蒸日上,第二代微内核只提供最基本的OS服务,典型的OS是QNX,QNX在理论界很有名,被认为是一种先进的OS。

采用微内核设计的操作系统

微内核并非一个新的概念,它已经存在很长的历史,下列的操作系统都是基于微内核结构设计的:

AIX

BeOS

L4微内核系列

Mach,用于GNU Hurd和Mac OS X

MorphOS

QNX

RadiOS

VSTa

RT-Thread

附:网友对微内核下了一个结论

Micro-kernel 已经失败,在商业级操作系统中(包括可以用于 mission critical 的 open source 操作系统),除了 L4 还在苦苦留有少量份额,没有任何 micro-kernel 的市场。第一代 micro-kernel 是以一个错误的方式解决了一个错误的问题。而第二代 micro-kernel 不过是以正确的方式解决了错误的问题。

为你解释 Linux 究竟是单内核的还是微内核的

Linux 是一个单内核结构,同时又吸收了微内核的优点:模块化设计,支持动态装载内核模块,Linux 还避免了微内核设计上的缺陷,让一切都运行在内核态,直接调用函数,无需消息传递。

早在 1992 年,Linus 曾经与 Tanenbaum 进行一场关于操作系统内核选择的著名争论。Tanenbaum 认为,以微内核架构设计的操作系统,在理论上,比宏内核架构更加优越,主张Linux应该以微内核架构来进行重新设计。但是 Linux 创始人 Linus 以开发实务上的观点展开反击,陈述 Linux 选择宏内核架构进行开发的理由,并比较Minix与Linux的性能差异。

Tanenbaum,著名的技术作家、教育家和研究者,IEEE高级会员、ACM高级会员、荷兰皇家艺术和科学院院士、1994年ACM Karl V. Karlstrom杰出教育奖、1997年ACM计算机科学教育杰出贡献奖、2002年Texty卓越教材奖、第10届ACM操作系统原理研讨会杰出论文奖、被列入“Who's Who in the World”人物目录。

下图是宏内核(左)和微内核(右)两种结构的简单架构图:

当然对最终用户而言,我们并不在意采用何种方案,从现实情况来看,微内核似乎还有很长的路要走。但是华为鸿蒙操作系统的出现,将把微内核操作系统推向前所未有的高度。

相关主题

linux系统微内核,微内核操作系统的定义及用微内核设计的系统,附Linux是单内核结构介绍...相关推荐

  1. linux内核结构介绍

    参考:linux内核结构介绍.什么是shell 作者:丶PURSUING 发布时间: 2021-02-15 14:15:24 网址:https://blog.csdn.net/weixin_44742 ...

  2. linux内核结构介绍及驱动引入

    目录 一.Linux内核结构框图 二.图解linux系统架构 三.驱动认知 3.1 为什么要学习写驱动 3.2 文件名与设备号 3.3 open函数打通上层到底层硬件的详细过程 四.shell she ...

  3. 对Linux文件系统以及内核结构的基础认知

    1. 什么是文件系统? 常规认知: 文件系统即根目录,严格意义上讲根目录其实不能完完全全代表文件系统,但这样认为其实也能接受. 文件系统:文件系统是操作系统用于明确存储设备组织文件的方法,该方法就是文 ...

  4. java毕业设计游戏社区设计Mybatis+系统+数据库+调试部署

    java毕业设计游戏社区设计Mybatis+系统+数据库+调试部署 java毕业设计游戏社区设计Mybatis+系统+数据库+调试部署 本源码技术栈: 项目架构:B/S架构 开发语言:Java语言 开 ...

  5. mac linux 性能测试工具下载,8款SSD固态硬盘性能测试软件,适用于Windows、Linux、MacOS、安卓系统等不同操作系统的...

    虽然各存储厂商对SSD的读写参数都有说明,但通常是不太准确的.唯一值得相信的就是自己测试,用自己的真实环境得到真正的数据. 警告 - 请不要不必要地重复读/写测试你的SSD固态盘,重复读/写测试可能会 ...

  6. linux下字节类型怎么定义,linux的sys/types.h 基本系统数据类型

    sys/types.h 的 中文名称 为 基本系统数据类型 在应用程序源文件中包含 以访问 _LP64 和 _ILP32 的定义. 此头文件还包含适当时应使用的多个基本派生类型.尤其是以下类型更为重要 ...

  7. 知乎 高级操作系统_知乎高赞:Linux!为何他一人就写出这么强的系统,中国却做不出来?...

    林纳斯・本纳第克特・托瓦兹(Linus Benedict Torvalds, 1969 年-),著名的电脑程序员.Linux 内核的发明人及该计划的合作者. 托瓦兹利用个人时间及器材创造出了这套当今全 ...

  8. Linux!为何他一人就写出这么强的系统?

    公众号关注 "大鱼机器人" 设为 "星标",重磅干货,第一时间送达! 作者:默然 整理:张巧龙 他是谁,Linus! 林纳斯·本纳第克特·托瓦兹(Linus B ...

  9. 熊大微评微内核|华为“鸿蒙”所涉及的微内核究竟是什么?

    又一波微内核讨论,同时也见到网上太多的言论,甚至把RT-Thread物联网操作系统归类到微内核行列.所以重新把这篇科普文章发下,并做部分澄清. 本篇文章是RT-Thread新加入伙伴,俊小哥 对微内核 ...

最新文章

  1. kafka streams_如何使用Kafka Streams实施更改数据捕获
  2. 计算机二级能学到知识吗,2017年关于计算机二级msoffice学习知识点
  3. 直通BAT必考题系列:JVM的4种垃圾回收算法、垃圾回收机制与总结
  4. java instance变量_java 类方法和实例方法 以及 类变量和实例变量
  5. 那是计算机房吗不它不是 英语,人教PEP版英语四年级下册Unit 1《My School》单元测试卷及答案.doc...
  6. java第一次作业0
  7. 关于秩的等式与不等式总结
  8. 加州大学戴维斯计算机博士生,关于加州大学戴维斯分校博士研究生CSC奖学金信息分享会的通知...
  9. UIKit基础:6.UIView的常用属性 - SuperView和SubViews基本认识
  10. ACM Southwestern European Regional Programming Contest (SWERC) 2017 J 智商题(模m同余)
  11. xtrareport 修改行颜色
  12. a0图框标题栏尺寸_机械制图140标题栏-机械制图a0标题栏-机械制图图框标题栏标准...
  13. 深入理解JVM(程序编译与代码优化篇)
  14. 千山独行-一个人的创业路(连载一)
  15. csdn过滤广告谷歌浏览器插件
  16. Android权限说明大全
  17. 工业互联网 - SIS系统
  18. 血流动力学相关概念和定律
  19. 全站写作平台疯传24小时删除
  20. 加密货币技术架构(一)——BTC、ETH

热门文章

  1. OpenGL学习笔记(3)之渲染管线
  2. PLC故障排查步骤的思路和方法
  3. 初学者c语言编程软件_C初学者手册:仅需几个小时即可学习C编程语言基础知识
  4. Matlab学习-经纬度在matlab内置地图显示
  5. PADS导入【ORCAD原理图文件】【导入ORCAD16.3原理图】 【layout如何进行“ECO对比更新”】【打开文件出错:*因为当前设计处于默认层模式下........】
  6. Git 每次提交都需要输入密码
  7. RE|Nginx-安装与配置(1)
  8. 网易之小易最近在数学课上学习到了集合的概念,集合有三个特征:1.确定性 2.互异性 3.无序性.需要根据给定的w,x,y,z,求出集合中一共有多少个元素。
  9. 系统更新后出现dll文件丢失问题
  10. 请教modelsim中vlog的用法