OS02-1进程管理ppt课件

合集下载

《进程管理》课件

《进程管理》课件

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

操作系统进程管理ppt课件

操作系统进程管理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幻灯片

《进程管理》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。

计算机操作系统课件02-1进程的基本概念

计算机操作系统课件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 具有挂起状态的进程状态图

操作系统OS02进程管理.ppt

操作系统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 }

os-2-1-进程管理(新)

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课件

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
即使是一个程序段,也可能存在着执行顺序问题,下面 示出了一个包含了三条语句的程序段:
图中的前 趋关系有

OS2-01

OS2-01

第二章 进 程 管 理
进程控制块通常包含的信息: 进程标识符:唯一地标识系统中的进程。并 可用父、子进程标识符描述进程家族关系。 处理机状态:用于CPU切换时保存和恢复现 场,主要由处理机各寄存器的内容组成。 进程调度信息:有进程状态、优先级、调度 算法其他相关信息、等待事件等。
进程控制信息:包括程序和数据地址、进程 同步和通信机制、资源清单和链接指针等。
第二章 进 程 管 理
进程是进程实体的运行过程,是系统进 行资源分配和调度的一个独立单位。 进程是程序的一次执行。 进程是一个程序及其数据在处理机上顺 序执行时发生的活动。 进程是程序在一个数据集合上运行的过 程,它是系统进行资源分配和调度的一个 独立单位。
第二章 进 程 管 理
进程已获得其它资源,只要得到 CPU,就可立即运行。
2.2 进程控制(续)
操作系统内核有许多原语,它们运行在 系统状态下。 系统状态和用户状态是处理机的两种执行 状态,通过状态划分,可防止用户程序破坏 操作系统内核代码和数据。
系统状态:也叫管态或核心态,有较 高特权,能执行一切指令。 用户状态:也叫目态,较低特权,执行规 定的指令、访问受限寄存器和存储区。
第二章 进 程 管 理
正在执行的进程要等待某事件的完成或本 身无新工作可做时,应调用阻塞原语Block() 将自己从执行状态转换成阻塞状态。 过程:停止执行,状态改为阻塞,PCB插 入相应阻塞队列,转调度程序进行重新调度。 阻塞进程所等待的事件完成时,应用唤醒 原语 Wakeup()将其从阻塞状态转换成就 绪状态。 过程:等待队列中移出该进程的PCB,将 其置为就绪状态,插入就绪队列。
第二章 进 程 管 理
A
B
C
D
E

OS02 进程管理

OS02 进程管理

第21页
共70页
创建新进程
创建态
运行态
完成态
等待某个 事件发生
就绪态
阻塞态
某个事件已经发生
图2.3 进程的五状态及其转换
第22页
共70页
进程的组织形式
通常把用户要计算机完成的一系列相关的任务 称为作业。
批处理系统,一个作业可创建多个进程
分时系统的作业就是用户的一次上机交互过程, 终端进程的创建是一个交互作业的开始,退出 表示该作业的结束。
进程唤醒
被阻塞进程所期待的事件出现了,则由 相关进程调用唤醒原语将其唤醒。 1. 把被阻塞进程从阻塞队列中移出。 2. 将其PCB的现行状态改为就绪状态。 3. 插入就绪队列中。
第33页
共70页
UNIX系统的进程阻塞/唤醒
1. Sleep阻塞本进程指定时间或等待某事件 发生。
2. Wait阻塞本进程以等待子进程的结束。
第18页
共70页
4. CPU现场保护区:保存进程运行的现场信息。 包括:程序计数器(PC)、程序状态字、通 用寄存器、栈指针等。
5. 记帐信息:包括CPU所用时间量,帐号等。
6. 进程之间的家族关系:UNIX系统,进程之 间存在着家族关系,父/子进程。Windows 进程之间不具有父子关系。
7. 进程的链接指针:链接相同状态的进程。
进程控制:系统使用一些原语来创建、撤消 进程,完成进程一些状态之间的转换。
第25页
共70页
进程创建
(1) 进程创建的时机
① 系统初始化会自动创建若干进程
交互式用户登入或批处理提交作业
后台守护进程(daemon),提供某些服务:接收 电子邮件、接收对该机器中Web页面的访问请 求、打印进程……
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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
所谓程序的并发执行是指: 若干个程序同时在系统中执 行,这些程序的执行在时间 上是重叠的,一个程序的执 行尚未结束,另一个程序的 执行已经开始。
相关文档
最新文档