操作系统的运行环境
运行机制
辨析 | 核心态 | 用户态 |
---|---|---|
别称 | 管态、内核态 | 目态 |
程序 | 操作系统内核程序 | 用户自编程序(系统外层的应用程序) |
指令 | 可执行特权指令 | 不能执行特权指令 |
注:特权指令 I/O指令、置中断指令、存取用于内存保护的寄存器、送程序状态字到程序状态字寄存器等。
内核态 | 具体模块 | 特点 |
---|---|---|
高层 | 进程管理、存储器管理、设备管理等 | 与硬件关联较紧密 |
低层 | 时钟管理、中断处理、设备驱动等 | 运行频率较高 |
(1)时钟管理
时钟是最关键的设备。
功能
- 计时。 操作系统向用户提供标准的系统时间。
- 通过时钟中断的管理,可实现进程的切换。 例,分时操作系统通过时间片轮转调度,在实时系统中按截止时间控制运行;批处理系统通过时钟管理来衡量一个作业的运行程度等。
(2)中断机制
主要针对外部设备,提高运行环境中CPU的利用率。例如,键盘或鼠标信息的输入、进程管理和调度、系统功能的调用、设备驱动、文件访问等。**现代操作系统是靠中断驱动的软件。**中断机制中,只有一小部分功能属于内核,负责保护和恢复中断现场的信息。
(3)原语
具有以下特点的可被调用的公用小程序:
- 处于OS底层,最接近硬件;
- 程序运行具有原子性,操作一气呵成;
- 运行时间短,调用频繁。
系统中设备驱动、CPU切换、进程通信等功能的部分操作可定义为原语,使它们成为内核的组成部分。定义原语的直接方法是关闭中断,让其所有动作不可分割地完成后再打开中断。
系统控制的数据结构及处理
用来登记状态信息的数据结构:作业控制块、进程控制块(PCB)、设备控制块、各类链表、消息队列、缓冲区、空闲区登记表、内存分配表等。
基本操作
- 进程管理。 进程状态管理、进程调度和分派、创建与撤销进程控制块等。
- 存储器管理。 存储器空间分配和回收、内存信息保护程序、代码对换程序等。
- 设备管理。 缓冲区管理、设备分配、回收等。
中断和异常
用户态运行的程序需要实现核心态的功能时,可通过在核心态简历的一些“门”进入。