进程的描述与控制

前趋图和程序执行
前趋图
是指一个有向无循环图,DAG,用于描述进程之间执行的先后顺序。
- 每个结点可用来表示一个进程或程序段,乃至一条语句,结点间的有向边则表示两个结点之间存在的偏序或前趋关系。
- 进程(或程序)之间的前趋关系可用“→”来表示,如果进程Pi和Pj存在着前趋关系,可表示为(Pi,Pj)∈→,也可写成Pi→Pj,表示在Pj开始执行之前Pi必须完成。Pi是Pj的直接前趋,Pj是Pi的直接后继。
- 初始结点:没有前趋的结点;终止结点:没有后继的结点。
- 每个结点具有一个重量,表示该结点所含有的程序量或程序的执行时间。
- 前趋图中是不允许有循环的。
程序顺序执行
- 特征:(1)顺序性;(2)封闭性;(3)可再现性。
程序并发执行
- 只有不存在前趋关系的程序之间才有可能并发执行。
- 特征:(1)间断性;(2)失去封闭性;(3)不可再现性。
进程的描述
进程的定义和特征
是程序的一次执行(过程)。
是一个程序及其数据在处理机上顺序执行时所发生的活动。
是具有独立功能的程序在一个数据集合上运行的过程,是系统进行资源分配和调度的一个独立单位。
进程(进程实体/进程映像):是进程实体的运行过程,由程序段、相关的数据和进程控制块(PCB)构成。
- 通常,程序是不能参与并发执行的。
- 创建进程实质上是创建进程实体中的PCB,撤销进程,实质上是撤销进程的PCB。
- 特征:(1)动态性(最基本);(2)并发性;(3)独立性;(4)异步性
进程的基本状态与转换
- 就绪状态:进程已处于准备好运行的状态。
执行状态:进程已获得CPU,其程序正在执行的状态。
阻塞状态(等待状态/封锁状态):正在执行的进程由于发生某事件暂时无法继续执行时的状态。
创建状态
终止状态
配图2-6、7
挂起操作和进程状态的转换
配图2-8、9
进程管理中的数据结构
配图2-10
- PCB的作用:(1)作为独立运行基本单位的标志;(2)实现间断性运行方式;(3)提供进程管理所需的信息;(4)提供进程调用所需要的信息;(5)实现与其他进程的同步与通信。
- PCB中的信息:(1)进程标识符(外部标识符;内部标识符);(2)处理机状态(3)进程调度信息;(4)进程控制信息(程序和数据的地址;进程同步和通信机制;资源清单;链接指针)。
- PCB的组织方式:(1)线性方式;(2)链接方式;(3)索引方式。
配图2-11、12、13
进程控制
进程的创建
- 父进程:创建进程的进程;子进程:被创建的进程。
- 进程图
配图2-14 - 引起创建进程的事件:(1)用户登录;(2)作业调度;(3)提供服务;(4)应用请求。
- 进程创建步骤:(1)申请空白PCB;(2)为新进程分配其运行所需的资源;(3)初始化进程控制块;(4)如果进程就绪队列能够接纳新进程,便将新进程插入就绪队列。
进程的终止
- 引起进程终止的事件:(1)正常结束;(2)异常结束(越界错;保护错;非法指令;特权指令错;运行超时;等待超时;算术运算错;I/O故障);(3)外界干预(操作员或操作系统干预;父进程请求;因父进程终止)。
- 进程终止过程:
进程的阻塞与唤醒
- 引起进程阻塞和唤醒的事件:(1)向系统请求共享资源失败;(2)等待某种操作的完成;(3)新数据尚未到达;(4)等待新任务的到达。
- 进程阻塞(是进程自身的一种主动行为)过程
- 进程唤醒过程
进程的挂起与激活
进程通信
进程通信的类型
是指进程之间的信息交换。
- 类型:(1)共享存储器系统(共享数据结构;共享存储区);(2)管道(用于连接一个读进程和一个写进程以实现它们之间通信的一个共享文件)通信系统(互斥;同步;确定对方是否存在);(3)消息传递系统(直接通信;间接通信);(4)客户机—服务器系统(套接字【文件型;网络型】;远程过程调用和远程方法调用【若涉及的软件采用面向对象编程,远程过程调用可称为远程方法调用】)
消息传递通信的实现方式
- 直接通信(直接消息传递系统):发送进程利用OS所提供的发送命令(原语),直接把消息发送给目标过程。(1)直接通信原语:对称寻址方式(发送进程和接收进程都必须以显示方式提供对方的标识符,send(receiver,message):发送一个消息给接收进程;receiver(sender,message):接收发送进程发来的消息);非对称寻址方式(在接收进程的原语中不需要命名发送进程,只需要填写表示源进程的参数,即完成通信后的返回值;发送进程仍需要命名接收进程,send(P,message):发送一个消息给P;receiver(id,message):接收来自任何进程的消息,id变量可设置为进行通信的发送方进程id或其名字)。(2)进程的同步方式:发送进程阻塞,接收进程阻塞;发送进程不阻塞,接收进程阻塞;发送进程和接收进程均不阻塞;(3)通信链路(单向;双向)
- 间接通信(信箱通信):进程之间的通信需要通过某种中间实体(信箱)实现。(1)信箱结构:信箱头;信箱体。(2)信箱通信原语:信箱的创建和撤销;消息的发送和接收(send(mailbox,message):将一个消息发送到指定信箱;receiver(mailbox,message):从指定信箱中接受一个消息)。(3)类型:私用;公用;共享。
829

被折叠的 条评论
为什么被折叠?



