第二章-进程的描述与控制

上传人:博****1 文档编号:560940000 上传时间:2023-01-12 格式:DOC 页数:45 大小:1.11MB
返回 下载 相关 举报
第二章-进程的描述与控制_第1页
第1页 / 共45页
第二章-进程的描述与控制_第2页
第2页 / 共45页
第二章-进程的描述与控制_第3页
第3页 / 共45页
第二章-进程的描述与控制_第4页
第4页 / 共45页
第二章-进程的描述与控制_第5页
第5页 / 共45页
点击查看更多>>
资源描述

《第二章-进程的描述与控制》由会员分享,可在线阅读,更多相关《第二章-进程的描述与控制(45页珍藏版)》请在金锄头文库上搜索。

1、第二章 进程的描述与控制第1节 进程的基本概念一、程序的顺序执行程序是一个在时间上有严格次序的指令序列,仅当前一操作(指令)执行完后,才能执行后继操作,如下图b。如果在单道环境下对用户作业的处理,总须先输入用户的程序和数据,然后进行计算,最后才能打印计算结果,见下图a。程序顺序执行的前驱图所以,在单道系统中,程序执行具有以下特征:(1) 顺序性; (2) 封闭性; (3) 可再现性 -P33-34其中最大特征就是程序的顺序执行。二、前趋图(描述程序执行顺序的工具)前趋图(Precedence Graph)是一个有向无循环图,记为DAG (Directed Acyclic Graph),用于描述

2、进程之间执行的前后关系。图中的每个结点可用于描述一个进程、一段程序、乃至一条语句;结点间的有向边“”则用于表示两个结点之间存在的偏序关系(Partial Order)或前趋关系(Precedence Relation)。如果PiPj,称Pi是Pj的直接前趋,而称Pj是Pi的直接后继。在前趋图中,把没有前趋的结点称为初始结点(Initial Node),把没有后继的结点称为终止结点(Final Node)。每个结点还具有一个重量(Weight),用于表示该结点所含有的程序量或结点的执行时间。前趋图对于上图(a)所示的前趋图,存在下述前趋关系:P1P2,P1P3,P1P4,P2P5,P3P5,P4

3、P6,P4P7,P5P8,P6P8,P7P9,P8P9对于具有下述四条语句的程序段,可以用右边的前驱图描述语句间的前驱关系: 前趋图:S1: a=x+2S2: b=y+4S3: c=a+bS4: d=c+b 三、程序的并发执行1、什么是并发执行、并行执行-回顾概念在下图中,每一个作业由输入程序、计算程序和打印程序组成,以至对一个作业的输入、计算和打印三个操作,必须顺序执行,三操作之间存在着IiCiPi这样的前趋关系。对于同类的四个作业,每个作业的内部操作之间、作业和作业的操作之间存在下图描述的前驱关系:程序并发执行时的前趋图讨论:哪些操作的执行必须是顺序的;哪些操作的执行是可以并行的?在该例中

4、存在下述前趋关系:IiCi,CiPi,IiIi+1,CiCi+1,PiPi+1;而Ii+1和Ci及Pi-1是重迭的,亦即在Pi-1和Ci以及Ii+1之间,可以并行执行。多程序并发执行表现为,这些程序的执行在时间上是重叠的,一个程序的执行尚未结束,另一个程序的执行已经开始,即使这种重叠是很小的一部分。前驱图上重叠的部分,是不同程序在不同资源上并行工作形成的。程序的并发执行可进一步分为: 不同程序间的并发执行; 同一程序中不同程序段(线程)的并发执行,例如,在一个程序中有5个程序段:上图。2、程序并发执行带来的影响:(与程序的顺序执行相比较)(1) 程序运行的间断性、异步性;(2) 程序的执行失去

