《工学进程管理》ppt课件

上传人:tia****nde 文档编号:70809926 上传时间:2019-01-18 格式:PPT 页数:171 大小:1.07MB
返回 下载 相关 举报
《工学进程管理》ppt课件_第1页
第1页 / 共171页
《工学进程管理》ppt课件_第2页
第2页 / 共171页
《工学进程管理》ppt课件_第3页
第3页 / 共171页
《工学进程管理》ppt课件_第4页
第4页 / 共171页
《工学进程管理》ppt课件_第5页
第5页 / 共171页
点击查看更多>>
资源描述

《《工学进程管理》ppt课件》由会员分享,可在线阅读,更多相关《《工学进程管理》ppt课件(171页珍藏版)》请在金锄头文库上搜索。

1、第二章 进程管理,1.1 进程的基本概念 1.2 进程控制 1.3 进程的同步与互斥 1.4 经典的进程同步问题 1.5 管程机制 1.6 进程通信 1.7 线程,第 一 节,进程的基本概念,一、程序的顺序执行,程序是一个在时间上有严格次序的指令序列。仅当前一操作(程序段)执行完后,才能执行后继操作。例如,在进行计算时,总须先输入用户的程序和数据,然后进行计算,最后才能打印计算结果。,图 2-1 程序的顺序执行,在单道系统中,程序执行具有以下特征(P5): (1) 顺序性 (2) 封闭性 (3) 可再现性 其中最大特征就是程序的顺序执行。,二、前趋图,前趋图(Precedence Graph)

2、是一个有向无循环图,记为DAG(Directed Acyclic Graph),用于描述进程之间执行的前后关系。图中的每个结点可用于描述一个程序段或进程、一条语句;结点间的有向边则用于表示两个结点之间存在的偏序(Partial Order)或前趋关系(Precedence Relation)“”。,=(Pi, Pj)|Pi must complete before Pj may start, 如果(Pi, Pj),可写成PiPj,称Pi是Pj的直接前趋,而称Pj是Pi的直接后继。在前趋图中,把没有前趋的结点称为初始结点(Initial Node),把没有后继的结点称为终止结点(Final No

3、de)。,每个结点还具有一个重量(Weight),用于表示该结点所含有的程序量或结点的执行时间。,图 2-2 前趋图,对于图 2-2(a)所示的前趋图, 存在下述前趋关系: P1P2, P1P3, P1P4, P2P5, P3P5, P4P6, P4P7, P5P8, P6P8, P7P9, P8P9 或表示为: P=P1, P2, P3, P4, P5, P6, P7, P8, P9 = (P1, P2), (P1, P3), (P1, P4), (P2, P5), (P3, P5), (P4, P6), (P4, P7), (P5, P8), (P6, P8), (P7, P9), (P8

4、, P9),三、程序的并发执行,1、什么是程序的并发执行(回顾) 程序的并发执行可进一步分为:不同程序间的并发执行;同一程序中不同程序段的并发执行。,并发程序的前趋图:,在该例中存在下述前趋关系: IiCi,IiIi+1, CiPi, CiCi+1,PiPi+1 而Ii+1和Ci及Pi-1是重迭的,亦即在Pi-1和Ci以及Ii+1之间,可以并发执行。,对于具有下述四条语句的程序段,前趋图: S1: a=x+2 S2: b=y+4 S3: c=a+b S4: d=c+b,2、程序并发执行带来的影响:,程序运行的间断性; 程序的执行失去了封闭性和以此为基础的可再现性; 程序之间由于资源共享与竞争,

5、形成了相互制约。,例如,有两个循环程序A和B,它们共享一个变量N。程序A每执行一次时,都要做N=N+1操作;程序B每执行一次时,都要执行Print(N)操作,然后再将N置成“0”。程序A和B以不同的速度运行。 (1) N=N+1在Print(N)和N=0之前,此时得到的N值分别为n+1, n+1, 0。 (2) N=N+1在Print(N)和N=0之后,此时得到的N值分别为n, 0, 1。 (3) N=N+1在Print(N)和N=0之间,此时得到的N值分别为n, n+1, 0。,为了合理管理系统资源、协调各程序段在执行时对资源的竞争,需要一个记录和描述程序执行过程的基本单位,于是引进了“进程

