王道考研《2019年操作系统考研复习指导》第一章笔记 (2)

$8MN~WYV}OZEX64Q`UM_L

1.3操作系统的运行环境 1.3.1 操作系统的运行机制

OS中,CPU需要执行两种不同的程序:内核程序和应用程序。

前者是后者的管理者,所以需要执行一些后者所不能执行的”特权指令“:

I/O指令

置中断指令

存取用于内存保护的寄存器

送程序状态字到程序状态字寄存器

具体实现:划分了管态(核心态)和目态(用户态)来实现

操作系统的内核:

OS的最底层

与硬件关联较紧密的模块

时钟管理

中断处理

设备驱动

再上一层

运行频率较高的程序

进程管理

存储器管理

设备管理

内核的基本内容:

1.时钟管理

计算机中最重要的设备:时钟

时钟的功能:

计时

提供标准的系统时间

时钟中断

实现进程切换

分时OS:时间片轮转调度

实时OS:按截止时间控制运行

批处理:用时钟管理衡量一个进程执行的程度

2.中断机制

现代OS是靠中断驱动的OS

中断是OS各项操作的基础

键盘或鼠标的输入

进程的管理和调用

系统功能的调用

设备驱动

文件访问

中断机制中,只有一小部分属于内核,负责保护和恢复中断现场的信息

3.原语

不可再分的操作

特点:

处于OS的最底层,最接近硬件

只能一气呵成

时间短,调用频繁

定义原语最直接的方式是关闭中断

举个栗子

设备驱动

CPU切换

进程通信

4.系统控制的数据结构及处理

用来登记状态信息的数据结构:

作业控制块

进程控制块PCB

设备控制块

各类链表

消息队列

缓冲区

空闲区登记表

内存分配表

等等

常见操作:

进程管理:进程状态管理、进程调度和分派、创建和撤销PCB

存储器管理:存储器的空间分配和回收、内存信息保护程序、代码对换程序

设备管理:缓冲区管理、设备分配和回收

核心态指令包括系统调用类指令,对时钟、中断和原语的操作指令

1.3.2 中断和异常的概念

系统不允许用户程序实现核心态的功能,而它们又必须实现这些功能。

而从用户态进入核心态的”门“就是中断,是通过硬件实现的。

中断是现代操作系统中非常重要的概念:因为OS的发展方向就是不断提高资源利用率的过程,最直接的手段就是在程序并未使用某种资源时,将它对这种资源的控制权释放,这是通过中断实现的。

中断:

Interruption

来自CPU指令指令以外的事情发生

举个栗子

设备发出的I/O结束中断

时钟中断:时间片已到,让处理机处理计时、启动定时运行的任务

异常:

Exception

又称内中断、例外或陷入(Trap)

源自CPU执行的指令内部的事件

举个栗子

非法操作码

地址越界

算术溢出

虚存系统的内存缺页

专门的陷入指令

事实上,中断分为广义中断和狭义中断:
中断:

外中断(中断)

外设请求

人为干预

内中断(异常)

自愿中断——指令中断

强迫中断

硬件中断

软件中断

1.3.3 系统调用

凡是与资源有关的操作,都必须通过系统调用,由OS代为完成

系统调用的分类:

设备管理

文件管理

进程管理

进程控制

内存管理

OS的运行环境可以这样理解:

用户运行上层程序,需要OS支持时,通过硬件实现的中断进入内核态,也可能通过异常进入核心态。

当管理程序运行结束时,用户程序需要继续执行,则通过保存的程序现场退出中断处理或异常处理返回断点处

在操作系统中,我们关心的的是用户态和内核态的软件实现和切换,而非硬件。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zgzxzx.html