5、了封闭性和以此为基础的可再现性;例如,有两个循环程序A和B,它们共享一个变量n,初值为10。并发程序相互影响示意图 n=n+1在Print(n)和n=0之前,此时得到的n值分别为11,11,0 n=n+1在Print(n)和n=0之后,此时得到的n值分别为10,0,1 n=n+1在Print(n)和n=0之间,此时得到的n值分别为10,11,0。(3) 程序之间由于资源共享与竞争,形成了相互制约。为了合理管理系统资源、协调各程序间在执行时对资源的竞争,需要一个记录和描述程序执行过程的基本单位,于是引进了“进程”这一概念。四、进程的定义1、 较典型的进程定义有:(1) 进程是一个程序在给定活动空

6、间和初始环境下,在一个处理机上的一次执行过程。(2) 进程是程序在一个数据集合上运行的过程,它是系统进行资源分配和调度的一个独立单位。2、进程实体:程序段、相关数据、PCB(进程控制块,是管理进程的数据结构)程序与数据:描述进程本身所应完成的功能;PCB:记录进程的动态特征,记录进程与其他进程、与系统资源间的关系。进程控制块(PCB)程序与数据3、进程的特征:(1) 结构特征 (2) 动态性 (3) 并发性 (4) 独立性 (5) 异步性 -P36在引入了进程实体的概念后,我们可以把传统OS中的进程定义为:“进程是进程实体的一次运行过程,是系统进行资源分配和调度的一个独立单位”。五、进程的三种

7、基本状态执行状态:进程已获得当前运行所必需的资源,并已获得处理机,它的程序正在处理机上执行。 -P36就绪状态:进程已获得除CPU之外的,继续往下运行所必需的资源,一旦得到CPU控制权,立即可以投入运行。(就绪队列) -P36阻塞状态(等待状态):进程由于等待某一事件的发生而暂停执行,这时,即使给它CPU控制权,它也无法执行。(等待队列) -P36进程的三种基本状态间的转换:进程的三种基本状态及其转换图再增加两种常见状态:创建状态:创建进程是一个复杂的过程,要持续一段时间。 -P37终止状态:撤销进程也是一个复杂的过程,要持续一段时间。-P37进程的五种基本状态及转换图六、挂起状态在一般OS中

8、,进程的基本状态只有前面三种。而在另一些OS中,由于控制的需要,引入“挂起”状态。“挂起”状态分为静止就绪和静止阻塞两种。“挂起”就意味着暂停对该进程分配CPU资源。挂起状态同样有对应的队列。引入挂起后,进程的5种状态转换:具有挂起状态的进程状态转换图具有创建、终止和挂起状态的进程状态图引起“挂起”的原因: -P38(1) 负荷调节的需要。 (2) 终端用户的请求。(3) 父进程请求。 (4) 操作系统的需要。七、进程控制块(PCB)1、进程控制块:是进程管理的数据结构。包含了一个进程的描述信息、控制信息、资源信息的。它随进程的创建而产生、在进程执行的过程中动态地记录进程各信息的变化。当一个进

9、程完成其功能后,系统则回收PCB,进程也随之消失。PCB是进程存在的唯一标志;是操作系统的一种资源。2、进程控制块中的信息(1) 进程标识符进程标识符用于唯一标识一个进程。一个进程通常有两种标识符: 内部标识符。在所有的操作系统中,都为每一个进程赋予一个唯一的数字标识符,它通常是一个进程的序号。设置内部标识符主要是为了方便系统使用。 外部标识符。它由创建者提供,通常是由字母、数字组成,往往是由用户(进程)在访问该进程时使用。为了描述进程的家族关系,还应设置父进程标识及子进程标识。此外,还可设置用户标识,以指示拥有该进程的用户。(2) 处理机状态(处理机上下文) 处理机状态信息主要包括进程运行过

10、程中处理机的各种寄存器中的内容: 通用寄存器,又称为用户可视寄存器,它们是用户程序可以访问的,用于暂存信息, 在大多数处理机中,有832个通用寄存器,在RISC结构的计算机中可超过100个; 指令计数器,其中存放了要访问的下一条指令的地址; 程序状态字PSW,其中含有状态信息,如条件码、执行方式、中断屏蔽标志等; 用户栈指针,指每个用户进程都有一个或若干个与之相关的系统栈,用于存放过程和系统调用参数及调用地址。栈指针指向该栈的栈顶。(3) 进程调度信息在PCB中还存放一些与进程调度和进程对换有关的信息,包括: 进程状态,指明进程的当前状态, 作为进程调度和对换时的依据; 进程优先级,用于描述进

