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