操作系统学习笔记(二)
第二章 进程的描述与控制
2.1 前趋图和程序执行
2.1.1 前趋图(Precedence Graph)
- 前趋图:用于描述程序执行的先后顺序,是一个有像无循环图(DAG:Directed Acyclic Graph)
- 图中的节点:表示一个进程或程序段
- 图中有向边:表示两个节点之间的偏序关系/前趋关系
- 表示:$ (P_i,P_j)∈→ , 也 可 以 表 示 为 : ,也可以表示为: ,也可以表示为:P_i→P_j , 或 者 : ,或者: ,或者:(P_i,P_j)$
- 此时称: P i P_i Pi是 P j P_j Pj的直接前趋, P j P_j Pj是 P i P_i Pi的直接后继
- { 初 始 节 点 : 没 有 前 趋 终 止 接 点 : 没 有 后 继 \begin{cases} {初始节点:}{没有前趋}\\ {终止接点:}{没有后继}\end{cases} {初始节点:没有前趋终止接点:没有后继
注:前趋图中不允许有循环
具 有 9 个 节 点 的 前 趋 图 具有9个节点的前趋图 具有9个节点的前趋图
如图所示前趋图中,前趋关系是:
P 1 → P 2 , P 1 → P 3 , P 1 → P 4 , P 2 → P 5 , P 3 → P 5 , P 4 → P 6 , P 4 → P 7 , P 5 → P 8 , P 6 → P 8 , P 7 → P 9 , P 8 → P 9 P_1→P_2,P_1→P_3,P_1→P_4,P_2→P_5,P_3→P_5,P_4→P_6,P_4→P_7,P_5→P_8,P_6→P_8,P_7→P_9,P_8→P_9 P1→P2,P1→P3,P1→P4,P2→P5,P3→P5,P4→P6,P4→P7,P5→P8,P6→P8,P7→P9,P8→P9
或表示为:
P = { P 1 , P 2 , P 3 , P 4 , P 5 , P 6 , P 7 , P 8 , P 9 } = { ( P 1 , P 2 ) , ( P 1 , P 3 ) , ( P 1 , P 4 ) , ( P 2 , P 5 ) , ( P 3 , P 5 ) , ( P 4 , P 6 ) , ( P 4 , P 7 ) , ( P 5 , P 8 ) , ( P 6 , P 8 ) , ( P 7 , P 9 ) , ( P 8 , P 9 ) } P=\lbrace P_1,P_2,P_3,P_4,P_5,P_6,P_7,P_8,P_9\rbrace=\lbrace (P_1,P_2),(P_1,P_3),(P_1,P_4),(P_2,P_5),(P_3,P_5),(P_4,P_6),(P_4,P_7),(P_5,P_8),(P_6,P_8),(P_7,P_9),(P_8,P_9)\rbrace P={P1,P2,P3,P4,P5,P6,P7,P8,P9}={(P1,P2),(P1,P3),(P1,P4),(P2,P5),(P3,P5),(P4,P6),(P4,P7),(P5,P8),(P6,P8),(P7,P9),(P8,P9)}
2.1.2 程序顺序执行
1、程序的顺序执行
- 程序段操作—节点
- 输入操作——I
- 计算操作——C
- 打印操作——P
- 操作顺序——→
前趋关系: I i → C i → P i I_i→C_i→P_i Ii→Ci→Pi 前趋图如图(a)
( a ) 前 趋 图 (a)前趋图 (a)前趋图
2、程序顺序执行时的特征
- 顺序性
- 封闭性
- 可再现性
2.1.3 程序并发执行
1、程序的并发执行
程 序 并 发 执 行 时 的 前 趋 图 ( 自 己 用 代 码 描 的 , 略 丑 ) 程序并发执行时的前趋图(自己用代码描的,略丑) 程序并发执行时的前趋图(自己用代码描的,略丑)
2、程序并发执行时的特征
1)间断性:程序并发执行时,共享系统资源以及相互合作导致,它们之间相互制约
- 这也导致并发程序具有“执行——暂停——执行”的间断性活动规律
2)失去封闭性
3)不可再现性
2.2进程的描述
2.2.1 进程的定义和特征
1、进程的定义
- 为了能使进程并发执行,并且可以对并发执行的程序加以描述和控制,所以有了“进程”的概念
进程控制快(PCB):为使参与并发执行的每个程序(包括数据)都能独立的运行,在操作系统中为之配置的一个专门的数据结构
进程实体(进程映像):由程序段、相关的数据段、PCB三部分构成
- 进程的定义:
1、进程是程序的一次执行
2、进程是一个程序及其数据在处理机上顺序执行时所发生的活动
3、进程是具有独立功能的程序在一个数据集合上运行的过程,它是系统进行资源分配和调度的一个独立单位
- 引用进程实体的概念之后,传统OS中的进程:进程使进程实体的运行过程,是系统进行资源分配和调度的一个独立单位
2、进程的特征
(1)、动态性:进程的实质是进程实体的执行过程
(2)、并发性:程序(没有建立PCB)不能参与并发执行
(3)、独立性
(4)、异步性
- 进程和程序并非一一对应的
- 结构特性:由程序段、数据段、PCB组成
2.2.2 进程的基本状态及转换
1、进程的三种基本状态
一般而言,每一个进程至少处于以下三种基本状态之一:
- ①、就绪(Ready)状态:万事俱备,只欠CPU/处理机
- 如果系统中有多个进程处于就绪状态,通常将他们按照一定的策略排列,称为就绪队列。
- ②、执行(Running)状态:指进程已获得CPU,程序正在执行。
- ③、阻塞(Block)状态:进程等待某种事件完成,而暂时无法执行的状态。
2、三种基本状态的转换
进
程
的
三
种
基
本
状
态
及
其
转
换
进程的三种基本状态及其转换
进程的三种基本状态及其转换
3、创建状态和终止状态
创建状态:创建工作尚未完成,进程不能被调度运行的状态。
创建过程:
- 进程申请一个空白的PCB,并向PCB中填写用于控制和管理进程的信息;
- 为该进程分配运行时所必需的资源;
- 把该进程转为就绪状态并插入就绪队列中。
终止状态:进入终止状态的进程不能再执行,但在操作系统中仍保留一个记录,其中保存状态吗和一些计时统计数据,供其他进程收集。
终止步骤:
- 等待操作系统善后处理
- 将PCB清零,将PCB空间返还系统
进
程
的
五
种
基
本
状
态
及
其
转
换
进程的五种基本状态及其转换
进程的五种基本状态及其转换