Appearance
2.3 进程描述
操作系统是资源的管理者。采用表格(或数据结构)来记载各资源信息,从而实现对资源的管理、维护、更新等。
操作系统的控制结构
一、进程控制结构
1. 进程位置
进程的物理存在是什么?
- 进程对应的程序
- 进程对应的数据
- 栈:存放过程调用的地址或参数
- 进程的属性:如ID、状态、内存中的位置等
进程映像(Process Image):程序段+数据段+进程控制块(PCB)+栈
2. 进程属性
进程控制块的作用
进程存在的唯一标志
PCB(process control block)常驻内存
进程控制块中的信息
进程标识符
处理机状态信息
进程控制信息
3. 进程控制块中的信息
进程标识符
唯一地标识一个进程
内部标识符:操作系统为每个进程赋予的一个唯一整数,便于系统控制
父进程标识符:用于标识父进程
用户标识符:标识创建进程的用户
处理机状态信息
主要是由处理器的各种寄存器中的内容组成的
通用寄存器(用户可见寄存器)
- 通常有8-32个,暂存信息
控制和状态寄存器
- 程序计数器:存储下一条即将执行的指令的地址
- 控制和状态寄存器:程序状态字(PSW)寄存器,如Intel X86的EFLAGS寄存器,存放条件码(是否溢出、进位等)、执行方式(内核或用户模式)、中断屏蔽标志等
栈指针
- 存放过程和系统调用参数及调用地址
进程控制信息
与进程调度和进程切换有关的信息
调度和状态信息
- 进程状态:进程的当前状态,以及是否准备好运行
- 进程优先级
- 进程调度所需的其它信息,如进程已等待CPU的时间总和、进程已执行的时间总和等
- 事件,指进程由执行状态转变为阻塞状态所等待发生的事件,即阻塞原因
链接指针
- 如同一状态进程的链接;父子进程的链接
进程间通信
- 指实现进程同步和进程通信时必需的机制,如消息队列指针、信号量等
程序和数据的地址
- 指分配给进程的段表或页表的指针
资源所有权和使用情况
- 指示进程控制的资源,如打开的文件,处理器或其他资源的使用历史情况(供调度器使用)
4. 进程控制块的组织方式
索引方式
系统根据所有进程的状态建立几张索引表。
链接方式
通过链接指针将PCB块连接起来,形成队列。
- 单一队列:所有PCB块连接成一个队列
- 多级队列:相同状态的PCB块连接成一个队列
二、内核功能
内核(操作系统的核心):
- 操作系统中包含重要系统功能的部分。
- 常驻内存,便于提高操作系统运行效能。
不同操作系统对内核的功能范围的设定不同。
通常而言,操作系统内核的功能包括:
- 资源管理功能
- 支撑功能
1. 资源管理功能
进程管理
- 进程创建和终止
- 进程的调度和分派
- 进程切换
- 进程同步和进程间通信的支持
- 管理进程控制块
存储管理
- 为进程分配地址空间
- 交换
- 页和段管理
I/O设备管理
- I/O缓冲区的管理
- 为进程分配I/O通道和设备等
2. 支撑功能
中断处理
- 中断处理既是内核的基本功能,也是整个操作系统赖以活动的基础,操作系统的一切重要活动最终都依赖于中断。
时钟管理
- 操作系统的很多功能都依赖于时钟,如时间片控制等。
记账(统计、监测)功能
三、执行模式
1. 模式
大多数处理器至少支持两种模式:
与操作系统相关的处理器模式——内核模式(系统模式/控制模式)
与用户程序相关的处理器执行模式——用户模式
某些指令只能在特权模式下运行
- 读取和修改程序状态字之类的控制寄存器的指令
- 原始I/O指令
- 与内存管理相关的指令
部分内存只能在特权模式下访问
为什么采用两种模式?
保护操作系统和重要的操作系统表(如PCB)不受程序干扰。
处理机如何知道它在什么模式下执行?
程序状态字PSR寄存器中存在指示执行模式的位
当用户调用操作系统服务或中断促发系统例程时,相关位被置为内核模式
当从系统服务返回用户进程时,相关位被置为用户模式
2. 模式切换
系统模式和用户模式之间的相互转换。
出现中断时,系统会作如下工作:
- 将程序计数器置为中断处理程序的开始地址
- 从用户模式切换到内核模式,以便中断处理能执行特权指令
模式切换的原因(用户→系统)
系统调用或中断
模式切换是否会必然导致进程切换?
不一定 (如I/O中断不一定伴随进程切换)