操作系统中的微内核:体系结构,优势

在学习MicroKernel之前,让我们了解:

什么是内核?

内核是管理系统资源的OS的重要组成部分。它还充当计算机软件和硬件之间的桥梁。它是引导加载程序之后在启动时加载的第一个程序之一。内核还负责为各种程序提供对机器硬件的安全访问。它还决定某个应用程序使用特定硬件的时间和时间。

什么是微内核?

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

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

什么是整体内核?

Monolithic Kernel在内核空间中运行所有基本系统服务,例如进程管理,内存管理,I / O通信以及中断处理,文件系统等。

在这种类型的内核方法中,整个操作系统在内核模式下作为单个程序运行。操作系统是作为过程的集合编写的,这些过程链接在一起成为一个大型可执行二进制程序。

微内核架构

对于正确实施操作系统,微内核是最重要的部分。您可以在下面的图表中看到,微内核完成了诸如内存,进程调度机制和进程间通信之类的基本操作。

基于微内核的操作系统

微内核是唯一在特权级别执行的软件。操作系统的其他重要功能已从内核模式中删除,并在用户模式下运行。这些功能可能是设备驱动程序,应用程序,文件服务器,进程间通信等。

微内核的组成

微内核仅包含系统的核心功能。只有将组件放在外面会中断系统功能时,它才包含在微内核中。所有其他非必需组件都应置于用户模式下。

微内核中要求的最低功能是:

  • 诸如地址空间之类的内存管理机制应包含在微内核中。它还包含内存保护功能。
  • 处理器调度机制应包含进程和线程调度程序。
  • 进程间通信管理运行自己的地址空间的服务器。

微内核和整体内核之间的区别

参量单片内核微内核
基本的这是一个在单个地址空间中运行的大型进程可以将其分解为称为服务器的单独进程。
为了编写单片内核,需要较少的代码。为了编写微内核,需要更多代码
安全如果服务崩溃,则整个系统将崩溃在单片内核中。如果服务崩溃,它将永远不会影响微内核的工作。
通讯它是一个静态二进制文件服务器通过IPC进行通信。
Linux,BSD,Microsoft Windows(95,98,Me),Solaris,OS-9,AIX,DOS,XTS-400等。L4Linux,QNX,SymbianK42,Mac OS X,Integrity等

微内核的优势

这是使用Microkernel的优点/好处

  • 微内核体系结构小且隔离,因此可以更好地发挥作用。
  • 微内核是安全的,因为仅包括那些会破坏系统功能的组件。
  • 系统的扩展更易于访问,因此可以在不干扰内核的情况下将其添加到系统应用程序中。
  • 微内核是模块化的,即使不接触内核也可以更换,重新加载,修改不同的模块。
  • 与单片系统相比,更少的系统崩溃。
  • 微内核界面可帮助您实施更具模块化的系统结构。
  • 无需重新编译,即可添加新功能
  • 服务器故障也和其他任何用户程序故障一样被隔离。
  • 微内核系统非常灵活,因此由不同服务器实现的不同策略和API可以共存于系统中。
  • 增加的安全性和稳定性将导致减少在内核模式下运行的代码量

微内核的缺点

这里是使用微内核的缺点/缺点:

  • 与普通的整体系统相比,在微内核系统中提供服务非常昂贵。
  • 将驱动程序分别实现为过程或过程时,需要进行上下文切换或函数调用。
  • 微内核系统的性能可能会有所不同,并可能导致一些问题。

概要:

  • 内核是管理系统资源的OS的重要组成部分。
  • 微内核是一种软件或代码,其中包含实现操作系统所需的最少数量的功能,数据和功能。
  • 在单核内核方法中,整个操作系统以内核模式作为单个程序运行
  • 对于正确实施操作系统,微内核是最重要的部分。
  • 微内核仅包含系统的核心功能。
  • 整体内核是在单个地址空间中运行的大型进程,而微内核可以分解为称为服务器的单独进程。
  • 微内核架构小且隔离,因此可以更好地运行
  • 与普通的整体系统相比,在微内核系统中提供服务非常昂贵

觉得文章有用?

点个广告表达一下你的爱意吧 !😁