第二章 进程的描述与控制PPT课件
合集下载
操作系统课件 第2章进程的描述与控制0920

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

失去封闭性
– 程序在并发执行时,是多个程序共享系统中的各种 资源,因而这些资源的状态将由多个程序来改变, 致使程序的运行失去了封闭性。
4.程序并发执行时特征(续)
不可再现性
– 程序在并发执行时,由于失去了封闭性,也导致失去了可再现 性。
– 例如:有两个循环程序A和B,它们共享一个变量N。程序A 每执行一次时都要做N=N+1操作;程序B每执行一次时,都 要做print(N)操作,然后再将N置成“0”,程序A和B以不同 的速度运行。(假定某时刻变量N的值为k)
进程上下文
上文:
– 已执行过的进程指令\数据在寄存器和栈中的内容
正文
– 正在执行的
下文
– 待执行的进程指令\数据在寄存器和栈中的内容
机器指令与寄存器
通过DEBU了解机器指令理解寄存器
C程序
汇编程序
int a = 3; a=a+1; b=a+2;
mov [010B], 3
mov ax, [010B] add ax, 1 mov [010B], ax mov ax, [010B] add ax, 2 mov [010D], ax
CPU现场保护的必要性
CPU
AX
BX
C…X
mov ax, 3 add ax, 1 mov [010B], ax
进程A
mov ax, 5 add ax, bx mov [020C], ax
进程B
Process Control Block (PCB进程控制块)
OS为了管理、控制进程,设置 PCB,存储进程相关信息
若有两条语名P1: c=a+b; P2:x=x+1; 则它们的读集与写为:
R(P1)={ a, b } W(P1)={ c }
– 程序在并发执行时,是多个程序共享系统中的各种 资源,因而这些资源的状态将由多个程序来改变, 致使程序的运行失去了封闭性。
4.程序并发执行时特征(续)
不可再现性
– 程序在并发执行时,由于失去了封闭性,也导致失去了可再现 性。
– 例如:有两个循环程序A和B,它们共享一个变量N。程序A 每执行一次时都要做N=N+1操作;程序B每执行一次时,都 要做print(N)操作,然后再将N置成“0”,程序A和B以不同 的速度运行。(假定某时刻变量N的值为k)
进程上下文
上文:
– 已执行过的进程指令\数据在寄存器和栈中的内容
正文
– 正在执行的
下文
– 待执行的进程指令\数据在寄存器和栈中的内容
机器指令与寄存器
通过DEBU了解机器指令理解寄存器
C程序
汇编程序
int a = 3; a=a+1; b=a+2;
mov [010B], 3
mov ax, [010B] add ax, 1 mov [010B], ax mov ax, [010B] add ax, 2 mov [010D], ax
CPU现场保护的必要性
CPU
AX
BX
C…X
mov ax, 3 add ax, 1 mov [010B], ax
进程A
mov ax, 5 add ax, bx mov [020C], ax
进程B
Process Control Block (PCB进程控制块)
OS为了管理、控制进程,设置 PCB,存储进程相关信息
若有两条语名P1: c=a+b; P2:x=x+1; 则它们的读集与写为:
R(P1)={ a, b } W(P1)={ c }
2进程管理(上)PPT课件

