操作系统 微内核
在本文中,您将学习关于微内核及其体系结构、优点和缺点。但在讨论微内核之前,您必须了解内核。
什么是内核
它是操作系统的核心组件,负责处理系统资源。它还充当计算机应用程序和硬件之间的桥梁。当计算机启动时,它是最早加载的程序之一。当操作系统加载时,内核是第一个加载到内存中并保持在那里直到操作系统关闭的组件。它负责各种活动,包括任务管理、磁盘管理和内存管理。
什么是微内核
微内核是内核的一种分类之一。作为内核,它处理所有系统资源。另一方面,微内核中的用户和内核服务是在不同的地址空间中实现的。 用户服务 保留在 用户地址空间 中,而 内核服务 保留在 内核地址空间 中。这有助于减小内核和操作系统的大小。
它提供了最少量的进程和内存管理服务。客户应用程序与在用户地址空间运行的服务之间的交互通过消息传递建立,有助于降低微内核执行的速度。操作系统不受影响,因为内核和用户服务是隔离的,因此如果任何一个用户服务失败,内核服务不受影响。它是可扩展的,因为新的服务添加到用户地址空间中,因此不需要对内核空间进行任何更改。它还具有轻量级、安全和可靠的特点。
微内核及其用户环境通常使用C++或C语言编写,一些高级代码可能使用其他实现编程语言。
微内核的体系结构
微内核是实现操作系统所需的最小化软件。它包括内存、进程调度方法和基本的进程间通信。
在上图中,微内核包括基本需求,例如进程调度机制、内存和进程间通信。它是唯一在特权级别(即内核模式)下执行的程序。操作系统的其他功能从内核模式转移到用户模式下执行。
微内核确保代码易于控制,因为服务在用户空间被分割。这意味着一些代码在内核模式下运行,从而提高了安全性和稳定性。
由于内核是最关键的操作系统组件,因此它负责提供基本服务。因此,在这种设计下,此体系结构中内核中只包含最重要的服务,而其余的操作系统服务则包含在系统应用软件中。因此,用户可以在系统应用程序中与这些不必要的服务进行交互。微内核完全负责操作系统的最重要服务,包括以下内容:
- 进程间通信
- 内存管理
- CPU调度
进程间通信
进程间通信指的是进程之间的互相交互。一个进程有多个线程。在内核空间中,任何进程的线程可以相互交互。使用端口发送和接收消息。在内核级别上,有几个端口,如进程端口、异常端口、引导端口和注册端口。所有这些端口与用户空间进程进行交互。
内存管理
内存管理是为进程在主内存中分配空间的过程。然而,还有为进程创建虚拟内存的过程。虚拟内存意味着如果一个进程的大小超过了主内存,它会被分割成几部分并存储。之后,逐个将进程的每个部分存储在主内存中,直到CPU执行它。
CPU调度
CPU调度指的是CPU将执行哪个进程。所有进程都排队并一个接一个地执行。每个进程都有一个优先级级别,具有最高优先级的进程首先执行。CPU调度有助于优化CPU利用率。此外,资源的使用更加高效。它还可以减少等待时间。等待时间显示进程在队列中所需时间较少,并且资源更快地分配给进程。CPU调度还可以减少响应和周转时间。
微内核的组成部分
微内核只包含系统的基本功能。只有当将组件放在外部会破坏系统运行时,才将其包含在微内核中。应该使用用户模式来进行所有其他非必要的组件。微内核中所需的最小功能如下:
- 微内核中也需要处理器调度算法。其中包括进程和线程调度器。
- 微内核中应该包含地址空间和其他内存管理机制。还包括内存保护功能。
- 使用进程间通信(IPC)来管理执行自己地址空间的服务器。
微内核的优缺点
微内核的各种优点和缺点如下:
优点
- 微内核很安全,因为只添加了可能会干扰系统功能的部分。
- 微内核是模块化的,各个模块可以进行交换、重新加载和修改而不影响内核。
- 微内核架构是紧凑且隔离的,因此可能会执行得更好。
- 系统扩展更容易,可以在不中断内核的情况下引入系统应用。
- 相对于单体系统,微内核系统崩溃较少。此外,由于微内核的模块化结构,任何发生的崩溃都可以轻松处理。
- 微内核接口有助于强制执行更模块化的系统结构。
- 服务器故障视为任何其他用户程序故障。
- 它可以在不重新编译的情况下添加新功能。
缺点
- 如果驱动程序以过程的形式实现,就需要进行上下文切换或函数调用。
- 在微内核系统中,提供服务比传统的单体系统更昂贵。
- 微内核系统的性能可能无关紧要并引发问题。