操作系统内核和处理器执行状态

通常将一些与硬件紧密相关的模块(如中断处理程序等)、各种常用设备的驱动程序以及运行频率较高的模块(如时钟管理、进程调度和许多模块公用的一些基本操作),都安排在仅靠硬件的软件层次中,将它们常驻内存,即通常被称为OS内核
目的:
1)便于对这些软件进行保护,防止遭受其他应用程序的攻击
2)可提高OS的运行效率

OS内核基本都包括了两大方面的功能:

1. 支撑功能 – 提供给OS其他众多模块所需要的一些基本功能

1)中断处理 — 内核最基本的功能,OS许多重要的活动,如各种类型的系统调用、键盘命令的输入、进程调度、设备驱动无不依赖于中断。

2)时钟管理 — 内核一项基本功能
时间片轮转调度 — 时间片用完时,便由时钟管理产生一个中断信号,促使调度程序重新进行调度。
在实时系统中的截止时间控制、批处理系统中的最长运行时间控制等

3)原语操作
原语 — 由若干个指令组成,用于完成一定功能的一个过程,区别是“原子操作”,即这个过程是一个不可分割的基本单位,执行过程中不允许中断。
原子操作在操作态下执行,常驻内存。
如用于对链表进行操作的原语、用于实现进程同步的原语等。

2. 资源管理功能
1)进程管理

功能模块运行频率较高为多种功能模块所需要
进程调度与分派、进程创建和撤销实现进程同步的原语、常用的进程通信原语

放在内核 — 提高OS性能

2)存储器管理
存储器管理软件的运行频率也比较高 — 如用于实现将用户空间的逻辑地址变换成物理地址的地址转换机构内存分配和回收的功能模块、实现内存保护和对换功能的模块等。

放在内核中 — 保证存储器管理具有较高的运行速度。

3)设备管理
放在内核 — 由于设备管理和硬件(设备)紧密相关
如各类设备的驱动程序、用于缓和CPU与I/O设备速度不匹配矛盾的缓冲管理、用于实现设备分配和设备独立性功能的模块等。

处理器的执行状态

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

系统态(管态、核心态)用户态(目态)
较高特权较低特权的执行状态
能执行一切指令,能访问所有寄存器和存储区仅能执行规定的指令,访问特定的寄存器和存储区

一般情况下,应用程序只能在用户态运行,不能去执行OS指令及访问OS指令。

©️2020 CSDN 皮肤主题: 1024 设计师:上身试试 返回首页