OS02-1进程管理ppt课件
合集下载
《进程管理》课件

和协作。
进程迁移
02
为了提高系统可靠性和可用性,分布式系统支持进程迁移,确
保关键任务能够持续运行。
负载均衡
03
分布式系统通过负载均衡技术,将任务分配到不同节点上执行
,提高系统整体性能。
THANKS
感谢观看
当系统中存在多个等待资源的进程,且每 个进程都持有至少一个资源并等待获取被 其他进程持有的资源时,就会产生死锁。
通过设置资源分配顺序或限制资源请求量 来避免饥饿。
• 死锁预防
• 死锁避免
通过破坏死锁产生的必要条件来预防死锁 ,例如预先分配资源、设置最大需求量等 。
在分配资源时进行检测和限制,避免产生 死锁,例如银行家算法。
进程的状态及其转换
总结词
阐述进程的三种基本状态及转换关系
详细描述
进程状态分为新建、运行、阻塞和就绪等状态。新建状态是进程被创建时的状态,运行状态是进程获 得CPU并执行的状态,阻塞状态是进程等待某个条件成立而暂时无法执行的状态,就绪状态是进程已 具备运行条件但未获得CPU时的状态。不同状态之间可以相互转换。
进程管理在操作系统中的应用
01
02
03
进程调度
操作系统通过进程调度算 法,合理分配系统资源, 确保进程能够高效地运行 。
进程同步
操作系统提供进程同步机 制,实现多个进程之间的 协同工作,避免资源竞争 和死锁。
进程通信
进程之间通过消息传递、 共享内存等方式进行通信 ,实现数据交换和协同工 作。
多核处理器下的进程管理技术
进程与程序的区别和联系
总结词
比较进是程序的一次执行过程,具有动态特性和独立性。 程序是静态的,而进程是动态的。程序是永存的,进程是暂时的。程序是过程的代码, 而进程是执行这些代码的过程。一个程序可以对应多个进程,但一个进程不能对应多个
操作系统进程管理ppt课件