6
第二章 进程管理
操作系统
为了请求操作系统服务,提高系统效率,处理 突发事件,满足实时要求,需要打断处理器正 常的工作,为此,中断概念被提出来了。中断 (interrupt)是指程序执行过程中,当发生某个 事件时,中止CPU 上现行程序的运行,引出 处理该事件的服务程序执行的过程。
7
第二章 进程管理
编译程序
第二章 进程管理
user1.c
user2.c
17
操作系统
进程的特征:
1)进程是一次运行的过程,属于一种动态的概念;而程序是 指令的集合,是一个静态的概念。 2)进程可以并发执行;而程序不能。 3)进程是有生命期的;而程序是永久的。 4)进程是系统资源分配的基本单位,而程序则不行。 5)一个进程可以包含几个程序 ;一个程序也可以对应多个进 程。当同一程序同时运行于若干个不同的数据集合上时,它 将属于若干个不同的进程。
第二章 进程管理
begin L2:print N;
N=0; goto L2 end
coend
之前通过 之后通过 之中通过
结果:
m+1 m
m
当前的N值:
0
1
0
12
2. 程序与它的执行过程不再一一对应
编译程序
操作系统
第二章 进程管理
user1.c
user2.c
3. 并发程序之间的相互制约性
当具有有一定的逻辑关系的各程序(或程序段)之间需 要相互合作来完成同一任务时,它们之间具有直接的相互制 约关系。
在这种情况下,使用程序这个传统的静态的概念已经无 法描述并发活动的特性、规律和变化。也就是说,用程序作 为描述并发活动的执行过程以及管理共享资源的基本单位是 不合适的。为此,人们引入了新的概念——进程,以便从变 化的角度,动态地分析、研究并发程序的活动。
第二章 进程管理
操作系统
为了请求操作系统服务,提高系统效率,处理 突发事件,满足实时要求,需要打断处理器正 常的工作,为此,中断概念被提出来了。中断 (interrupt)是指程序执行过程中,当发生某个 事件时,中止CPU 上现行程序的运行,引出 处理该事件的服务程序执行的过程。
7
第二章 进程管理
编译程序
第二章 进程管理
user1.c
user2.c
17
操作系统
进程的特征:
1)进程是一次运行的过程,属于一种动态的概念;而程序是 指令的集合,是一个静态的概念。 2)进程可以并发执行;而程序不能。 3)进程是有生命期的;而程序是永久的。 4)进程是系统资源分配的基本单位,而程序则不行。 5)一个进程可以包含几个程序 ;一个程序也可以对应多个进 程。当同一程序同时运行于若干个不同的数据集合上时,它 将属于若干个不同的进程。
第二章 进程管理
begin L2:print N;
N=0; goto L2 end
coend
之前通过 之后通过 之中通过
结果:
m+1 m
m
当前的N值:
0
1
0
12
2. 程序与它的执行过程不再一一对应
编译程序
操作系统
第二章 进程管理
user1.c
user2.c
3. 并发程序之间的相互制约性
当具有有一定的逻辑关系的各程序(或程序段)之间需 要相互合作来完成同一任务时,它们之间具有直接的相互制 约关系。
在这种情况下,使用程序这个传统的静态的概念已经无 法描述并发活动的特性、规律和变化。也就是说,用程序作 为描述并发活动的执行过程以及管理共享资源的基本单位是 不合适的。为此,人们引入了新的概念——进程,以便从变 化的角度,动态地分析、研究并发程序的活动。
汤小丹计算机操作系统官方课件课件

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示出了增加了创建状态和终 止状态后进程的五种状态及转换关系图。
第二章 进程的描述与控制
图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示出了增加了创建状态和终 止状态后进程的五种状态及转换关系图。
进程的描述与控制PPT教学课件

假若进程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
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
即使是一个程序段,也可能存在着执行顺序问题,下面 示出了一个包含了三条语句的程序段:
图中的前 趋关系有
操作系统课件第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、
提高资源利用率,所以并发性是进程的重要特征,也 是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课件

进程具有结构特征:进程实体是有由程 序段、数据段、及进程的控制块三部分 组成的。
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;
进程的定义: –进程是程序的一次执行 –进程是可以和别计算并发执行的计算 –进程可以定义为一个数据结构,能 在其上进 行操作的一个程序。 –进程是一个程序及其数据的处理机上顺序执 行时所发生的活动。 –进程是程序在一个数据集合上允许过程,是 系统资源分配和调度的一个独立单位。 –可并发执行的程序在一个数据集合上的执行 过程。
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课件

器查看
-
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.进程控制块中的信息
进程调度信息
进程状态 进程优先级 进程调度所需的其他信息,如调度算法、
-
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.进程控制块中的信息
进程调度信息
进程状态 进程优先级 进程调度所需的其他信息,如调度算法、
操作系统课件第2章 进程的描述与控制

