进程的描述与控制PPT教学课件

合集下载

操作系统课件 第2章进程的描述与控制0920

操作系统课件  第2章进程的描述与控制0920

J.1 作业的基本概念
对于被调度 的作业,
源程序
子程序 库函数
动态
库函 数
输入数据
OS要对它
在系统中整
编译
目标 程序
装配
目标 程序
运行
运行结果
个运行过程

实行控制。
编译 程序
输出信息
装配 程序
输出信息
运行 程序
输出信息
结束
图J-1 作业的控制过程
J.1 作业的基本概念
J.1.2 作业的分类(批处理作业,交互式作业)
• 其主要任务是按照某种策略和方法选取一个处于 就绪状态的进程占用处理机。
• 在确立了占用处理机之后,系统必须进行进程上 下文切换以建立与占用处理机进程相适应的执行 环境。
J.3 作业调度算法
中级调度(内外存交换调度)
• 其主要任务是按照给定的原则和策略,将处于外 存交换区中的就绪状态或等待状态或内存等待状 态的进程交换到外存交换区。
能忍受响应时间
注意系统资源平衡使用: 应将计算量大作业和输入输出繁忙作业搭配起来。
应保证提交作业在规定截止时间内完成,且应设法缩短作业
的平均周转时间。
考虑越多会使系统实现越复杂,反而增加系统开销,大多 数系统都采用相对简单的调度算法。
J.3 调度算法
• 交换调度主要涉及到内存管理与扩充。 • 因此,在有些书本中也把它归入内存管理部分。
J.3 作业调度算法
J.3.1 作业调度算法的设计目标与设计因素
作业调度的目标 单位时间内运行尽可能多的作业:
可以考虑选择尽可能短的作业先运行。长作业如何呢?
使处理机保持“忙”: 可以考虑选择计算量大的作业先运行,IO设备如何呢?。

进程的描述ppt课件

进程的描述ppt课件

3.执行状态 阻塞状态
正在执行的进程因发生某件事件而无法执行。例如: 进程请求访问临界资源,而该资源正被其它进程访问, 则请求该资源的进程将由执行状态转变为阻塞状态。
4.执行状态 就绪状态
正在执行的进程,如果事件发生或中断而被暂停执行, 该进程便由执行状态转变为就绪状态。(分时系统中, 时间片用完;抢占调度方式中,优先权高抢占处理机)
一、进程的三种基本状态 1.就绪状态(Ready)
当进程已经分配到除CPU以外的所有必要的资源 后,只要能再获得处理机,就可以立即执行。这 时的进程的状态称为就绪状态。 2.执行状态(Running)(运行状态)
指进程已获得处理机,其程序正在执行。在 单处理机系统中,只能有一个进程处于执行状态。 (在多处理机中,可能有多个进程处于执行状态)
3.3.5进程空间
任何一个进程,都有自己的地址空间,把该空间称为进程空 间或虚空间。
进程空间的大小只与处理机的位数有关。程序的执行都在进 程空间内进行。用户程序、进程的各种控制表格都按一定 的结构排列在进程空间里。
在Unix和Linux系统中,进程空间还被划分为用户空间和系统 空间两大部分
在进程空间被划分为两大部分后,用户程序在用户空间内执 行,操作系统内核程序在进程的系统空间内执行。
3.3.2进程控制块中的信息
进程控制块中主要包括四个方面用于描述和控制进程运行 的信息。
1 1.进程标识符信息
进程标识符用于唯一的标识一个进程。一个进程通常有以 下两种标识符。
外部标识符。由创建者提供,通常是由字母、数字组成, 往往是用户(进程)访问该进程使用。外部标识符便于记忆, 如:计算进程、打印进程、发送进程、接收进程等。
执行指针 就绪队列指针 阻塞队列指针 空闲队列指针

汤小丹计算机操作系统官方课件课件