P .... pturn = true; while (qturn);
临界区 pturn = false;
...
Q ..... qturn = true; while (pturn); 临界区 qturn = false;
...
18
软件解法(4):Dekker算法(1/2)
在解法(3)基础上引入turn枚举类型 P : while (true) { pturn = true; while (qturn) { if (turn==2) { pturn = false; while (turn==2); pturn = true; }
初值任意
} 临界区
turn = 2;
pturn = false;
..... }
19
软件解法(4)(2/2)
Q : while (true) { qturn = true; while (pturn) { if (turn==1) { qturn = false; while (turn==1); qturn = true; }
}
临界区
turn = 1;
{ 启动车辆; 正常运行; 到站停车;
}
售票员 P2 while (true) {
关门; 售票; 开门; }
6
进程的互斥(间接作用)
由于各进程要求共享资源,而有些资源需要互斥 使用,因此各进程间竞争使用这些资源,进程 的这种关系为进程的互斥
临界资源:critical resource
系统中某些资源一次只允许一个进程使用, 称这样的资源为临界资源或互斥资源或共享变 量
进程互斥的解决有两种做法: ➢ 由竞争各方平等协商 ➢ 引入进程管理者,由管理者来协调竞争各方对 互斥资源的使用
《进程管理》PPT幻灯片

⑷处理机状态(CPU现场保护)
• 通用R • PC指令计数器 • 程序状态字PSW • 用户栈指针
26.09.2020
20
CPU现场保护信息(进程上下文)
当处理机被中断时,各种Register的内容都必须保存在被中断进 程的PCB中,以便在改进程重新执行时,能从断点继续执行。
(1)通用R(用户可视寄存器)8-32个(在RISC结构中,可超过10 0)
LIST在一个特殊区域) • 3. 初始化PCB • 4. 将新进程插入就绪队列。
26.09.2020
31
创建原语
Procedure create (n,s0,P0,m0,R0,acc)
begin
i:=get internal name(n);
获得内部名
i.id :=n;
填外部名
i.priority := P0; i.CPUstate:= s0; i.mainstore:= m0; i.resources:= R0; i.status:=readys;
运行队列:单机系统中整个系统一个。
26.09.2020
23
2.1.5进程控制块(2)
• 链接方式 把具有相同状态的PCB,
用其中的链接字,链接 成一个队列。
执行指针
就绪队列指针
多个 阻塞队列指针
空闲队列指针
26.09.2020
PCB1 PCB2 PCB3 PCB4 PCB5 PCB6 PCB7 PCB8 PCB9
思考:① 哪些程序段的执行必须是顺
序的?为什么?
② 哪些程序段的执行是可并行的?为
什么?
6
程序的并发执行(2)
• 二、特征
• 间断性 • 失去封闭性:主要由共享资源引起 • 不可再现性:P37例,设N的初值为n。
• 通用R • PC指令计数器 • 程序状态字PSW • 用户栈指针
26.09.2020
20
CPU现场保护信息(进程上下文)
当处理机被中断时,各种Register的内容都必须保存在被中断进 程的PCB中,以便在改进程重新执行时,能从断点继续执行。
(1)通用R(用户可视寄存器)8-32个(在RISC结构中,可超过10 0)
LIST在一个特殊区域) • 3. 初始化PCB • 4. 将新进程插入就绪队列。
26.09.2020
31
创建原语
Procedure create (n,s0,P0,m0,R0,acc)
begin
i:=get internal name(n);
获得内部名
i.id :=n;
填外部名
i.priority := P0; i.CPUstate:= s0; i.mainstore:= m0; i.resources:= R0; i.status:=readys;
运行队列:单机系统中整个系统一个。
26.09.2020
23
2.1.5进程控制块(2)
• 链接方式 把具有相同状态的PCB,
用其中的链接字,链接 成一个队列。
执行指针
就绪队列指针
多个 阻塞队列指针
空闲队列指针
26.09.2020
PCB1 PCB2 PCB3 PCB4 PCB5 PCB6 PCB7 PCB8 PCB9
思考:① 哪些程序段的执行必须是顺
序的?为什么?
② 哪些程序段的执行是可并行的?为
什么?
6
程序的并发执行(2)
• 二、特征
• 间断性 • 失去封闭性:主要由共享资源引起 • 不可再现性:P37例,设N的初值为n。
计算机操作系统课件02-1进程的基本概念

