微内核

它为模块化拓展提供基础

关于微内核主要有以下几个问题

  • 内核必须有多小才能被称为微内核

  • 怎么设计才能获得最佳性能

  • 在内核空间还是在用户空间运行一个非内核的操作

  • 是保留子系统的代码还是从头开始

    微内核的体系结构

    微内核的基本原理是:把最基本的操作系统功能放到内核中,其他服务和程序在微内核之上构建,并在用户态下运行

尽管对于什么在微内核中,什么在微内核之外,不同的设计有不同的分界线

但是传统上属于操作系统一部分的功能都在外部子系统中

如:设备驱动程序,文件系统,虚存管理程序,窗口系统和安全服务

他们可以互相交互,也可以和微内核交互

微内核构建了单个计算机中的C/S模式,程序借助微内核传递消息给操作系统的部件,例如程序想打开一个文件,那么它就会通过微内核给文件系统服务进程发送消息

  • 接口一致:因为的服务是通过微内核进行消息传递提供的,因此进程不需要区分服务的级别(内核级别,用户级别)

  • 可拓展性:由于内核只负责传递消息,因此增加功能的话只需要修改服务选项列表,而不需要重写内核

  • 灵活性

  • 可移植性

  • 可靠性

由于不同的微内核具有不同的功能和大小

但是相同的是微内核必须包括直接依赖于硬件的功能

  • 低级存储管理
  • 进程间通信
  • I/O
  • 中断管理

微内核只需要负责把虚拟页映射到物理页框

而存储管理的大部分功能,包括页面置换算法,分页逻辑等都可以在内核外实现

当应用程序发生缺页中断的时候,内核就会给页面调度程序发送消息,表明引用的是哪一个页

一旦完成调度,那么页面调度程序就会给应用程序发送恢复执行的信息

微内核操作系统中进程与进程直接的通信的基本形式是消息

消息由:消息头,消息体组成

原文地址:https://www.cnblogs.com/gride-glory/p/7875654.html