义,是一个静态概念;而进程是程序在处理 机上的一次执行过程,是一个动态概念。
*程序的存在是永久的;而进程是有生命期
的,它因创建而产生,因调度而执行,因缺 少资源而暂停,因撤消而消亡。
*程序仅是指令的有序集合;而进程则由程
序段、数据段、进程控制块组成。
*进程与程序之间不是一一对应的,即同一
程序可同时运行于若干个不同的数据集合上, 它将属于不同的进程;而一个进程也可以执 行多个程序。
Procedure getaddr(top) Begin Local r r top top top-1 Return(r) End
Procedure reladdr(blk) Begin
top top+1 (top) blk
End
第2章 进程的描述与控制
2.1.3 程序的并发执行
程序并发执行的特征
多道程序的并发执行
某道程序的几个程序段的并发执行
第2章 进程的描述与控制
2.1.3 程序的并发执行
程序并发执行的条件
若两个程序P1和P2能满足下述 条件,它们便能并发执行,且具有 可再现性。
R (P1)∩ W(P2)= { } R (P2)∩ W(P1)= { } W(P1)∩ W (P2 ) = { }
用户态:这是具有较低特权的执行状 态,它只能执行规定的指令,访问指定的 寄存器和存储区。
第2章 进程的描述与控制
2.3 进程控制
二、O操S内作核系功统能内核
* 支撑OS功内能核:是计算机硬*件资的源第管一理功次能扩: 充,* 中由断一管些理与硬件紧密相*关进的程模管块理和 运行频率较高的模块构成。内核常驻 内存* 时,钟受管特理殊保护。 * 存储器管理
第2章 进程的描述与控制
*程序的存在是永久的;而进程是有生命期
的,它因创建而产生,因调度而执行,因缺 少资源而暂停,因撤消而消亡。
*程序仅是指令的有序集合;而进程则由程
序段、数据段、进程控制块组成。
*进程与程序之间不是一一对应的,即同一
程序可同时运行于若干个不同的数据集合上, 它将属于不同的进程;而一个进程也可以执 行多个程序。
Procedure getaddr(top) Begin Local r r top top top-1 Return(r) End
Procedure reladdr(blk) Begin
top top+1 (top) blk
End
第2章 进程的描述与控制
2.1.3 程序的并发执行
程序并发执行的特征
多道程序的并发执行
某道程序的几个程序段的并发执行
第2章 进程的描述与控制
2.1.3 程序的并发执行
程序并发执行的条件
若两个程序P1和P2能满足下述 条件,它们便能并发执行,且具有 可再现性。
R (P1)∩ W(P2)= { } R (P2)∩ W(P1)= { } W(P1)∩ W (P2 ) = { }
用户态:这是具有较低特权的执行状 态,它只能执行规定的指令,访问指定的 寄存器和存储区。
第2章 进程的描述与控制
2.3 进程控制
二、O操S内作核系功统能内核
* 支撑OS功内能核:是计算机硬*件资的源第管一理功次能扩: 充,* 中由断一管些理与硬件紧密相*关进的程模管块理和 运行频率较高的模块构成。内核常驻 内存* 时,钟受管特理殊保护。 * 存储器管理
第2章 进程的描述与控制
进程描述与控制优选PPT