汤小丹计算机操作系统官方课件课件
24
第二章 进程的描述与控制
图2-6 进程的五种基本状态及转换
25
第二章 进程的描述与控制
2.2.3 挂起操作和进程状态的转换 1. 挂起操作的引入 引入挂起操作的原因,是基于系统和用户的如下需要: (1) 终端用户的需要。 (2) 父进程请求。 (3) 负荷调节的需要。 (4) 操作系统的需要。
21
第二章 进程的描述与控制
图2-5 进程的三种基本状态及其转换
22
第二章 进程的描述与控制
3. 创建状态和终止状态 1) 创建状态 如前所述,进程是由创建而产生。创建一个进程是个很 复杂的过程,一般要通过多个步骤才能完成:如首先由进程 申请一个空白PCB,并向PCB中填写用于控制和管理进程的 信息;然后为该进程分配运行时所必须的资源;最后,把该 进程转入就绪状态并插入就绪队列之中。但如果进程所需的 资源尚不能得到满足,比如系统尚无足够的内存使进程无法 装入其中,此时创建工作尚未完成,进程不能被调度运行, 于是把此时进程所处的状态称为创建状态。
27
第二章 进程的描述与控制
3. 引入挂起操作后五个进程状态的转换 如图2-8示出了增加了创创建和终止状态后,在进程状态转 换时,与图2-7所示的进程五状态转换相比较,要增加考虑 下面的几种情况: (1) NULL→创建: (2) 创建→活动就绪: (3) 创建→静止就绪: (4) 执行→终止:
23
第二章 进程的描述与控制
2) 终止状态 进程的终止也要通过两个步骤:首先,是等待操作系统 进行善后处理,最后将其PCB清零,并将PCB空间返还系统。 当一个进程到达了自然结束点,或是出现了无法克服的错误, 或是被操作系统所终结,或是被其他有终止权的进程所终结, 它将进入终止状态。进入终止态的进程以后不能再执行,但 在操作系统中依然保留一个记录,其中保存状态码和一些计 时统计数据,供其他进程收集。一旦其他进程完成了对其信 息的提取之后,操作系统将删除该进程,即将其PCB清零, 并将该空白PCB返还系统。图2-6示出了增加了创建状态和终 止状态后进程的五种状态及转换关系图。

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

操作系统课件第2章 进程的描述与控制

