操作系统对进程的处理有以下三个目标:
- 操作系统必须交替执行多个进程,以保证处理器的使用率最大----->进程调度
- 操作系统必须为进程的执行分配资源,但是却容易导致---->死锁
- 进程之间需要通信---->通信
一、进程的状态
- 进程轨迹:执行进程的指令序列。可以给出各进程的轨迹是如何被交替的,来描述处理器的行为。
- 为交替地执行多个进程,进程需要不同的状态表示。
1.进程的创建和终止
- 导致进程创建的事件:新的批作业、交互登录、操作系统因为提供服务而创建、由现有的进程生成。
- 进程创建的步骤:建立管理进程的数据结构、给它分配内存、将进程加入到相应队列。
- 导致进程终止的原因:正常完成、超过时限、无可用存储器、越界、保护错误、算术错误、时间超出、I/O失败、无效指令、特权指令、数据误用、操作员或操作系统干涉、父进程终止、父进程请求。
2.进程的5状态
3.增加挂起状态
二、进程描述
- 操作系统为了控制进程和资源维护着4种不同类型的表:存储器、I/O、文件和进程。这些表以某种方式链接起来或者交叉使用。
- 进程映像:程序、数据、栈、进程控制块(属性的集合)。
- 进程属性:可以把进程属性分为三类:
- 进程标志:进程标志号、父进程标志号、用户标志号
- 处理器状态信息:用户可见寄存器、控制和状态寄存器(程序计数器、条件码、状态信息)、栈指针
- 进程控制信息:调度和状态信息(进程状态、优先级、事件、相关调度信息)、数据结构
进程间通信、进程特权、存储管理、资源所有权和使用
三、进程控制
- 执行模式:用户模式、内核模式
1. 进程创建
进程创建步骤如下:- 给新进程分配一个唯一的进程标志号。
- 给进程分配空间。
- 初始化进程控制块。
- 设置正确的连接。
- 创建或扩充其他数据结构。
2.进程切换
- 何时切换:时钟中断、I/O中断、存储器失效
- 模式切换:
- 保存当前正在执行程序的上下文(处理器状态信息)。
- 把程序计数器设置为中断处理程序的 开始地址。
- 从用户模式切换到内核模式。
- 进程切换
- 保存当前正在执行程序的上下文(处理器状态信息)。
- 更新当前处于运行状态的进程的进程控制块,包括把进程的状态改变到另一状态,及离开运行状态的原因和计帐信息。
- 把进程的进程控制块移到相应的队列。
- 选择 另一个进程执行。
- 更新所选择进程的进程控制块,包括把进行的状态变为运行。
- 更新存储管理数据结构。
- 恢复处理器在被选择的进程最近一次切换出运行状态时的上下文环境。
3.操作系统的执行
无进程的内核、在用户进程中执行、基于进程的操作系统。