(3) 静止就绪→活动就绪。处于Readys状态的进程,若用激 活原语Active激活后,该进程将转变为Readya状态。
(4) 静止阻塞→活动阻塞。处于Blockeds状态的进程,若用激 活原语Active激活后,该进程将转变为Blockeda状态。
4.创建状态和终止状态
1) 创建状态
创建一个进程一般要通过两个步骤:首先,为一个新进程创 建PCB,并填写必要的管理信息;其次,把该进程转入就绪状 态并插入就绪队列之中。
例如,在进行计算时,总须先输入用户的程序和数据,然后 进行计算,最后才能打印计算结果。
用结点(Node,用圆圈表示) 代表各程序段的操作,其中,I代 表输入操作,C代表计算操作,P为打印操作;另外,用箭头 指示操作的先后次序。
I1
C1
P1
I2
C2
P2
S1
S2
S3
(a) 程序的顺序执行
(b) 三条语句的顺序执行
→={(Pi,Pj)|Pi must complete before Pj may start} 如果(Pi,Pj)∈→,可写成Pi→Pj,称Pi是Pj的直接前趋,而称 Pj是Pi的直接后继 在前趋图中,把没有前趋的结点称为初始结点(Initial Node), 把没有后继的结点称为终止结点(Final Node)。
当用挂起原语Suspend将该进程挂起后,该进程便转变为静止 就绪状态,表示为Readys,处于Readys状态的进程不再被调度 执行。
请求
释放
活动 阻塞
I/O
调度
活动 就绪
激活
挂起
执行
激活 挂起
静止 阻塞
释放
挂起
静止 就绪
图 2-6 具有挂起状态的进程状态图
(4) 静止阻塞→活动阻塞。处于Blockeds状态的进程,若用激 活原语Active激活后,该进程将转变为Blockeda状态。
4.创建状态和终止状态
1) 创建状态
创建一个进程一般要通过两个步骤:首先,为一个新进程创 建PCB,并填写必要的管理信息;其次,把该进程转入就绪状 态并插入就绪队列之中。
例如,在进行计算时,总须先输入用户的程序和数据,然后 进行计算,最后才能打印计算结果。
用结点(Node,用圆圈表示) 代表各程序段的操作,其中,I代 表输入操作,C代表计算操作,P为打印操作;另外,用箭头 指示操作的先后次序。
I1
C1
P1
I2
C2
P2
S1
S2
S3
(a) 程序的顺序执行
(b) 三条语句的顺序执行
→={(Pi,Pj)|Pi must complete before Pj may start} 如果(Pi,Pj)∈→,可写成Pi→Pj,称Pi是Pj的直接前趋,而称 Pj是Pi的直接后继 在前趋图中,把没有前趋的结点称为初始结点(Initial Node), 把没有后继的结点称为终止结点(Final Node)。
当用挂起原语Suspend将该进程挂起后,该进程便转变为静止 就绪状态,表示为Readys,处于Readys状态的进程不再被调度 执行。
请求
释放
活动 阻塞
I/O
调度
活动 就绪
激活
挂起
执行
激活 挂起
静止 阻塞
释放
挂起
静止 就绪
图 2-6 具有挂起状态的进程状态图
操作系统OS02进程管理.ppt

主要内容:
2.1 进程的基本概念 2.2 进程控制 2.3 进程同步 2.4
第二章 进 程 管 理
2.1. 进程的基本概念
2.1.1 程序的顺序执行及其特征 2.1.2 前趋图 2.1.3 程序的并发执行及其特征 2.1.4 进程的特征与状态 2.1.5 进程控制块
1、N:=N+1在print(N)和N:=0之前,得到的N值为n+1,n+1,0 2、N:=N+1在print(N)和N:=0之后,得到的N值为n,0,1 3、N:=N+1在print(N)和N:=0之间,得到的N值为n,n+1,0
13
第二章 进 程 管 理
2.1.4 进程的特征与状态
1.进程的特征与定义 2.进程的三种基本状态 3.挂起状态 4.创建状态和终止状态
(P3,P5),(P4,P6),(P5,P7),(P6,P7)}
P2 P5
P1
P3
P7
P6 P4
具有7个结点的前驱图
6
第二章 进 程 管 理
2.1.3 程序的并发执行及其特征
1、在对一批程序进行处理时,可以并发执行。
例1:输入、计算、打印三个程序对一批作业进行处理时存 在前趋关系:
输入程序 I1 I2 I3 I4
如对语句S1和S2有: R(S1)∩ W(S2) = {Ф} W(S1)∩ R(S2) = {Φ} W(S1)∩ W(S2)= {Φ}
成立,则语句S1和S2可并发执行。
10
第二章 进 程 管 理
程序并发执行条件(Bernstein条件)
例1. 语句 c = a – b 和 w = c + 1 R(c = a – b )= {a, b } W(c = a – b )= { c } R(w = c + 1 )= { c } W(w = c + 1 )= { w } R(w = c + 1 )∩ W(c = a – b )= { c }
2.1 进程的基本概念 2.2 进程控制 2.3 进程同步 2.4
第二章 进 程 管 理
2.1. 进程的基本概念
2.1.1 程序的顺序执行及其特征 2.1.2 前趋图 2.1.3 程序的并发执行及其特征 2.1.4 进程的特征与状态 2.1.5 进程控制块
1、N:=N+1在print(N)和N:=0之前,得到的N值为n+1,n+1,0 2、N:=N+1在print(N)和N:=0之后,得到的N值为n,0,1 3、N:=N+1在print(N)和N:=0之间,得到的N值为n,n+1,0
13
第二章 进 程 管 理
2.1.4 进程的特征与状态
1.进程的特征与定义 2.进程的三种基本状态 3.挂起状态 4.创建状态和终止状态
(P3,P5),(P4,P6),(P5,P7),(P6,P7)}
P2 P5
P1
P3
P7
P6 P4
具有7个结点的前驱图
6
第二章 进 程 管 理
2.1.3 程序的并发执行及其特征
1、在对一批程序进行处理时,可以并发执行。
例1:输入、计算、打印三个程序对一批作业进行处理时存 在前趋关系:
输入程序 I1 I2 I3 I4
如对语句S1和S2有: R(S1)∩ W(S2) = {Ф} W(S1)∩ R(S2) = {Φ} W(S1)∩ W(S2)= {Φ}
成立,则语句S1和S2可并发执行。
10
第二章 进 程 管 理
程序并发执行条件(Bernstein条件)
例1. 语句 c = a – b 和 w = c + 1 R(c = a – b )= {a, b } W(c = a – b )= { c } R(w = c + 1 )= { c } W(w = c + 1 )= { w } R(w = c + 1 )∩ W(c = a – b )= { c }
os-2-1-进程管理(新)