操作系统课件第2章 进程的描述与控制
间内同时运行。 引入进程的目的就是为了使进程能并发执行,以
提高资源利用率,所以并发性是进程的重要特征,也 是OS的重要特征。
2.2 进程的描述
2、进程的基本特征
(4)独立性 指进程是一个能独立运行的基本单位,也是系统
进行资源分配和调度的独立单位。 (5)异步性
指进程以各自独立的、不可预知的速度向前推进。
返回
解决临界区(互斥)问题的方法
有效解决同步问题的方法—— 信号量机制
为临界资源加锁的方法
二、信号量机制
信号量机制是荷兰科学家E.W.Dijkstra在1965年提出的一种 同步机制,也称为P、V操作。由最初的整型信号量发展 为记录型信号量,进而发展为信号量集。
整型信号量 记录型信号量 信号量集(AND信号量集、一般信号量集)
相互清楚对方的存在及作用,交换 信息 往往指几个进程共同完成一个任务 例:生产与消费之间,发送与接收 之间,写进程与读进程之间
互斥 进程-资源-进程 竞争到某一物理资源时不允许其它 进程工作 不一定清楚其它进程情况
往往指多个任务多个进程间制约 例:争用打印机,交通十字路口
2、临界资源、临界区
一次只允许一个进程使用的资源称为临界资源, 诸进程间采取互斥方式实现对这种资源的共享, 实现并行程序的封闭性。
绪队列、阻塞队列等。
索引方式
图示
将同一状态的进程组织在一个索引表中,索引表的 表项指向相应的PCB ,不同状态对应不同的索引表。
执行指针 就绪队列指针 阻塞队列指针 空闲队列指针
按链接方式组织PCB
PCB1 4 PCB2 3 PCB3 0 PCB4 8 PCB5 PCB6 7 PCB7 9 PCB8 0 PCB9 1
处理机状态(断点信息):即处理机中各种寄存器(通用寄存器、PC、

第二章 进程的描述与控制PPT课件

第二章 进程的描述与控制PPT课件
进程具有结构特征:进程实体是有由程 序段、数据段、及进程的控制块三部分 组成的。
12
进程的三种基本状态
进程基本状态:
➢就绪状态:A process that is prepared to execute when given the opportunity.
➢执行状态:The process that is currently being executed.
严格按照程序所规定的顺序执行。 ➢ 可再现性:指程序对一组数据的重复执行必得到相
同的结果。
5
程序并发执行1
程序并发执行:
例如输入程序、计算程序、打印程序之间,
存在有Ii→Ci→Pi的前趋关系,但不存在 Pi→Ii+1关系 ,这样他们可以并发执行。
I1
I2
I3
I4
C1 C2
C3
C4
P1
P2
P3
P4
6
程序并发执行2
S1: a:=x+2 S2: b:=y+4 S3: z:=a+b
S1
S3
S4
S4: w:=z+9 S 2
7
程序并发执行的特征
间断性:“执行—暂停执行—执行” 失去封闭性:程序在执行期间将受到其他程序影响。 不可再现性:
程序A:
程序B:
N:=N+1
print(N);N:=0;
进程的定义: –进程是程序的一次执行 –进程是可以和别计算并发执行的计算 –进程可以定义为一个数据结构,能 在其上进 行操作的一个程序。 –进程是一个程序及其数据的处理机上顺序执 行时所发生的活动。 –进程是程序在一个数据集合上允许过程,是 系统资源分配和调度的一个独立单位。 –可并发执行的程序在一个数据集合上的执行 过程。

第2章-进程的描述与控制PPT课件

第2章-进程的描述与控制PPT课件
器查看
-
34
-
35
Linux系统中的进程标识
#include<stdio.h>
main()
P1 就是一个外部标识符, 在程序的地方可以使用
{ int p1;
p1 = fork();
printf(“%d”,p1); 调用fork后,系统创建一
}
个新的进程,并为该进程
分配一个标识符,比如
12340,系统内部使用
➢ 在机票数据库中取出当前剩余票数X;
➢ 判断X>0(有票吗)?
➢ 如果有, X≥N(票够吗)?
➢ 如果够,则出票(打印票据);
➢ X=X-N(修改剩余票数);
➢ 将X回写到数据库中;-
12
2.2 进程的描述
进程的定义和特征 进程的基本状态和转化 挂起操作和进程状态的转换 进程管理中的数据结构
-
13
-
静止 阻塞
24
1. 引入挂起操作后,进程五种基本状态的转换
引入穿件状态和终止状态后,具有挂 起状态的进程状态转换,要考虑一下 情况:
NULL-〉创建 创建-〉活动就绪 创建-〉静止就绪 执行-〉终止
-
25
创建 不允许 允许
释放
执行
调度
挂起
终止
活动 就绪
释放
激活 挂起
静止 就绪
释放
活动
-
36
3.进程控制块中的信息
处理机状态
也称为处理机的上下文,主要有处理机的 各种寄存器中的内容组成,包括:
通用寄存器 指令计数器 程序状态字 用户栈指针
-
37
3.进程控制块中的信息
进程调度信息
进程状态 进程优先级 进程调度所需的其他信息,如调度算法、

操作系统课件 第3章 进程描述和控制

操作系统课件 第3章 进程描述和控制

从fork中返回时,测试返回参数:
若值为0,则是子进程,可以转移到相应的用户程序中 继续执行; 若值不为0(子进程的PID),则是父进程,继续执行 主程序。
23
作业
复习题3.3, 3.11, 3.14 习题3.2
24
4
3.2.2 进程的创建和终止
进程的创建
新批处理作业提交给操作系统 交互系统终端用户登录到系统 操作系统创建 进程派生
进程派生
父进程 子进程
5
进程的终止
进程终止的原因
正常完成 各种错误和故障 操作员或操作系统干涉 父进程终止 父进程请求终止子进程
6
3.2.3 五状态进程模型
处理器如何获知和改变所处模式?
程序状态字中有表示执行模式的位 该位应某些事件要求而改变
14
3.4.2 进程创建
创建进程的步骤
分配进程标识符 分配空间 初始化进程控制块 设置正确的连接 创建或扩充其它数据结构
15
3.4.3 进程切换

进程切换是让处于运行态的进程中断运行,让出 处理器,让操作系统指定的新进程运行。被中断 进程的上下文环境需要保存。
第3章 进程描述和控制
主要内容
3.1 3.2 3.3 3.4 3.5 3.6 3.7 什么是进程 进程状态 进程描述 进程控制 操作系统的执行 安全问题(略,14、15章涉及) UNIX SVR4进程管理
1
3.1 什么是进程
进程定义
一个正在执行中的程序。 一个正在计算机上执行的程序实例。 能分配给处理器并由处理器执行的实体。 一个具有以下特征的活动单元:一组指令序列的执行 、一个当前状态和相关的系统资源集。
新建 加载 退出
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

假若进程PIN先执行,结束之后进程POUT再执行,两个
操 作
进程分别完成了对count的计数加1和计数减1的工作,count
系 的计数值保持为n,显然,这个结果是正确的。

2)进程PIN和POUT交替执行各个操作:
假若:PIN R1:= count; 假若:PIN R1:= count;
POUT 2:= count;
2) 每次至多只允许一个进程处于临界区;

