二章节进程描述与控制.ppt

上传人:本田雅阁 文档编号:3106683 上传时间:2019-07-09 格式:PPT 页数:41 大小:671.53KB
返回 下载 相关 举报
二章节进程描述与控制.ppt_第1页
第1页 / 共41页
二章节进程描述与控制.ppt_第2页
第2页 / 共41页
二章节进程描述与控制.ppt_第3页
第3页 / 共41页
二章节进程描述与控制.ppt_第4页
第4页 / 共41页
二章节进程描述与控制.ppt_第5页
第5页 / 共41页
点击查看更多>>
资源描述

《二章节进程描述与控制.ppt》由会员分享,可在线阅读,更多相关《二章节进程描述与控制.ppt(41页珍藏版)》请在三一文库上搜索。

1、第二章 进程描述与控制,Process Concept & Process Control,进程的基本概念 Process Concept,进程的引入 进程的定义和特征 进程的基本状态及其转换 具有挂起功能的进程状态及其转换,进程的引入,多道程序系统的特点是并行性。为了充分利用系统资源,在主存中同时存放多道作业运行,所以各作业之间是并行的 各程序由于同时存在于主存中,它们之间必定会存在相互依赖,相互制约的关系。 (间接制约关系、直接制约关系) 在多道程序系统所带来的复杂环境中,程序具有了并行、制约、动态的特性,原来的程序概念,难以刻画系统中的情况。 程序本身完全是静态的概念 程序概念也反映不了

2、系统中的并行特性,1、程序的顺序执行,一个较大的程序通常都是由若干个程序段组成。在程序执行时,必须按照某种先后次序逐个执行,仅当前一操作执行完后,才能执行后继操作。 例如:在进行计算时,总是先输入用户的程序和数据,然后才能计算,计算完成后再将结果打印出来。,程序顺序执行时的前驱图,对于一个程序段中的多条语句来说,也有一个执行顺序的问题。如果对于下述三条语句的程序段: S1: axy S2: ba5 S3: Cb1 (其中S2必须在a被赋值以后才能执行;同样S3也只能在b被赋值 以后才能执行),2、 程序顺序执行时的特征,顺序性 处理机的操作,严格按照程序所规定的顺序执行,即只有前一操作结束后,

3、才能执行后继操作。 封闭性(失去交换性) 程序是在封闭的环境下运行的。即程序在运行时,它独占全机资源,因而机内各资源的状态(除初始状态外),只有程序才能改变它。程序一旦开始运行,其执行结果不受外界因素的影响。 可再现性 只要程序执行时的环境和初始条件都相同,不论它是从头到尾的不停顿的执行,还是“走走停停”地执行,都将获得相同的结果。,3. 多道程序的并发执行,计算机能够同时处理多个具有独立功能的程序(批处理系统,分时系统、实时系统、网络与分布式系统)。这样的执行环境具有三个特点: 独立性 随机性 资源共享 硬件资源:CPU、输入输出设备,存储器 软件资源:各种例行程序、各种共享的数据 多道程序

4、环境下执行程序的道数计算机系统中CPU的个数 单CPU中,则由N1道程序处在等待CPU的状态 输入输出设备有限将导致这些设备被共享、内存有限将导致内存被共享,程序并发执行可分为两种:,多道程序系统的程序执行环境变化所引起的多道程序的并发执行 由于资源有限,多道程序的并发执行总是伴随着资源的共享与竞争,制约了各道程序的执行速度。 在某道程序段中,包含着一部分可以同时执行或顺序颠倒执行的代码 例如:read(a); read(b); 既可以同时执行,也可以颠倒次序执行,同时执行不会改变顺序程序所具有的逻辑行为,可采用并发执行来充分利用资源。,程序并发执行,一组逻辑上相互独立的程序或程序段在执行过程

5、中,其执行时间在客观上相互重叠,即一个程序段的执行尚未结束,另一个程序段的执行已经开始的这种执行方式。,程序的并发执行,程序并发执行时的前驱图,4.程序并发执行时的特征,间断性 程序在并发执行时,由于它们共享资源或为完成某一项任务而合作,致使在并发程序之间存在相互制约的关系。(I、C、P是三个相互合作的程序,当计算程序完成Ci1的计算后,如果输入程序I尚未完成对Ii的处理,则计算程序无法进行Ci处理,致使计算程序在停运行。) 失去封闭性 程序在并发执行时,是多个程序共享系统中的各种资源,因而这些资源的状态将由多个程序来改变,致使程序的运行失去了封闭性。,4.程序并发执行时的特征(续),不可再现

6、性 程序在并发执行时,由于失去了封闭性,也导致失去了可再现性。 例如:有两个循环程序A和B,它们共享一个变量N。程序A每执行一次时都要做NN1操作;程序B每执行一次时,都要做print(N)操作,然后再将N置成“0”,程序A和B以不同的速度运行。(假定某时刻变量N的值为k) (1)NN1在print(N)和N0之前,此时得到的N值分别为 (2)NN1在print(N)和N0之后,此时得到的N值分别为 (3)NN1在 print(N)和N0之间,此时得到的N值分别为,k1,k1,0 k, 0, 1 k, k1, 0,5.程序并发执行的条件,1966年,Bernstein(伯恩斯坦)提出了相邻语句

7、P1,P2可以并发执行的条件。 如果并发执行的各程序段中语句或指令满足Bernstein的条件,则认为并发执行不会对执行结果的封闭性和可再现性产生影响。,定义程序读集与写集符号,R(Pi)=a1,a2,am 表示程序Pi在执行期间需引用的变量的集合,称Pi的读集; W(Pi)=b1,b2,bm 表示程序Pi在执行期间需改变的变量的集合,称Pi的写集; 若有两条语名P1: c=a+b; P2:x=x+1; 则它们的读集与写为: R(P1)= a, b W(P1)= c R(P2)= x W(P2)= x P1的读集与写集的交集为空;P2的读集与写集的交集非空; R(P1)W(P1)= R(P2)