第2章 进程描述与控制
本章知识点:
2.1 进程状态 2.2 进程描述 2.3 进程控制 2.4 线程和SMP 2.5 系统举例(略)
1
2.1 进程状态
进程是程序在并发环境中的执行过 程。其基本特征是动态性、并发性、独 立性、异步性和结构性。进程是一个主 动的实体,而程序是被动的实体。进程 的执行必须按一种顺序的方式进行,即 在任何时刻至多只有一条指令被执行。 处理器的主要功能就是执行驻留在内存 中的指令。为了提高效率,处理器可以 “同时”执行多个进程。
OS响应具有更高优先级的进程; 几乎所有操作系统都会用以下4类表来保存信息:内存表、I/O表、文件表和进程表,如图2.
6
创建
准许 就绪
事件 发生
阻塞
分派 超时
运行
等待 事件
释放
终止
• 运行:进程已占有 CPU,当前处于运行状态。 • 就绪;进程已准备好运行,等待获得 CPU。 • 阻塞;进程等待某些事件发生(如I/O操作)后才能运行。 • 创建:进程刚产生,但还未被操作系统提交到可运行进程队列
(就绪队列)中。
• 终止:进程已正常或异常结束,被操作系统从 CPU 中释放。
• 示例:P30,图2-1、2-2、2-3,表2-3说明
7
进程状态转换
原状态
转换后状态
创建
运行 就绪
OS根据作业控制请 × × 求;分时系统用户 登录;进程产生子 进程而创建进程
阻塞 ×
终止 ×
创建×× OSFra bibliotek备 ××
运行新
9
1. 进程挂起的状态
由于I/O操作比CPU计算慢得多,故常会出 现内存中所有进程都等待I/O的现象。即使运 行多个程序,处理器在大多数时间仍处于空闲 状态。为此可采用交换方法,将内存中的一部 分进程转移到磁盘中。在进程行为模式中需增 加一个新的挂起状态,当内存所有进程阻塞时, 操作系统可将一进程置为挂起状态并交换到磁 盘,再调入另一进程执行。挂起状态与原有的 阻塞和就绪状态结合为阻塞挂起状态和就绪挂 起状态。
本章知识点:
2.1 进程状态 2.2 进程描述 2.3 进程控制 2.4 线程和SMP 2.5 系统举例(略)
1
2.1 进程状态
进程是程序在并发环境中的执行过 程。其基本特征是动态性、并发性、独 立性、异步性和结构性。进程是一个主 动的实体,而程序是被动的实体。进程 的执行必须按一种顺序的方式进行,即 在任何时刻至多只有一条指令被执行。 处理器的主要功能就是执行驻留在内存 中的指令。为了提高效率,处理器可以 “同时”执行多个进程。
OS响应具有更高优先级的进程; 几乎所有操作系统都会用以下4类表来保存信息:内存表、I/O表、文件表和进程表,如图2.
6
创建
准许 就绪
事件 发生
阻塞
分派 超时
运行
等待 事件
释放
终止
• 运行:进程已占有 CPU,当前处于运行状态。 • 就绪;进程已准备好运行,等待获得 CPU。 • 阻塞;进程等待某些事件发生(如I/O操作)后才能运行。 • 创建:进程刚产生,但还未被操作系统提交到可运行进程队列
(就绪队列)中。
• 终止:进程已正常或异常结束,被操作系统从 CPU 中释放。
• 示例:P30,图2-1、2-2、2-3,表2-3说明
7
进程状态转换
原状态
转换后状态
创建
运行 就绪
OS根据作业控制请 × × 求;分时系统用户 登录;进程产生子 进程而创建进程
阻塞 ×
终止 ×
创建×× OSFra bibliotek备 ××
运行新
9
1. 进程挂起的状态
由于I/O操作比CPU计算慢得多,故常会出 现内存中所有进程都等待I/O的现象。即使运 行多个程序,处理器在大多数时间仍处于空闲 状态。为此可采用交换方法,将内存中的一部 分进程转移到磁盘中。在进程行为模式中需增 加一个新的挂起状态,当内存所有进程阻塞时, 操作系统可将一进程置为挂起状态并交换到磁 盘,再调入另一进程执行。挂起状态与原有的 阻塞和就绪状态结合为阻塞挂起状态和就绪挂 起状态。
第二章+进程的描述与控制

