操作系统中的微核

内核 是管理系统资源的操作系统的核心部分。它还充当计算机应用程序和硬件之间的桥梁。它是启动时加载的第一批程序之一(在引导加载程序之后)。

null

图片[1]-操作系统中的微核-yiteyi-C++库

CPU操作的内核模式和用户模式 CPU只有在内核模式下才能执行某些指令。这些指令称为特权指令。它们允许执行特殊操作,用户程序的执行可以与操作系统的功能或另一个用户程序的活动交互。例如,用于管理内存保护的指令。

  • 当CPU在内核中执行时,操作系统将其置于内核模式,这样内核就可以执行一些特殊的操作。
  • 当用户程序正在执行时,操作系统将CPU置于用户模式,因此用户程序无法与操作系统程序交互。
  • 用户级指令不需要特殊权限。例如添加、推送等。

Transistion from user to kernel mode

模式的概念可以扩展到两种以上,要求支持虚拟化的多个单模式位CPU使用这些额外位中的一个来指示虚拟机管理器VMM何时控制系统。VMM拥有比普通用户程序更多的权限,但不如完整内核那么多。

系统调用通常以软件中断的形式实现,这会导致硬件的中断处理程序将控制权转移到适当的中断处理程序,该中断处理程序是操作系统的一部分,在过程中将模式位切换到内核模式。中断处理程序准确地检查生成的中断,如果合适,检查附加参数(通常通过寄存器传递),然后调用适当的内核服务例程来处理系统调用请求的服务。

用户程序试图执行非法指令(特权或不存在的指令),或访问禁止的内存区域,也会产生软件中断,这些中断被中断处理程序捕获,控制权被转移到操作系统,操作系统会发出相应的错误消息,可能会将数据转储到日志(核心)文件以供以后分析,然后终止有问题的程序。

什么是微核? 微内核是内核的分类之一。作为一个内核,它管理着所有的系统资源。但在微内核中 用户服务 内核服务 在不同的地址空间中实现。用户服务保存在 用户地址空间 ,内核服务处于 内核地址空间 ,从而也减少了内核的大小和操作系统的大小。

图片[3]-操作系统中的微核-yiteyi-C++库

它提供最少的进程和内存管理服务。客户端程序/应用程序与用户地址空间中运行的服务之间的通信是通过消息传递建立的,降低了微内核的执行速度。操作系统 不受影响 由于用户服务和内核服务是隔离的,所以如果任何用户服务出现故障,都不会影响内核服务。因此,它增加了微内核的一个优点。这很容易 可扩展 i、 e.如果要添加任何新服务,它们将被添加到用户地址空间,因此不需要在内核空间进行修改。它还具有便携性、安全性和可靠性。

微内核架构—— 因为内核是操作系统的核心部分,所以它只用于处理最重要的服务。因此,在这种架构中,只有最重要的服务在内核中,其余的操作系统服务在系统应用程序中。因此,用户能够与系统应用程序中那些不那么重要的服务进行交互。微内核全权负责操作系统中最重要的服务,它们的名称如下:

  • 进程间通信
  • 内存管理
  • CPU调度

微内核的优势——

  • 这个内核的架构很小,而且是孤立的,因此它可以更好地运行。
  • 系统的扩展更容易,只需将其添加到系统应用程序中,而不会干扰内核。

Eclipse IDE 微内核就是一个很好的例子。

阅读下一篇—— 单片内核及其与微内核的关键区别

© 版权声明
THE END
喜欢就支持一下吧
点赞14 分享