进程的描述与控制
前趋图和程序执行
前趋图
有向无循环图 在前趋图中,把没有前趋的结点称为初始结点,把没有后继的结点称为终止结点。
程序顺序执行
- 程序的顺序执行
- 程序顺序执行时的特征
- 顺序性
- 封闭性
- 可再现性
程序并发执行
- 程序的并发执行
- 程序并发执行时的特征
- 间断性
- 失去封闭性
- 不可再现性
进程的描述
进程的定义和特征
- 进程的定义
- 进程是程序的一次执行。
- 进程是一个程序及其数据在处理机上顺序执行时所发生的活动。
- 进程是具有独立功能的程序在一个数据集合上运行的过程,它是系统进行资源分配和调度的一个独立单位。
每个并发执行的程序都有配置有个数据结构:进程控制块(PCB)——用于描述进程的基本情况和活动过程,进而控制和管理进程
进程实体的构成:程序段+相关的数据段+PCB
- 进程的特征
- 动态性
- 并发性
- 独立性
- 异步性
进程的基本状态及转换
- 进程的三种基本状态
- 就绪(Ready)状态
- 执行(Running)状态
- 阻塞(Block)状态
- 三种基本状态的转换
- 创建状态和终止状态
- 创建状态
- 终止状态
挂起操作和进程状态的转换
- 挂起操作的引入
- 终端用户的需要
- 父进程请求
- 负荷调节的需要
- 操作系统的需要
- 引入挂起原语操作后三个进程状态的转换
- 活动就绪→静止就绪
- 活动阻塞→静止阻塞
- 静止就绪→活动就绪
- 静止阻塞→活动阻塞
- 引入挂起操作后五个进程状态的转换
- NULL→创建
- 创建→活动就绪
- 创建→静止就绪
- 执行→终止
进程管理中的数据结构
- 操作系统中用于管理控制的数据结构
- 进程控制块PCB的作用
- 作为独立运行基本单位的标志
- 能实现间断性运行方式
- 提供进程管理所需要的信息
- 提供进程调度所需要的信息
- 实现与其它进程的同步与通信
- 进程控制块中的信息
- 进程标识符(PID)
- 外部标识符
- 内部标识符
- 处理机状态
- 进程调度信息
- 进程控制信息
- 进程标识符(PID)
- 进程控制块的组织方式
- 线性方式
- 链接方式
- 索引方式
进程控制
进程控制是进程管理中最基本的功能,主要包括创建新进程,终止已完成的进程、将因发生异常情况而无法继续运行的进程置于阻塞状态、负责进程运行中的状态转换等功能。 进程控制一般是由OS的内核中的原语来实现的。
操作系统的内核
- 支撑功能
- 中断处理
- 时钟管理
- 原语操作
- 资源管理功能
- 进程管理
- 存储器管理
- 设备管理
进程的创建
-
进程的层次结构
通常把创建进程的进程称为父进程,而把被创建的进程称为子进程。子进程可继续创建更多的孙进程。
-
进程图
-
引起创建进程的事件
- 用户登录
- 作业调度
- 提供服务
- 应用请求
-
进程的创建
- 申请空白PCB,为新进程申请获得唯一的数字标识符,并从PCB集合中索取一个空白PCB。
- 为新进程分配其运行所需的资源,包括各种物理和逻辑资源,如内存、文件、I/O设备和CPU时间等。
- 初始化进程控制块(PCB)。
- 如果进程就绪队列能够接纳新进程,便将新进程插入就绪队列。
进程的终止
-
引起进程终止(Termination of Process)的事件
- 正常结束
- 异常结束
- 外界干预
-
进程的终止过程
根据被终止进程的标识符,从PCB集合中检索出该讲程的PCB,从中读出该进程的状态; 若被终止进程正处于执行状态,应立即终止该进程的执行,并置调度标志为真,用于指示该进程被终止后应重新进行调度; 若该进程还有子孙进程,还应将其所有子孙进程也都予以终止,以防它们成为不可控的进程; 将被终止进程所拥有的全部资源或者归还给其父进程,或者归还给系统; 将被终止进程(PCB)从所在队列(或链表)中移出,等待其它程序来搜集信息。
进程的阻塞与唤醒
- 引起进程阻塞和唤醒的事件
- 向系统请求共享资源失败
- 等待某种操作的完成
- 新数据尚未到达
- 等待新任务的到达
- 进程阻塞过程
- 进程唤醒过程
进程的挂起与激活
- 进程的挂起
- 进程的激活过程
进程同步
进程同步的基本概念
- 两种形式的制约关系
- 间接相互制约关系
- 直接相互制约关系