例:下述四条语句的程序段画出前趋图 S1: a:=x+2 S2: b:=y+4 S3: c:=a+b S4: d:=c+6
S1
S3 S4
S2
3.程序并发执行的特征:
多道程序系统的程序执行环境变化所引起的多道程序的 并发执行
由于资源有限,多道程序的并发执行总是伴随着资源的共享与 竞争,制约了各道程序的执行速度。
实例:
一位有一手好厨艺的计算机科学家正在为他的儿子烘制生日蛋糕。 计算机科学家--------处理机(CPU); 做蛋糕的食谱----程序(即用适当形式描述的算法); 做蛋糕的原料(如面粉,鸡蛋,糖)-------输入数据; 进程:厨师阅读食谱,取来各种原料以及烘制蛋糕等一 系列动作的总和。 现假设科学家的儿子跑进来,说被蜜蜂蛰了; 科学家就记录下他照着食谱做到哪儿了----保存进程当前状态; 然后拿出一本急救手册(医疗救治进程的程序),按照其中的指示 处理蛰伤----CPU进行进程切换(做蛋糕~实施医疗救治); 蛰伤处理完毕后,科学家又回来做蛋糕,从他离开时的那一步继续 做下去。 关键思想:一个进程是某种类型的一个活动,它有程序、输入、输 出以及状态。单个处理机可以被若干个进程共享,它使用某种调 度算法决定何时停止一个进程的工作,并转而为另一个进程提供 服务。
2.1.3 进程的定义
进程有许多各式各样的定义 (1)进程是可以并发执行的计算部分 (2)进程是一个独立的可以调度的活动 (3)进程是一个抽象的实体,当它执行某个任务时, 将要分配和释放各种资源 (4)行为的规则叫程序,程序在处理机上执行的活动 称为进程。 (5)一个进程是一系列逐一执行的操作,而操作的确 切含义则有赖于以何种详尽程度来描述进程。 进程:一个具有独立功能的程序对某个数据集在处理机 上的执行过程和分配资源的基本单位。 (在这里,程序指一组操作序列,而数据集则是接受程 序规定操作的一组存储单元的内容。)
OS第2章进程的描述与控制1PPT课件

