操作系统进程讲解
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
于就绪状态
进程状态转换条件(续)
运行 --> 阻塞
当一进程必须等待时 ➢ OS尚未完成服务 ➢ 对一资源的访问尚不能进行 ➢ 初始化I/O 且必须等待结果 ➢ 等待某一进程提供输入 (IPC)
阻塞 --> 就绪
➢ 当所等待的事件发生时。 由于执行的进程变为阻塞状态后,调度程序立即把 处理机分配给另一个就绪进程;因此,阻塞进程的 事件消失后,进程不会立即恢复到执行状态,而转 变为就绪状态,重新等待处理机
2.1.2.前趋图
➢ 为了描述一个程序的各பைடு நூலகம்分(程序段或语句)间的依赖 关系,或者是一个大的计算的各个子任务间的因果关 系,我们常常采用前趋图方式。
➢ 前趋图是一个有向无循环图 ➢ 如:
前趋图(续)
前趋图中的每个结点可以表示一条语句、 一个程序段或进程,结点间的有向边表示 两个结点之间存在的偏序(Partial_Order) 或前趋关系(Precedence_Relation)“→” ={(Pi,Pj)|在Pj开始前Pi必须完成}如果 (Pi,Pj)∈→,可写成Pi→Pj,Pi是Pj的 直接前趋,Pj是Pi的直接后继。前趋图中 必须不存在循环,如下图不是前趋图。
运行
就绪
等待
图2-4 进程的状态及其转换
进程状态转换条件
在进程运行过程中,由于自身进展情况 及外界环境的变化,这三种基本状态可以依 据一定的条件相互转换: 就绪 --> 运行 ➢ 调度程序选择一个新的进程运行 运行 --> 就绪 ➢ 运行进程用完了时间片 ➢ 运行进程被中断,因为一高优先级进程处
进程是动态产生,动态消亡的,进程在其生命周期内,在三种基本 状态之间转换
➢ 并发性:任何进程都可以同其他进程一起向前推进
➢ 独立性:进程是一个能独立运行的基本单位,同时也是系统分配资 源和调度的独立单位;进程在获得必要的资源后便可运行
➢ 异步性:由于进程间的相互制约,使进程具有执行的间断性,即进 程按各自独立的、不可预知的速度向前推进
2.1.3 程序并发执行及特征
并发的含义: 在一定时间内物理机器上有两个或两
个以上的程序同处于开始运行但尚未结 束的状态,并且次序不是事先确定的。 即一个程序段的执行尚未结束,另一个 程序段的执行已经开始,执行时间在客 观上相互重叠
2. 程序的并发执行
在对一批程序进行处理时,可以并发执行。例 如,输入、计算、打印三个程序对一批作业进 行处理时,存在以下的前趋关系:
3.程序的顺序执行的特征
➢ 顺序性:一个程序的各个部分的执行,严 格地按照某种先后次序执行;
➢ 封闭性:程序在封闭的环境下运行,即程 序运行时独占全部系统资源;
➢ 可再现性:只要程序执行时的环境和初 始条件相同,当程序重复执行时,不论它 是从头到尾不停顿地执行,还是“停停走 走”地执行,都将获得相同的结果。
图 2-2 并发执行时的前趋图
Ii→Ci,Ii→Ii+1, Ci→Pi, Ci→Ci+1,Pi→Pi+1 在Pi-1和Ci以及Ii+1之间,可以并发执行。
S1: a∶=x+2 S2: b∶=y+4 S3: c∶=a+b S4: d∶=c+b
图 2-3 四条语句的前趋关系
3.程序的并发执行的特征
✓ 不可再现性:由于程序的并发执行,打破了由另 一程序独占系统资源的封闭性,因而破坏了可再 现性。
当前一操作执行后,才能执行后继操作。
程序的顺序执行(续)
例如:进行计算。I:输入操作 C:计算操作 P:打印操作。在进行 计算时,总是先输入用户的程序和 数据,然后进行计算,最后将结果 打印出来。
2.语句的顺序执行
S1:a:=x+y S2:b:=a-5 S3:c:=b+1
如下图,语句S2必须在a被 赋值后才能执行;S3也只能在b 被赋值后才能执行。
➢ 程序是静态的,进程是动态的; ➢ 进程具有并行特性,而程序没有 ➢ 进程是竞争计算机资源的基本单位,从而
其并行性受到系统的控制,也就是对进程 独立性和异步性的限制 ➢ 不同的进程可以包含同一程序,只要该程 序所对应的数据集不同,即程序的两次执 行对应不同的进程
3. 进程的特征
➢ 动态性:进程的实质是程序的一次执行过程,
第二章 进程管理
2.1 进程的基本概念 2.2 进程控制 2.3 进程同步 2.4 经典进程的同步问题 2.5 管程机制 2.6 进程通信
2.1.1程序的顺序执行及特征
1. 基本概念
在计算机系统中只有一个程序在运行,这个 程序独占系统中所有资源,其执行不受外 界影响。通常一个程序可分成若干个程序 段,它们必须按照某种先后次序执行,仅
2.1.4 进程的特征与状态
1.进程的概念
➢进程是程序的一次执行 ➢ 进程是具有独立功能的程序关于某个数据集合上的 一次运行活动,是系统进行资源分配和调度的独立单 位 ➢ 进程是可与其他程序并发执行的程序,在一个数据 集合上的运行过程。它是系统进行资源分配和调度的 一个独立单位。
2. 进程与程序的区别
✓ 间断性:程序并发执行时,由于它们共享资源或 程序之间相互合作完成一项共同任务,因而使程 序之间相互制约。
✓ 失去封闭性:多个程序共享系统中的资源,只是 程序的运行已失去了封闭性。
✓ 通信性:对于相互合作的程序,为了更有效地协 调运行,相互之间进行通信。
4.Berstein条件
1.语句i的读集R(pi)和写集W(Pi)
例: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)={C}
2.Berstein条件: R(P1)∩W(P2) ∪ R(P2) ∩ W(P1) ∪ W(P1) ∩ W(P2)={ } 即:读写互斥、写写互斥、读读不互斥
3. 说明:多个进程之间不引入控制,若要并发执行,必满足该 条件(能够解决并发执行时的不可再现问题)。不满足这 个条件的两个进程引入控制后也可以并发执行。
➢ 结构特征:为了控制和管理进程,系统为每个进程设立一个进程控 制块- PCB。
4.进程的状态及其演变
运行中的进程具有以下三种基本状态
➢ 就续状态:当进程已分配到除CPU以外的所有必要 资源时,它便处于就绪状态,一旦获得CPU,便立 即执行。
➢ 执行状态:已获得CPU的进程进入执行状态
➢ 阻塞状态:正在执行的进程,由于发生某个事件而 暂时无法执行时,便放弃处理机而进入阻塞状态
进程状态转换条件(续)
运行 --> 阻塞
当一进程必须等待时 ➢ OS尚未完成服务 ➢ 对一资源的访问尚不能进行 ➢ 初始化I/O 且必须等待结果 ➢ 等待某一进程提供输入 (IPC)
阻塞 --> 就绪
➢ 当所等待的事件发生时。 由于执行的进程变为阻塞状态后,调度程序立即把 处理机分配给另一个就绪进程;因此,阻塞进程的 事件消失后,进程不会立即恢复到执行状态,而转 变为就绪状态,重新等待处理机
2.1.2.前趋图
➢ 为了描述一个程序的各பைடு நூலகம்分(程序段或语句)间的依赖 关系,或者是一个大的计算的各个子任务间的因果关 系,我们常常采用前趋图方式。
➢ 前趋图是一个有向无循环图 ➢ 如:
前趋图(续)
前趋图中的每个结点可以表示一条语句、 一个程序段或进程,结点间的有向边表示 两个结点之间存在的偏序(Partial_Order) 或前趋关系(Precedence_Relation)“→” ={(Pi,Pj)|在Pj开始前Pi必须完成}如果 (Pi,Pj)∈→,可写成Pi→Pj,Pi是Pj的 直接前趋,Pj是Pi的直接后继。前趋图中 必须不存在循环,如下图不是前趋图。
运行
就绪
等待
图2-4 进程的状态及其转换
进程状态转换条件
在进程运行过程中,由于自身进展情况 及外界环境的变化,这三种基本状态可以依 据一定的条件相互转换: 就绪 --> 运行 ➢ 调度程序选择一个新的进程运行 运行 --> 就绪 ➢ 运行进程用完了时间片 ➢ 运行进程被中断,因为一高优先级进程处
进程是动态产生,动态消亡的,进程在其生命周期内,在三种基本 状态之间转换
➢ 并发性:任何进程都可以同其他进程一起向前推进
➢ 独立性:进程是一个能独立运行的基本单位,同时也是系统分配资 源和调度的独立单位;进程在获得必要的资源后便可运行
➢ 异步性:由于进程间的相互制约,使进程具有执行的间断性,即进 程按各自独立的、不可预知的速度向前推进
2.1.3 程序并发执行及特征
并发的含义: 在一定时间内物理机器上有两个或两
个以上的程序同处于开始运行但尚未结 束的状态,并且次序不是事先确定的。 即一个程序段的执行尚未结束,另一个 程序段的执行已经开始,执行时间在客 观上相互重叠
2. 程序的并发执行
在对一批程序进行处理时,可以并发执行。例 如,输入、计算、打印三个程序对一批作业进 行处理时,存在以下的前趋关系:
3.程序的顺序执行的特征
➢ 顺序性:一个程序的各个部分的执行,严 格地按照某种先后次序执行;
➢ 封闭性:程序在封闭的环境下运行,即程 序运行时独占全部系统资源;
➢ 可再现性:只要程序执行时的环境和初 始条件相同,当程序重复执行时,不论它 是从头到尾不停顿地执行,还是“停停走 走”地执行,都将获得相同的结果。
图 2-2 并发执行时的前趋图
Ii→Ci,Ii→Ii+1, Ci→Pi, Ci→Ci+1,Pi→Pi+1 在Pi-1和Ci以及Ii+1之间,可以并发执行。
S1: a∶=x+2 S2: b∶=y+4 S3: c∶=a+b S4: d∶=c+b
图 2-3 四条语句的前趋关系
3.程序的并发执行的特征
✓ 不可再现性:由于程序的并发执行,打破了由另 一程序独占系统资源的封闭性,因而破坏了可再 现性。
当前一操作执行后,才能执行后继操作。
程序的顺序执行(续)
例如:进行计算。I:输入操作 C:计算操作 P:打印操作。在进行 计算时,总是先输入用户的程序和 数据,然后进行计算,最后将结果 打印出来。
2.语句的顺序执行
S1:a:=x+y S2:b:=a-5 S3:c:=b+1
如下图,语句S2必须在a被 赋值后才能执行;S3也只能在b 被赋值后才能执行。
➢ 程序是静态的,进程是动态的; ➢ 进程具有并行特性,而程序没有 ➢ 进程是竞争计算机资源的基本单位,从而
其并行性受到系统的控制,也就是对进程 独立性和异步性的限制 ➢ 不同的进程可以包含同一程序,只要该程 序所对应的数据集不同,即程序的两次执 行对应不同的进程
3. 进程的特征
➢ 动态性:进程的实质是程序的一次执行过程,
第二章 进程管理
2.1 进程的基本概念 2.2 进程控制 2.3 进程同步 2.4 经典进程的同步问题 2.5 管程机制 2.6 进程通信
2.1.1程序的顺序执行及特征
1. 基本概念
在计算机系统中只有一个程序在运行,这个 程序独占系统中所有资源,其执行不受外 界影响。通常一个程序可分成若干个程序 段,它们必须按照某种先后次序执行,仅
2.1.4 进程的特征与状态
1.进程的概念
➢进程是程序的一次执行 ➢ 进程是具有独立功能的程序关于某个数据集合上的 一次运行活动,是系统进行资源分配和调度的独立单 位 ➢ 进程是可与其他程序并发执行的程序,在一个数据 集合上的运行过程。它是系统进行资源分配和调度的 一个独立单位。
2. 进程与程序的区别
✓ 间断性:程序并发执行时,由于它们共享资源或 程序之间相互合作完成一项共同任务,因而使程 序之间相互制约。
✓ 失去封闭性:多个程序共享系统中的资源,只是 程序的运行已失去了封闭性。
✓ 通信性:对于相互合作的程序,为了更有效地协 调运行,相互之间进行通信。
4.Berstein条件
1.语句i的读集R(pi)和写集W(Pi)
例: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)={C}
2.Berstein条件: R(P1)∩W(P2) ∪ R(P2) ∩ W(P1) ∪ W(P1) ∩ W(P2)={ } 即:读写互斥、写写互斥、读读不互斥
3. 说明:多个进程之间不引入控制,若要并发执行,必满足该 条件(能够解决并发执行时的不可再现问题)。不满足这 个条件的两个进程引入控制后也可以并发执行。
➢ 结构特征:为了控制和管理进程,系统为每个进程设立一个进程控 制块- PCB。
4.进程的状态及其演变
运行中的进程具有以下三种基本状态
➢ 就续状态:当进程已分配到除CPU以外的所有必要 资源时,它便处于就绪状态,一旦获得CPU,便立 即执行。
➢ 执行状态:已获得CPU的进程进入执行状态
➢ 阻塞状态:正在执行的进程,由于发生某个事件而 暂时无法执行时,便放弃处理机而进入阻塞状态