11、程使用处理机的优先级别的一个整数, 优先级高的进程应优先获得处理机; 进程调度所需的其它信息,它们与所采用的进程调度算法有关,比如,进程已等待CPU的时间总和、进程已执行的时间总和等; 事件,是指进程由执行状态转变为阻塞状态所等待发生的事件,即阻塞原因。 (4) 进程控制信息进程控制信息包括: 程序和数据的地址,是指进程的程序和数据所在的内存或外存地(首)址,以便再调度到该进程执行时,能从PCB中找到其程序和数据; 进程同步和通信机制,指实现进程同步和进程通信时必需的机制,如消息队列指针、信号量等,它们可能全部或部分地放在PCB中; 资源清单,是一张列出了除CPU以外的、进程所需的全部资源及已

12、经分配到该进程的资源的清单; 链接指针,它给出了本进程(PCB)所在队列中的下一个进程的PCB的首地址。3、进程控制块的作用:标识进程的存在;动态地记录进程运行过程中的各类信息,如进程状态、中断现场、进程的优先级等,提供给OS的进程管理和进程调度使用;实现进程的间断性运行方式;实现与其他进程的同步与通信。 -P404、进程的队列在系统中存在的各种进程队列,就是由进程的PCB组成的。PCB组成队列的方式:链接方式、索引方式。(1) 链接方式PCB链接队列示意图(2) 索引方式按索引方式组织PCB示意图5、进程与程序的区别(1) 程序是静态的,进程是动态的;(2) 进程更能真实地描述并发,而程序不

13、能;(3) 一个程序可对应多个进程;(4) 进程有生命周期,有诞生有消亡,是短暂的;程序是相对长久的;(5) 程序可作为软件资源长期保存,而进程只是一次执行过程,是暂时的;(6) 进程是系统分配/调度的独立单位,能与其他进程并发执行;(7) 进程包含程序、数据、PCB三部分;(8) 进程具有创建其他进程的功能,而程序没有。第2节 进程控制一、OS的内核1、什么是OS的内核:一个完整的OS是由内核和外壳两大部分组成,内核主要是指: -P432、OS内核的两大功能: -P43二、进程控制的有关概念1、处理机的执行状态: -P432、原语:是由若干机器指令构成的、完成特定功能的程序段。原语只能在系统

14、状(核心态)下被执行。原语的执行是不能被打断的。-P43OS内核中包括的原语主要有:进程控制原语、进程通信原语、资源管理原语和其他方面的原语。其中,进程控制原语包括:创建原语、撤消原语、阻塞原语、唤醒原语等等。3、进程控制:就是操作系统用一些具有特定功能的程序段来创建、终止进程,完成进程在各状态间的转换,从而达到多进程高效率并发执行和协调、实现资源共享的目的。操作系统的进程控制机构属于OS的内核,它是硬件的首次延伸,它通过执行各种原语来实现其控制功能。学习关于进程控制的原语,我们应该关注:(1) 什么时候、由于什么事件导致原语的执行;(2) 由谁来启动原语;(3) 每个原语的内部处理流程是什么

15、。三、进程的创建1、进程创建的两种方式:(1) 由系统创建:在OS生成时建立的一些系统进程;一个应用系统被启动时最初的一些进程。(2) 由父进程创建:当一个进程执行,去完成所规定的功能时,它能自己创建一些子进程,使其各自分担其中的部分功能;子进程也可以创建自己的子进程。这样就形成了进程家族和进程树。2、进程树:描述进程家族关系的有向树进程树示意图UNIX系统中,在树型进程关系中,子进程可以继承其父进程所拥有的资源;在子进程撤消时,继承的资源归还给父进程。Windows系统中,在树型进程关系中,子/父进程间没有资源继承关系。3、引起创建进程的事件 -P44(1) 作业调度。 (2) 用户登录。 (3) 提供服务。 (4) 启动应用程序。 (5) 应用请求。4

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 建筑/环境 > 施工组织

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号