8、 W(P1)= x ,Bernstein条件,若两个程序P1和P2能满足下述条件,它们便能并发执行,否则不能 R(P1)W(P2) R(P2)W(P1) W(P1) W(P2)= ,R(P1)W(P2) R(P2)W(P1) W(P1) W(P2)= 即 R (P1)W(P2)= W(P1)R (P2)= W(P1)W(P2)= 同时成立,例1,若有两条语句P1:cab和P2:wc1,判断它们是否可以并发执行? 解:它们的“读集”和“写集”分别为 R(P1)a,b; W(P1)c R(P2)c ; W(P2)w R(P1)W(P2)= R(P2)W(P1)=c 所以:两条语句不能并发执行。,同

9、一语句的“读集”和“写集”的交集是空集。 R(cab)W(cab)= R(wc1)W(wc1)= ,同一语句的“读集”和“写集”也可能相同(交集不为空) 例如计数语句: xx1 读集和写集相同 R(xx1)W(xx1)x,例:下述四条语句,S1: ax + y S2: bz + 1 S3: ca + b S4: wc + 6,R(S1)=x,y W(S1)=a; R(S2)=z W(S2)=b; R(S3)=a,b W(S3)=c; R(S4)=c W(S4)=w;,程序顺序执行、并发执行特征比较,程序的顺序执行 程序的并发执行 1 顺序性 1 间断性 2 封闭性 2 失去封闭性 3可再现性

10、3 不可再现性,进程的定义,进程有许多各式各样的定义 (1)进程是可以并发执行的计算部分 (2)进程是一个独立的可以调度的活动 (3)进程是一个抽象的实体,当它执行某个任务时,将要分配和释放各种资源 (4)行为的规则叫程序,程序在处理机上执行的活动称为进程。 (5)一个进程是一系列逐一执行的操作,而操作的确切含义则有赖于以何种详尽程度来描述进程。,我国对进程的定义,进程:一个具有独立功能的程序关于某个数据集合的一次运行过程。 在处理机上的执行过程和分配资源的基本单位 在这里,程序指一组操作序列,而数据集则是接受程序规定操作的一组存储单元的内容。,进程和程序的区别,动态性, 进程的实质是程序的一

11、次执行过程,它由“创建”而产生,由“调度”而执行,因得不得资源而暂停执行,最后由“撤销”而消记亡,是有一定的生命期,而程序只是指令的集合,本身无运行的含义,是静态的。 并发性,并发性是进程的重要特征,引入进程的目的正是为了使其程序和其它程序并发执行;而程序(没有建立进程)是不能并发执行的。 独立性,是指进程一个能独立运行、独立分配资源和独立调度的基本单位;凡未建立进程的程序,都不能作为一个独立的单位参加运行。 异步性,各进程各自以独立的、不可预知的速度向前推进。,进程的三种基本状态 (Process State),就绪 (Ready): 万事具备,只欠东风(被执行). 执行 (Running)

12、 占有CPU. 阻塞(Blocked/Waiting) 进程因为等待某事件的发生(如I/O完成),不能继续执行.,进程3种状态间的转换,就绪-执行 执行-就绪 执行-阻塞 阻塞-就绪,进程基本状态图diagram of process state,等待事件,事件发生,进程调度,进程创建,进程撤消,挂起功能的引入,对换的需要 为缓解内存紧张的情况,将内存中处于阻塞状态的进程换至外存上,使进程处于一种有别于阻塞状态的新状态。 系统负荷调节的需要 系统中负荷过重,资源数目相对不足时需要挂起一部分进程以调整系统负荷。 终端用户的需要 用户检查自己作业执行情况和中间结果时,因同预期结果不符而要求挂起进程

13、以便进行检查和改正。,进程的5种状态,活动就绪 (Ready_Active) 静止就绪 (Ready_Static) 执行 (Running) 活动阻塞(Blocked_A) 静止阻塞(Blocked_S),进程5种状态间的转换图,进程描述,操作系统的控制结构 进程的结构描述 PCB的结构 PCB的组织形式,进程和资源的关系,操作系统的控制结构,为掌握每一个进程和资源的当前状态信息, OS为每个被管理的对象建立并维护一张信息表,称为操作系统控制表,包括 内存表 输入/输出表 文件表 进程表,进程的主要组成部分,进程控制块(PCB) 程序 数据 系统栈,进程上下文,上文: 已执行过的进程指令数据

14、在寄存器和栈中的内容 正文 正在执行的 下文 待执行的进程指令数据在寄存器和栈中的内容,机器指令与寄存器,通过DEBU了解机器指令理解寄存器,CPU现场保护的必要性,mov ax, 3 add ax, 1 mov 010B, ax,mov ax, 5 add ax, bx mov 020C, ax,CPU,AX,BX,CX,进程A,进程B,Process Control Block (PCB进程控制块),OS为了管理、控制进程,设置PCB,存储进程相关信息 Process number 进程标识符 Process state 进程现行状态 Program counter 程序计数器 CPU registers 寄存器值 CPU scheduling information调度信息 Memory-management information 存储管理信息 Accounting information记帐信息 I/O status information I/O状态信息,如打开的文件,进程控制块的组织形式:链接方式,进程控制块的组织形式:索引方式,进程在各队列间迁移,方块表示队列,圆圈表示资源,CPU Switch From Process to Process,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1