1、前驱图
(1)、有向无循环图:
(1)作用:描述程序执行的先后顺序
(2)节点含义:一个进程、一个程序段、一个语句
初始节点:没有前驱的节点
终止节点:没有后继的节点
(3)权重:该节点所含有的程序量或者程序执行的时间
(4)有向边:进程或程序之间的前驱关系—>
前驱关系:只有当前一个节点结束时,后面的节点才能开始
偏序:节点之间有先后顺序,节点可以自循环
如果进程Pi和Pj存在前驱关系,可以表示为:( Pi , Pj ) ∈ —> 或者 Pi—>Pj,表示在Pj开始执行之前Pi必须完成。此时,称Pi为Pj的直接前驱,称Pj为Pi的直接后继。
前驱图中不允许有循环,否则会产生不可能实现的前驱关系。
S3在开始执行之前,S2必须完成,S2在开始执行之前,S3必须完成
2、程序的顺序执行
I:input
C:Compute
P:print
一个程序段包含若干条语句,也可能存在执行顺序问题
S1:a := x+y;
S2:b := a-5;
S3:c :=b+1;
3、程序的顺序执行的特点
(1)顺序性:处理机严格按照程序所规定的顺序执行,每个操作必须在下一个操作开始之前结束。
(2)封闭性:程序运行时独占全机资源,资源的状态(除初始状态)只有本程序才能改变它。
(3)可再现性:只要程序执行时的环境和初始条件相同,当程序重复执行的时候,不管是停顿还是走走停停,都可以获得相同的结果。
存在的问题:资源的利用率很低
4、程序的并发执行
5、程序并发执行时的特征
提高了系统的吞吐量和资源利用率,但是由于程序共享了系统资源,或者他们为了完成同一项任务而相互合作,导致这些并发执行的程序之间必将形成相互制约的关系。
(1)间断性
等在资源,执行-暂停-执行
(2)失去封闭性
系统的资源被共享/复用,失去独占性,资源的状态/执行环境可以被多个程序所修改
(3)不可再现性
当多个程序在访问/修改系统的资源/变量时,其执行顺序可能会发生改变,可能导致资源/变量/的状态不一致。
6、进程的描述
定义:进程是程序的执行过程,是系统进行资源分配和调度的一个独立单位。
(1)动态性
(2)并发性
(3)独立性
(4)异步性
7、进程的基本状态和转换
8、挂起操作和进程状态的转换
背景:
(1)用户需要。暂停执行程序,便于研究程序的执行情况,或对程序进行修改。
(2)父进程请求。父进程希望挂起自己的某个子进程,以便考察和修改子进程,或协调各自进程间的活动。
(3)负荷调节的需要。当实时系统中的工作负荷比较重,可能会影响对实时任务的控制室时,可由系统把一些不重要的进程挂起,以保证系统能正常运行。
(4)操作系统的需要。检查运行中的资源使用情况或进行记账(记录程的运行状态/资源等)
9、挂起操作和三个进程状态的转换
挂起原语:Suspend
激活原语:Active
10、进程管理中的数据结构
操作系统中用于管理控制的数据结构
PCB:使一个在多道程序环境下不能独立运行的程序,称为一个能独立运行的基本单位。
(1)当一个程序配置了PCB后,表示它具有了获得OS服务的权力。当系统创建一个新进程时,九尾它建立了一个PCB。进程结束时又收回其PCB。系统是通过PCB感知进程的。
(2)能实现间断性运行方式。进程处于阻塞状态时,它必须保留自己运行时的CPU信息/上下文;当被调度运行时,需要恢复其CPU信息/上下文。
(3)提供进程管理所需要的信息。PCB中记录的程序、数据段在内存或外存中的指针,通过这些指针找到需要的数据。PCB资源清单记录了进程需要访问的文件、I/O设备信息。
(4)提供进程调度所需要的信息。PCB记录了进程的当前状态。只有处于就绪状态的进程才能被调度。
(5)实现与其他进程的同步与通信。PCB中包含了进程不同步的信号量,通信队列指针。
11、PCB中的信息
1、进程标识符
(1)外部标识符:面向用户
(2)内部标识符:面向系统
2、处理机状态/处理机上下文
(1)通用寄存器:用户暂存数据/信息
(2)指令寄存器:下一条指令的地址
(3)程序状态字:状态信息(条件码、中断屏蔽标志等)
(4)用户栈指针:指向若干个系统栈,包含系统调用参数、调用地址。
3、进程调度信息
(1)进程状态:Ready/Running/Blocked
(2)进程优先级
(3)其他信息:已等待CPU的时间总和、已执行的时间总和等
(4)事件:阻塞原因。进程由执行状态变为阻塞状态所等待的事件。
4、进程控制信息
(1)程序和数据的地址。实体程序和数据的内训或外村地址。
(2)进程同步和通信机制。消息队列的指针、信号量等。
(3)资源清单。进程在运行期间所需要的全部资源(除CPU),已分配到该进程的资源的清单。
(4)链接指针。本进程所在对列的下一个进程的PCB的首地址。
12、进程控制块的组织方式
1、线性方式
2、链接方式
3、索引方式