6、”这一概念。,四、进程的定义,1、 较典型的进程定义有: (1) 进程是程序的一次执行。 (2) 进程是一个程序及其数据在处理机上顺序执行时所发生的活动。 (3) 进程是程序在一个数据集合上运行的过程,它是系统进行资源分配和调度的一个独立单位。,四、进程的定义,2、进程实体:程序段、相关数据、PCB(进程控制块)-管理进程的数据结构 3、进程的特征(p19-22): (1) 结构特征 (2) 动态性 (3) 并发性 (4) 独立性 (5)异步性,在引入了进程实体的概念后,我们可以把传统OS中的进程定义为:“进程是进程实体的运行过程,是系统进行资源分配和调度的一个独立单位”,五、进程的三种基本状

7、态(p23-24),就绪状态-就绪队列 执行状态 阻塞状态(等待状态)-等待队列,进程基本状态转换图,就绪,执行,阻塞,进程调度,时间片用完,等待某个事件发生而阻塞,因等待的事件已发生而被唤醒,创建,撤消,图2-7 进程的五种基本状态及转换p31-33,六、挂起状态,在一般OS中,进程只有以上三种基本状态。而在一些有特殊要求的OS中,由于控制的需要,引入“挂起”状态。 “挂起”状态有静止就绪和静止阻塞两种。“挂起”就意味着暂停对该进程分配CPU资源。,六、挂起状态,引起“挂起”的原因(P26-27): (1) 终端用户的请求。 (2) 父进程请求。 (3) 负荷调节的需要。 (4) 操作系统的

8、需要。,图2-6 具有挂起状态的进程状态图,调度,图2-8 具有创建、终止和挂起状态的进程状态图,七、进程控制块(PCB),1、进程控制块:包含了进程的描述信息、控制信息、资源信息的数据结构。它随进程的创建而产生、在进程执行的过程中记录进程各信息的变化。当一个进程完成其功能后,系统则回收PCB,进程也随之消失。,2、进程控制块的作用: 标识进程的存在、动态地记录进程运行过程中的所有控制信息,如进程状态、中断现场、进程的优先级等,以便OS感知进程的存在,根据系统资源的情况和设计原则(算法)对进程(通过PCB)进行控制和管理。,3. 进程控制块中的信息 1) 进程标识符 进程标识符用于惟一地标识一

9、个进程。一个进程通常有两种标识符: (1) 内部标识符。在所有的操作系统中,都为每一个进程赋予一个惟一的数字标识符,它通常是一个进程的序号。 设置内部标识符主要是为了方便系统使用。 (2) 外部标识符。它由创建者提供,通常是由字母、数字组成,往往是由用户(进程)在访问该进程时使用。为了描述进程的家族关系, 还应设置父进程标识及子进程标识。此外,还可设置用户标识,以指示拥有该进程的用户。,2) 处理机状态 处理机状态信息主要是由处理机的各种寄存器中的内容组成的。 通用寄存器,又称为用户可视寄存器,它们是用户程序可以访问的,用于暂存信息, 在大多数处理机中,有 832 个通用寄存器,在RISC结构

10、的计算机中可超过 100 个; 指令计数器,其中存放了要访问的下一条指令的地址; 程序状态字PSW,其中含有状态信息,如条件码、执行方式、 中断屏蔽标志等; 用户栈指针, 指每个用户进程都有一个或若干个与之相关的系统栈,用于存放过程和系统调用参数及调用地址。栈指针指向该栈的栈顶。,3) 进程调度信息 在PCB中还存放一些与进程调度和进程对换有关的信息,包括: 进程状态,指明进程的当前状态, 作为进程调度和对换时的依据; 进程优先级,用于描述进程使用处理机的优先级别的一个整数, 优先级高的进程应优先获得处理机; 进程调度所需的其它信息,它们与所采用的进程调度算法有关,比如,进程已等待CPU的时间