6
◆进程(或程序)之间的前趋关系可用“→”来表示,如果进 程Pi和Pj存在着前趋关系,可表示为:
(Pi,Pj)∈→,或 Pi→Pj 表示在Pj开始执行之前Pi 必须完成。此时称Pi是Pj的直接前 趋,而称Pj是Pi的直接后继。
7
◆在前趋图中,把没有前趋的结点称为初始结点(Initial Node),把没有后继的结点称为终止结点(Final Node)。
描述程序执行先后顺序的前趋图。
◆前趋图(Precedence Graph),是指一个有向无循环图,可记
为DAG(Directed Acyclic Graph),它用于描述进程之间执行
的先后顺序。
5
◆图中的每个结点可用来表示一个进程或程序段,乃至一条 语句,结点间的有向边则表示两个结点之间存在的前趋关系 (Precedence Relation)。
S1: a :=x+y; S2: b :=a-5; S3: c :=b+1;
其中,语句S2必须在语句S1后(即a被赋值)才能执行,语 句S3也只能在b被赋值后才能执行,因此,三条语句存在 着这样的前趋关系:S1→S2→S3,应按下面前趋图所示 的顺序执行。
14
图2-2 程序顺序执行的前趋图
15
2. 程序顺序执行时的特征
12
◆用结点(Node)代表各程序段的操作(在图2-1中用圆圈表示), 其中I代表输入操作,C代表计算操作,P为打印操作,用箭头 指示操作的先后次序。 ◆这样,上述的三个程序段间就存在着这样的前趋关系: Ii→Ci→Pi,其执行的顺序可用前趋图2-2(a)描述。
13
即使是一个程序段,也可能存在着执行顺序问题,下面 示出了一个包含了三条语句的程序段:
图中的前 趋关系有
◆进程(或程序)之间的前趋关系可用“→”来表示,如果进 程Pi和Pj存在着前趋关系,可表示为:
(Pi,Pj)∈→,或 Pi→Pj 表示在Pj开始执行之前Pi 必须完成。此时称Pi是Pj的直接前 趋,而称Pj是Pi的直接后继。
7
◆在前趋图中,把没有前趋的结点称为初始结点(Initial Node),把没有后继的结点称为终止结点(Final Node)。
描述程序执行先后顺序的前趋图。
◆前趋图(Precedence Graph),是指一个有向无循环图,可记
为DAG(Directed Acyclic Graph),它用于描述进程之间执行
的先后顺序。
5
◆图中的每个结点可用来表示一个进程或程序段,乃至一条 语句,结点间的有向边则表示两个结点之间存在的前趋关系 (Precedence Relation)。
S1: a :=x+y; S2: b :=a-5; S3: c :=b+1;
其中,语句S2必须在语句S1后(即a被赋值)才能执行,语 句S3也只能在b被赋值后才能执行,因此,三条语句存在 着这样的前趋关系:S1→S2→S3,应按下面前趋图所示 的顺序执行。
14
图2-2 程序顺序执行的前趋图
15
2. 程序顺序执行时的特征
12
◆用结点(Node)代表各程序段的操作(在图2-1中用圆圈表示), 其中I代表输入操作,C代表计算操作,P为打印操作,用箭头 指示操作的先后次序。 ◆这样,上述的三个程序段间就存在着这样的前趋关系: Ii→Ci→Pi,其执行的顺序可用前趋图2-2(a)描述。
13
即使是一个程序段,也可能存在着执行顺序问题,下面 示出了一个包含了三条语句的程序段:
图中的前 趋关系有
OS2-01

