Kernel

内核

现在操作系统一般划分为若干层次,在将不同功能分别设置在不同的层次中。通常将一些与硬件紧密相关的模块(如中断处理程序等)、各种常用设备的驱动程序以及运行频率较高的模块(如时钟管理、进程调度和许多模块所公用的一些基本操作),都安排在紧靠硬件的软件层次中,将它们常驻内存,即通常被称为的OS内核。这种安排的目的:

  • 便于对这些软件进行保护,防止遭受其他应用程序的破坏

  • 提高OS的运行效率

为了防止OS本身以及关键数据(如PCB等)遭受到应用程序有意或无意的破坏,通常也将处理机的执行状态分成系统态和用户态两种:

  • 系统态:

    • 又称管态,也称为内核态

    • 具有较高的特权,能执行一切指令,访问所有寄存器和存储区

  • 用户态

    • 又称为目态

    • 具有较低特权的执行状态

    • 仅能执行规定的指令

    • 访问指定的寄存器和存储区

功能

  • 支撑功能

    • 终端处理

    • 时钟管理

    • 原语操作

      • 原语就是若干条指令组成的,用于完成一定功能的一个过程

      • 原语是原子操作

  • 资源管理功能

    • 进程管理

    • 存储器管理

    • 设备管理

微内核

基本概念

  • 足够小的内核

  • 基于客户/服务器模式

    • 优点

      • 数据的分布处理和存储

      • 便于集中处理

      • 灵活性和可扩充性

      • 易于改编应用软件

    • 将操作系统中最基本的部分放入内核中,而把操作系统的绝大部分功能都放在微内核外面的一组服务器(进程)中实现,比如:进程(线程)管理服务器、虚拟存储器服务器、I/O设备管理服务器。它们被作为进程来实现,运行在用户态。

    • 客户与服务器之间借助微内核提供的消息传递机制来实现信息交互

  • 应用 机制与策略分离 原理

    • 机制是指实现某一功能的具体执行结构

    • 策略是指在机制的基础上借助于某些参数和算法来实现该功能的优化,或达到不同的功能目标

    • 在微内核操作系统中,将机制放在微内核中

  • 面向对象技术

基本功能

  • 进程(线程)管理

    • 通信

    • 调度

    • 切换

  • 低级存储器管理

    • 页表机制

    • 地址变换机制

  • 中断和陷入处理

微内核的优点

  • 提高了系统的可扩展性

  • 增强了系统的可靠性

  • 可移植性强

  • 提供了对分布式系统的支持

  • 融入了面向对象技术

存在的问题

  • 效率降低

    • 完成一次客户对操作系统提出的服务请求时,需要利用消息实现多次交互和进行用户/内核模式与上下文的多次切换

解决办法

  • 重新把一些常用的基本功能放入微内核

    • 使微内核体积增大

    • 小型接口定义和适应性下降

    • 提高了微内核的设计代价

最后更新于

这有帮助吗?