11、总和、 进程已执行的时间总和等; 事件,是指进程由执行状态转变为阻塞状态所等待发生的事件,即阻塞原因。,4) 进程控制信息 进程控制信息包括: 程序和数据的地址, 是指进程的程序和数据所在的内存或外存地(首)址,以便再调度到该进程执行时,能从PCB中找到其程序和数据; 进程同步和通信机制,指实现进程同步和进程通信时必需的机制,如消息队列指针、信号量等,它们可能全部或部分地放在PCB中; 资源清单,是一张列出了除CPU以外的、进程所需的全部资源及已经分配到该进程的资源的清单; 链接指针,它给出了本进程(PCB)所在队列中的下一个进程的PCB的首地址。,在系统中存在的各种进程队列,就是由进程的PC

12、B组成的。 PCB组成队列的方式: 链接方式 索引方式,1) 链接方式,图 2-7 PCB链接队列示意图,2) 索引方式,图 2-8 按索引方式组织PCB,进程与程序的区别 (1) 程序是静态的,进程是动态的; (2) 进程更能真实地描述并发,而程序不能; (3) 一个程序可对应多个进程,反之亦然; (4) 进程有生命周期,有诞生有消亡,是短暂的;而程序是相对长久的;,进程与程序的区别 (5) 程序可作为软件资源长期保存,进程只是一次执行过程,是暂时的; (6) 进程是系统分配调度的独立单位,能与其他进程并发执行; (7) 进程包含程序和数据两部分; (8) 进程具有创建其他进程的功能,而程序

13、没有。,第 二 节,进 程 控 制,一、进程控制的有关概念,1、进程控制:就是系统用一些具有特定功能的程序段来创建、终止进程,完成进程在各状态间的转换,从而达到多进程高效率并发执行和协调、实现资源共享的目的。,操作系统的进程控制机构属于os的内核,它是硬件的首次延伸,它通过执行各种原语来实现其控制功能。 2、原语:是由若干机器指令构成的、完成特定功能的程序段。原语只能在系统状态(核心态)下被执行。原语的执行是不能被打断的。 (p50),OS内核中包括的原语主要有: 进程控制原语、进程通信原语、资源管理原语和其他方面的原语。 其中,进程控制原语包括:创建原语、撤消原语、阻塞原语、唤醒原语等等。,

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

15、程创建原语的流程(P56-58) (1) 申请空白PCB。 (2) 为新进程分配资源。 (3) 初始化进程控制块。 (4) 将新进程(的PCB)插入就绪队列。,三、进程的终止,1、引起进程终止(Termination of Process)的事件 1) 正常结束 在任何计算机系统中,都应有一个用于表示进程已经运行完成的指示。例如,在批处理系统中,通常在程序的最后安排一条Holt指令或终止的系统调用。当程序运行到Holt指令时,将产生一个中断,去通知OS本进程已经完成。 在分时系统中,用户可利用Logs off去表示进程运行完毕, 此时同样可产生一个中断,去通知OS进程已运行完毕。,2) 异常结

16、束 在进程运行期间,由于出现某些错误和故障而迫使进程终止。这类异常事件很多,常见的有: 越界错误。这是指程序所访问的存储区,已越出该进程的区域; 保护错。进程试图去访问一个不允许访问的资源或文件,或者以不适当的方式进行访问,例如,进程试图去写一个只读文件; 非法指令。程序试图去执行一条不存在的指令。出现该错误的原因,可能是程序错误地转移到数据区,把数据当成了指令; 特权指令错。用户进程试图去执行一条只允许OS执行的指令; 运行超时。进程的执行时间超过了指定的最大值; 等待超时。进程等待某事件的时间, 超过了规定的最大值; 算术运算错。进程试图去执行一个被禁止的运算,例如,被0除; I/O故障。这是指在I/O过程中发生了错误等。,3) 外界干预 外界干预并非指在本进程运行中出现了异常事件,而是指进程应外界的请求而终止运行。这些干预有: 操作员或操作系统干预。 由于某种原因,例如,发生了

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

当前位置:首页 > 高等教育 > 大学课件

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