第二章 进 程 管 理
进程控制块通常包含的信息: 进程标识符:唯一地标识系统中的进程。并 可用父、子进程标识符描述进程家族关系。 处理机状态:用于CPU切换时保存和恢复现 场,主要由处理机各寄存器的内容组成。 进程调度信息:有进程状态、优先级、调度 算法其他相关信息、等待事件等。
进程控制信息:包括程序和数据地址、进程 同步和通信机制、资源清单和链接指针等。
第二章 进 程 管 理
进程是进程实体的运行过程,是系统进 行资源分配和调度的一个独立单位。 进程是程序的一次执行。 进程是一个程序及其数据在处理机上顺 序执行时发生的活动。 进程是程序在一个数据集合上运行的过 程,它是系统进行资源分配和调度的一个 独立单位。
第二章 进 程 管 理
进程已获得其它资源,只要得到 CPU,就可立即运行。
2.2 进程控制(续)
操作系统内核有许多原语,它们运行在 系统状态下。 系统状态和用户状态是处理机的两种执行 状态,通过状态划分,可防止用户程序破坏 操作系统内核代码和数据。
系统状态:也叫管态或核心态,有较 高特权,能执行一切指令。 用户状态:也叫目态,较低特权,执行规 定的指令、访问受限寄存器和存储区。
第二章 进 程 管 理
正在执行的进程要等待某事件的完成或本 身无新工作可做时,应调用阻塞原语Block() 将自己从执行状态转换成阻塞状态。 过程:停止执行,状态改为阻塞,PCB插 入相应阻塞队列,转调度程序进行重新调度。 阻塞进程所等待的事件完成时,应用唤醒 原语 Wakeup()将其从阻塞状态转换成就 绪状态。 过程:等待队列中移出该进程的PCB,将 其置为就绪状态,插入就绪队列。
第二章 进 程 管 理
A
B
C
D
E
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
;.
2021/3/21
7
例:有两个循环程序A和B,它们共享一个变量N。 程序A:每执行一次时都要做N=N+1操作; 程序B:每执行一次都要做PRINT(N)和
N=0; 程序A和B以不同的速度运行,可能出现下述3种情况(假定某时刻N=n): (1)N=N+1在PRINT(N)和N=0之前,此时得到N的值分别是: n+1, n+1,0; (2)N=N+1在PRINT(N)和N=0之后,此时得到N的值分别是: n,0, 1; (3)N=N+1在PRINT(N)和N=0之间,此时得到N的值分别是: n, n+1 ,0;
;.
2021/3/21
10
进程的定义
进程的概念是60年代初首先由麻省理工学院的MULTICS系统和IBM公司的 CTSS/360系统引入的。进程有很多各式各样的定义,如: 行为的一个规则叫做程序,程序在处理机上执行时所发生的活动称为进程。 一个具有一定功能的程序关于某个数据集合的一次运行活动。 进程是一个程序与其数据一道通过处理机的执行所发生的活动。
3
2、程序顺序执行的特征
顺序性:一个程序开始执行必须要等到前一个程序已执行完成; 封闭性:程序运行时独占全机资源,程序一旦开始执行,其计算结果不受外 界因素影响; 可再现性:程序的结果与它的执行速度无关(即与时间无关),只要给定相 同的输入,一定会得到相同的结果;
;.
2021/3/21
4
2.1.2 前趋图
;.
2021/3/21
12
2、进程的状态及转换
进程有三种基本状态,在生命消亡前处于且仅处于三种基本状态之一
不同系统设置的进程状态数目不同,有: 三种基本状态系统; 五种基本状态系统; 七种基本状态系统;
;.
2021/3/21
13
进程的三种基本状态
就绪状态(Ready):存在于处理机调度队列中的那些进程,它们已经准备就绪, 一旦得到CPU,就立即可以运行。这些进程所处的状态为就绪状态。 运行状态(Running):已获得CPU,而正在运行的进程所处的状态为运行状态。 等待状态(Wait):若一进程正在等待某一事件发生(如等待输入输出工作完 成),这时,即使给它CPU,它也无法运行,称该进程处于等待状态(或阻塞状 态、 睡眠状态、封锁状态)。
;.
2021/3/21
2
2.1.1 程序的顺序执行及其特征
1、程序的顺序执行
可以把一个应用程序分为若干个程序段,在各程序段之间,必须按照某种先后次序 顺序执行,仅当前操作执行完后,才能执行后继操作。例:I代表输入操作, C代表计 算操作, P代表打印操作
I1
C1ቤተ መጻሕፍቲ ባይዱ
P1
I2
C2
P2
程序的顺序执行
;.
2021/3/21
;.
2021/3/21
8
上述情况说明, 程序在并发执行时, 由于失去了封闭性(程序间的语句可 能交叉执行) ,其结果已与并发执行的速度有关,从而使程序的执行失 去了可再现性:程序多次执行后, 虽然它们执行时的环境和初始条件都相 同, 但结果却不同。
由此可知, 在多道程序环境下, 让通常的程序直接参与并发执行是不
行的, 为使程序能并发执行,必须引进“进程”概念,对并发执行的程
序加以描述与控制。
;.
2021/3/21
9
2.1.4 进程的特征与状态
1、进程的特征和定义
进程的特征: 1)结构特征:由程序段 、数据段、进程控制块(PCB)三部分组成进程实体; 2)动态性:进程是程序的执行,动态性是进程的基本特征; 3)并发性:多个进程可同存于内存中,能在一段时间内同时运行; 4)独立性:进程是独立运行的基本单位,独立获得资源和调度的基本单位; 5)异步性:各进程按各自独立的不可预知的速度向前推进;
;.
2021/3/21
11
进程同程序的比较
程序是指令的有序集合,其本身没有任何运行的含义,是一个静态的概念。而进 程是程序在处理机上的一次执行过程,它是一个动态的概念。 程序可以作为一种软件资料长期存在,而进程是有一定生命期的。程序是永久的, 进程是暂时的。 进程更能真实地描述并发,而程序不能。 进程具有创建其他进程的功能,而程序则没有。 同一程序在内存中可以被创建成多个进程 。
例:输入程序I、计算程 序C、打印程序P的并发执行 情况。
P1
P2
P3
P4
并发执行时的前趋图
存在以下前驱关系:Ii →Ci, Ii →Ii+1, Ci→Pi, Ci →Ci+1, Pi →Pi+1
;.
2021/3/21
6
2、程序并发执行的特点
间断性:程序在并发执行时,由于它们共享系统资源以及为完成同一项任 务而相互合作,使这些并发程序之间形成了相互制约的关系。例:输入程 序I、计算程序C、打印程序P的相互制约。 失去封闭性:程序在并发执行时,是多个程序共享系统资源,因而这些资 源的状态将由多个程序来改变,使程序运行失去了封闭性(程序间的语句可 能交叉执行)。 不可再现性:程序在并发执行时,由于失去了封闭性,也将导致再失去可 再现性(程序的运行结果可能每次不同) 。
第二章 进程管理(1)
2.1 进程的基本概念 2.2 进程控制 2.3 进程同步 2.4 经典的进程同步问题 2.5 2.6 进程通信 2.7 线程
;.
2021/3/21
1
2.1 进程的基本概念
2.1.1 程序的顺序执行及其特征 2.1.2 前趋图 2.1.3 程序的并发执行及其特征 2.1.4 进程的特征与状态 2.1.5 进程控制块
前趋图是一个有向无循环图,用于描述进程之间执行的前后关系。图中每个节点 描述一个进程或一条语句。节点间的有向边用于表示两个结点间存在的前驱关 系: →={(Pi,Pj)|Pimust complete befor Pj may Start} 如果(Pi,Pj)∈→,可写成Pi→Pj,称Pi是Pj的直接前趋,而称Pj是Pi的直接后继。
P1 初始结点
;.
P2
P5
P3
P8
P9
P6 P4
P7 具有9个节点的前趋图
2021/3/21
终止结点 5
2.1.3 程序的并发执行及其特征
1、程序的并发执行
I1
I2
I3
I4
C1
C2
C3
C4
所谓程序的并发执行是指: 若干个程序同时在系统中执 行,这些程序的执行在时间 上是重叠的,一个程序的执 行尚未结束,另一个程序的 执行已经开始。