①copy;put;get g=(r1,r2)
②copy;get;put g=(r1,r2)
为
③put;copy;get g=(r1,r1)
什 么
④put;get;copy g=(r1,r1)
会 产
⑤get;copy;put g=(r1,r3)
生 错
⑥get;put;copy g=(r1,r1)
误 ?
哪些程序段的执行必须是顺序的?为什么? 哪些程序段的执行是并行的?为什么?
第二章 进程的描述与控制
3、程序的并发执行及其特征
(1)程序的并发执行
对于前例1中的任意程序,存在着 Ii→Ci→Pi 这样的前驱关 系,因而对一个用户程序的输入、计算和打印这三个操作,必 须顺序执行。
但在多道环境下,并不存在,或并不要求Pi→Ii+1 关系,即 Ii 、 Cj 和 Pk(i≠j≠k)之间并不存在前驱关系,因而在对一批 程序处理时,可使它们并发执行。这就产生了并发操作。
coend
───P───
───Q─── ───R───
第二章 进程的描述与控制
前趋关系
输入:
I1
计算:
并发
输出:
I2
I3
C1
C2
P1
并发
执行顺序 并发
C3
时间:5个Δt
P2
P3
t
t0 Δ t t1
t2
t3
t4
t5
t6
三个程序并发执行的前趋图
第二章 进程的描述与控制
I1
I2
I3
程序内保持 Ii→Ci→Pi 程序逻辑顺 序性。
第二章 进程的描述与控制
假定用 I、 C和 P分别表示输入、计算和输出操作(也 可以为语句),可以有下图的顺序关系。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
进程定义:“可并发执行的程序在一个 数据集合上的运行过程”。
2020/11/29
9
进程的特征
动态性:动态性是进程的最基本特征,它是程序执行 过程,它是有一定的生命期。它由创建而产生、由调 度而执行,因得不到资源而暂仃,并由撤消而死亡。 而程序是静态的,它是存放在介质上一组有序指令的 集合,无运动的含义。
在计算机系统支持并行操作时,如采用 多道程序设计技术,则内存中多道程序处于并 发执行状态。如上述有三个程序段的作业类, 虽然每个作业有前趋关系的各程序段不能在系 统CPU和输入输出各部件并行执行,但一个作 业没有前趋关系的程序段或不同作业的程序段 可以分别在CPU和各输入输出部件上并行执行。
2020/11/29
结构特征:从结构上,进程实体由程序段、数据段和进程控制 块三部分组成,UNIX中称为“进程映象”。
2020/11/29
11
(1) 进程是程序的一次执行。
(2) 进程是一个程序及其数据在处理机上顺序执行 时所发生的活动。
(3) 进程是程序在一个数据集合上运行的过程,它 是系统进行资源分配和调度的一个独立单位。
7
例:观察者/报告者
Байду номын сангаас
观察者:
报告者:
begin
begin
repeat
repeat
wait a car go through
deley a time
N=N+1;
Print N ;
N=0 ;
until
until
end
end
初始N=n时不同执行序列:
N=N+1;
Print N;
Print N ;
Print N ;
13
思考
为什么要引入进程的概念?
N=0 ;
N=N+1 ;
N=0 ;
N=N+1 ;
N=0 ;
结果各不相同:
打印n+1,N=0; 打印n,N=1;
打印n,N=0;
2020/11/29
8
(3)进程的引入
由于程序在并发执行时,各次执行的结果 不同,所以用“程序”这个概念已无法描 述程序的并发执行,所以必须引入新的概 念-进程来描述程序的并发执行。进程这一 术语最早由麻省理工学院著名的操作系统 MULTICS中提出。
失去封闭性:程序在并发执行时,是多个程序共享系统中的各 种资源,因而这些资源的状态将由多个程序来改变,致使程 序的运行已失去了封闭性。
不可再现性:程序在并发执行时,由于失去了封闭性,也将导 致失去结果的可再现性。即程序经过多次运行,虽然其各次 的环境和初始条件相同,但得到的结果却各不相同。
2020/11/29
2020/11/29
1
教学要求:
熟悉进程引入的必要性;熟练掌握进程的定义和特征, 熟练掌握进程的三个基本状态和状态的转换,熟练掌握 进程存在的唯一实体--进程控制块,熟悉进程上下文。
熟悉内核的功能,掌握增加“挂起”、 “激活”操作的 五个状态图和状态的转换,熟悉创建、撤消、阻塞、唤 醒、挂起和激活进程控制原语的功能,一般了解线程的 概念。
了解模块接口法、层次结构法和客户/服务器结构三种 操作系统结构。
2020/11/29
2
(一)进程的引入
(1) 程序顺序执行与特征
一个较大的程序通常都由若干个程序段组成,程序在执行时, 各程序段必须按照先后次序逐个执行。程序各程序段先后执 行次序关系可用前趋图表示。
前趋图是一个有向无循环图,图由结点和结点间有向边组成, 结点代表各程序段操作,而结点间的有向边表示两程序段操 作之间存在的前趋关系(“→”)。两程序段Pi和Pj的前趋 关系表示成Pi → Pj,Pi是Pj的前趋,Pj是Pi的后继。
在引入了进程实体的概念后,我们可以把传统OS
中的进程定义为:“进程是进程实体(由程序段 、数据
段、进程控制块三部分组成)的运行过程,是系统进行资
源分配和调度的一个独立单位”。
2020/11/29
12
进程同程序的比较
程序是指令的有序集合,其本身没有任何运行的含义,是一 个静态的概念。而进程是程序在处理机上的一次执行过程, 它是一个动态的概念。
第二课 进程的描述和控制
(Process Description and Control)
教学目的:
本章描述程序并发执行引入进程的概念,描述进程的 特征、状态、状态的转换、进程控制块等基本概念。 描述控制进程状态转换的OS内核和进程控制原语的功 能。 并发性是OS最重要的特征,进程是OS最基本最重要的 概念,进程管理是OS的重点和难点。
程序可以作为一种软件资料长期存在,而进程是有一定生命 期的。程序是永久的,进程是暂时的。
进程更能真实地描述并发,而程序不能
进程是由程序和数据两部分组成的
进程具有创建其他进程的功能,而程序没有
同一程序同时运行于若干个数据集合上,它将属于若干个不
同的进程。也就是说同一程序可以对应多个进程
2020/11/29
I1
C1
I2
C2
P2
P1
2020/11/29
3
程序顺序执行特征:
顺序性:程序各程序段严格按照规定的顺序 执行。
封闭性:程序运行时机内各资源只受该程序 控制而改变,执行结果不受外界因素影响。
可再现性:只要程序执行环境和初始条件相 同,程序多次执行,可获得相同结果。
2020/11/29
4
(2)程序并发执行与特征
并发性:并发性是进程的重要特征,同时也是OS的重 要特征。并发性指多个进程实体同存于内存中,能在 一段时间内同时运行。而程序是不能并发执行。
2020/11/29
10
进程的特征
独立性:进程是一个能独立运行的基本单位,即是一个独立获 得资源和独立调度的单位,而程序不作为独立单位参加运行。
异步性:进程按各自独立的不可预知的速度向前推进,即进程 按异步方式进行,正是这一特征,将导致程序执行的不可再 现性,因此OS必须采用某种措施来限制各进程推进序列以保 证各程序间正常协调运行。
5
进程的引入-2
四个上述三个程序段类的作业并发执行的前趋图如下图所示:
I1
I2
I
I
3
4
C
C
C
C
1
2
3
4
P
P
1
2
P
P
3
4
.. . . . .
Tt 1 t 2 t 3 t 4 t 5 t 6
2020/11/29
6
程序并发执行特征:
间断性:程序在并发执行时,由于它们共享资源或为完成同一 项任务而相互合作,使在并发程序之间形成了相互制约的关 系。相互制约将导致并发程序具有“执行-暂仃-执行”这种 间断性活动规律。
2020/11/29
9
进程的特征
动态性:动态性是进程的最基本特征,它是程序执行 过程,它是有一定的生命期。它由创建而产生、由调 度而执行,因得不到资源而暂仃,并由撤消而死亡。 而程序是静态的,它是存放在介质上一组有序指令的 集合,无运动的含义。
在计算机系统支持并行操作时,如采用 多道程序设计技术,则内存中多道程序处于并 发执行状态。如上述有三个程序段的作业类, 虽然每个作业有前趋关系的各程序段不能在系 统CPU和输入输出各部件并行执行,但一个作 业没有前趋关系的程序段或不同作业的程序段 可以分别在CPU和各输入输出部件上并行执行。
2020/11/29
结构特征:从结构上,进程实体由程序段、数据段和进程控制 块三部分组成,UNIX中称为“进程映象”。
2020/11/29
11
(1) 进程是程序的一次执行。
(2) 进程是一个程序及其数据在处理机上顺序执行 时所发生的活动。
(3) 进程是程序在一个数据集合上运行的过程,它 是系统进行资源分配和调度的一个独立单位。
7
例:观察者/报告者
Байду номын сангаас
观察者:
报告者:
begin
begin
repeat
repeat
wait a car go through
deley a time
N=N+1;
Print N ;
N=0 ;
until
until
end
end
初始N=n时不同执行序列:
N=N+1;
Print N;
Print N ;
Print N ;
13
思考
为什么要引入进程的概念?
N=0 ;
N=N+1 ;
N=0 ;
N=N+1 ;
N=0 ;
结果各不相同:
打印n+1,N=0; 打印n,N=1;
打印n,N=0;
2020/11/29
8
(3)进程的引入
由于程序在并发执行时,各次执行的结果 不同,所以用“程序”这个概念已无法描 述程序的并发执行,所以必须引入新的概 念-进程来描述程序的并发执行。进程这一 术语最早由麻省理工学院著名的操作系统 MULTICS中提出。
失去封闭性:程序在并发执行时,是多个程序共享系统中的各 种资源,因而这些资源的状态将由多个程序来改变,致使程 序的运行已失去了封闭性。
不可再现性:程序在并发执行时,由于失去了封闭性,也将导 致失去结果的可再现性。即程序经过多次运行,虽然其各次 的环境和初始条件相同,但得到的结果却各不相同。
2020/11/29
2020/11/29
1
教学要求:
熟悉进程引入的必要性;熟练掌握进程的定义和特征, 熟练掌握进程的三个基本状态和状态的转换,熟练掌握 进程存在的唯一实体--进程控制块,熟悉进程上下文。
熟悉内核的功能,掌握增加“挂起”、 “激活”操作的 五个状态图和状态的转换,熟悉创建、撤消、阻塞、唤 醒、挂起和激活进程控制原语的功能,一般了解线程的 概念。
了解模块接口法、层次结构法和客户/服务器结构三种 操作系统结构。
2020/11/29
2
(一)进程的引入
(1) 程序顺序执行与特征
一个较大的程序通常都由若干个程序段组成,程序在执行时, 各程序段必须按照先后次序逐个执行。程序各程序段先后执 行次序关系可用前趋图表示。
前趋图是一个有向无循环图,图由结点和结点间有向边组成, 结点代表各程序段操作,而结点间的有向边表示两程序段操 作之间存在的前趋关系(“→”)。两程序段Pi和Pj的前趋 关系表示成Pi → Pj,Pi是Pj的前趋,Pj是Pi的后继。
在引入了进程实体的概念后,我们可以把传统OS
中的进程定义为:“进程是进程实体(由程序段 、数据
段、进程控制块三部分组成)的运行过程,是系统进行资
源分配和调度的一个独立单位”。
2020/11/29
12
进程同程序的比较
程序是指令的有序集合,其本身没有任何运行的含义,是一 个静态的概念。而进程是程序在处理机上的一次执行过程, 它是一个动态的概念。
第二课 进程的描述和控制
(Process Description and Control)
教学目的:
本章描述程序并发执行引入进程的概念,描述进程的 特征、状态、状态的转换、进程控制块等基本概念。 描述控制进程状态转换的OS内核和进程控制原语的功 能。 并发性是OS最重要的特征,进程是OS最基本最重要的 概念,进程管理是OS的重点和难点。
程序可以作为一种软件资料长期存在,而进程是有一定生命 期的。程序是永久的,进程是暂时的。
进程更能真实地描述并发,而程序不能
进程是由程序和数据两部分组成的
进程具有创建其他进程的功能,而程序没有
同一程序同时运行于若干个数据集合上,它将属于若干个不
同的进程。也就是说同一程序可以对应多个进程
2020/11/29
I1
C1
I2
C2
P2
P1
2020/11/29
3
程序顺序执行特征:
顺序性:程序各程序段严格按照规定的顺序 执行。
封闭性:程序运行时机内各资源只受该程序 控制而改变,执行结果不受外界因素影响。
可再现性:只要程序执行环境和初始条件相 同,程序多次执行,可获得相同结果。
2020/11/29
4
(2)程序并发执行与特征
并发性:并发性是进程的重要特征,同时也是OS的重 要特征。并发性指多个进程实体同存于内存中,能在 一段时间内同时运行。而程序是不能并发执行。
2020/11/29
10
进程的特征
独立性:进程是一个能独立运行的基本单位,即是一个独立获 得资源和独立调度的单位,而程序不作为独立单位参加运行。
异步性:进程按各自独立的不可预知的速度向前推进,即进程 按异步方式进行,正是这一特征,将导致程序执行的不可再 现性,因此OS必须采用某种措施来限制各进程推进序列以保 证各程序间正常协调运行。
5
进程的引入-2
四个上述三个程序段类的作业并发执行的前趋图如下图所示:
I1
I2
I
I
3
4
C
C
C
C
1
2
3
4
P
P
1
2
P
P
3
4
.. . . . .
Tt 1 t 2 t 3 t 4 t 5 t 6
2020/11/29
6
程序并发执行特征:
间断性:程序在并发执行时,由于它们共享资源或为完成同一 项任务而相互合作,使在并发程序之间形成了相互制约的关 系。相互制约将导致并发程序具有“执行-暂仃-执行”这种 间断性活动规律。