二 3) 进程在临界区内仅停留有限的时间。

进 程 管 理
7
根据上述对临界区的管理原则,可以得出临界区的调
操 度原则:

系 统
1)空闲让进:当无进程处于临界区内时,允许一个进程进入
临界区;
2)忙则等待:当某一个进程已进入临界区时,其它欲进入临 界区的进程必须等待;
R2-1→R2
设某时刻游艺场的在 场人数count为n,这时有 R1→count
R2→count
第 一个人进场,同时有一个
二 章
人退场。由于进场和退场是随机的,因此进程PIN和POUT的
执行是并发的。


如果这两个进程按下述不同顺序执行时,执行的结果分

理 别如下:
3
1)进程PIN和POUT各自顺序执行:
程 管
然可被若干进程所共享,但一次只能为一个进程所利用。

2
例如:某游艺场设置了一个自动计数系统,用一个计数器count
指示在场的人数。
操 作
当有一个人进场时,
系 由进程PIN实现计数加1;

当有一个人退场时,由进
进程PIN
count→R1
进程POUT
count→R2
程POUT实现计数减1。
R1+1→R1
POUT R2:= count;
PIN R1:=R1+1;
R2:=R2-1;
count:=R1;
第 二
POUT R2:=R2-1;

count:=R2;
count:=R2; PIN R1:=R1+1;
count:=R1;

执行完毕时,count 的
执行完毕时,count 的
程 管
计数值为n-1。
计数值为n+1。
理 上述两种结果和实际的情况不一致,即发生与时间有关的错误。
4
问题的关键在于共享变量count,两个进程访问这个共
享变量,如果一个进程修改了count,完成了对count的一
操 作
部分操作,然后被中断,另一个进程在第一个进程使用完
系 count的值之前又修改了count,从而造成了count计数值的
§2.4 进程互斥
操 一、互斥的概念

系 统
1.资源共享引起的制约——间接制约
在多道程序系统中,各进程并发执行,并以各自独立的
速度向前推进。当并发进程竞争使用同一资源(如处理机、
主存空间、I/O设备以及文件等一类资源)时,它们之间会
发生冲突,竞争资源的进程之间没有任何信息交换,但是,
第 一个进程的执行可能会影响到竞争进程的行为。例如,两个
3)有限等待:当某一个进程离开临界区时,若有进程等待进

二 入临界区,则允许其中一个进程进入临界区;

进 4)让权等待:当进程不能进入自己的临界区时,应立即释放 程 处理机。
管 理
8
进程互斥的实现可以采用软件的方法,也可以通过系统
提供的同步机构来协调进程间的关系。
操 作
实现进程互斥的同步机构:锁机制、信号量和PV操作机
系 统
制、管程机制。
二、锁机制
1. 锁:使用一个标志或一个变量来代表临界资源的状态。
W=1为锁被关闭,表示该资源已占用;
W=0为锁已打开,表示该资源空闲,未被占用。



系统提供一对在锁位W上进行操作的上锁原语Lock(W)
进 程
和开锁原语UnLock(W)。


9
2. 上锁原语Lock(W):

二 章
进程都期望访问同一个资源,操作系统把这个资源分配给其
中一个进程,另一个就必须等待。这种由竞争共享资源带来

程 的进程之间的相互制约关系称为间接制约关系。


1
2.临界资源与临界区

如若两个或更多的进程需要访问打印机,在并发执行
作 的过程当中,若让它们任意使用,则可能发生的情况是

统 多个进程交替使用打印机,输出结果交织在一起,很难

错误;
如果一次只允许一个进程对共享变量count进行访问, 就能解决这个问题,共享变量count属于临界资源。
要防止临界资源使用过程中发生“与时间有关的错误”,
第 惟一的办法是控制访问临界资源的各进程的执行,实现对临
二 章
界资源的互斥访问。
进 临界区:每个进程中访问临界资源的那一部分程序。
程 管
注意:临界区是对某一资源而言的,对于不同资源的临界
理 区,它们之间是无关的,所以不必互斥地执行。
5
3. 互斥

在操作系统中,当一个进程进入临界区访问临界资源
作 系
时,另一个欲进入相关临界区的进程必须等待,直到占用
统 临界资源的进程退出临界区后,另一个进程才可以进入临
界区,进程之间这种相互制约的关系称为互斥。
即进程的互斥就是两个或两个以上的进程不能同时进 入共享同一临界资源的(相关)临界区。
测试W的值,若W=1,表示资源正在使用,继续反复测

系 试;若W=0,则设置W=1(上锁)。

上锁原语算法:
入口
lock(w)
begin
test:if (w=1)
goto test
第 二
else w:=1;

end
W=1? 是

1→W



返回

10
3. 开锁原语UnLock(W):
设置W=0(开锁)。
区分。解决的方法是任何一个进程在使用打印机打印整
个文件时,都独占打印机的控制权,直到打印完成释放
打印机为止。
临界资源:一次仅允许一个进程使用的资源。
第 二
许多物理设备都属于临界资源,例如:输入机、打
章 印机、绘图机等;此外还有许多软件资源,例如:共享
进 的变量、数据、表格、队列等也属于临界资源。它们虽


开锁原语算法:


Unlock(w)
begin
w:=0;
end
入口 0→W 返回
在测试锁位W的值和设置锁位W的值为1的这两步之间,
第 锁位W的值不得被其它进程所改变,这是应该绝对保证的,
二 章
因此采用了在锁位W上的原语操作。
第 二 章 进 程 管 理
6
4.对临界区管理的原则

实现进程互斥,也就是实现对于临界区的管理。为了
作 保证共享临界资源的各进程在临界区互斥地执行,提出了

统 对临界区管理的原则:
1) 若有多个进程同时要求进入它们的临界区时,应在有 限的时间内让其中之一进入临界区,而不应相互阻塞,以 致于各进程都不能进入临界区;
相关文档
最新文档