西安电子科技大学出版社操作系统 第2章 进程管理ppt

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

计算机操作系统OperatingSystem2020/2/5计算机科学系第二章进程管理2.1进程的基本概念2.2进程控制2.3进程同步2.4经典进程的同步问题2.5管程机制2.6进程通信2.7线程本章主要内容计算机操作系统OperatingSystem2020/2/5计算机科学系2.1进程的基本概念2.1.1程序的顺序执行及其特征1.程序的顺序执行仅当前一操作(程序段)执行完后,才能执行后继操作。例如,在进行计算时,总须先输入用户的程序和数据,然后进行计算,最后才能打印计算结果。(a)程序的顺序执行(b)三条语句的顺序执行I1C1P1I2C2P2S1S2S3计算机操作系统OperatingSystem2020/2/5计算机科学系图2-1程序的顺序执行(a)程序的顺序执行(b)三条语句的顺序执行I1C1P1I2C2P2S1S2S3S1:a∶=x+y;S2:b∶=a-5;S3:c∶=b+1;计算机操作系统OperatingSystem2020/2/5计算机科学系2.程序顺序执行时的特征(1)顺序性:(2)封闭性:(3)可再现性:计算机操作系统OperatingSystem2020/2/5计算机科学系2.1.2前趋图前趋图(PrecedenceGraph)是一个有向无循环图,记为DAG(DirectedAcyclicGraph),用于描述进程之间执行的前后关系。图中的每个结点可用于描述一个程序段或进程,乃至一条语句;结点间的有向边则用于表示两个结点之间存在的偏序(PartialOrder)或前趋关系(PrecedenceRelation)“→”。→={(Pi,Pj)|PimustcompletebeforePjmaystart},如果(Pi,Pj)∈→,可写成Pi→Pj,称Pi是Pj的直接前趋,而称Pj是Pi的直接后继。在前趋图中,把没有前趋的结点称为初始结点(InitialNode),把没有后继的结点称为终止结点(FinalNode)。计算机操作系统OperatingSystem2020/2/5计算机科学系每个结点还具有一个重量(Weight),用于表示该结点所含有的程序量或结点的执行时间。图2-2前趋图P1P3P8P9P4P2P5P6P7S1S2S3(a)具有九个结点的前趋图(b)具有循环的前趋图计算机操作系统OperatingSystem2020/2/5计算机科学系对于图2-2(a)所示的前趋图,存在下述前趋关系:P1→P2,P1→P3,P1→P4,P2→P5,P3→P5,P4→P6,P4→P7,P5→P8,P6→P8,P7→P9,P8→P9或表示为: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,P9)}应当注意,前趋图中必须不存在循环,但在图2-2(b)中却有着下述的前趋关系:S2→S3,S3→S2计算机操作系统OperatingSystem2020/2/5计算机科学系2.1.3程序的并发执行及其特征1.程序的并发执行图2-3并发执行时的前趋图I1I2I3C1C2C3P1P2P3计算机操作系统OperatingSystem2020/2/5计算机科学系在该例中存在下述前趋关系:Ii→Ci,Ii→Ii+1,Ci→Pi,Ci→Ci+1,Pi→Pi+1而Ii+1和Ci及Pi-1是重迭的,亦即在Pi-1和Ci以及Ii+1之间,可以并发执行。计算机操作系统OperatingSystem2020/2/5计算机科学系图2-4四条语句的前趋关系S1S2S3S4对于具有下述四条语句的程序段:S1:a∶=x+2S2:b∶=y+4S3:c∶=a+bS4:d∶=c+b计算机操作系统OperatingSystem2020/2/5计算机科学系2.程序并发执行时的特征1)间断性2)失去封闭性3)不可再现性例如,有两个循环程序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。计算机操作系统OperatingSystem2020/2/5计算机科学系2.1.4进程的特征与状态1.进程的特征和定义•结构特征(程序段、数据段和进程控制块PCB)•动态性(最基本的特征,与程序的区别)•并发性(重要特征)•独立性(运行,分配资源,调度)•异步性计算机操作系统OperatingSystem2020/2/5计算机科学系较典型的进程定义有:(1)进程是程序的一次执行。(2)进程是一个程序及其数据在处理机上顺序执行时所发生的活动。(3)进程是程序在一个数据集合上运行的过程,它是系统进行资源分配和调度的一个独立单位。在引入了进程实体的概念后,本书把传统OS中的进程定义为:“进程是进程实体的运行过程,是系统进行资源分配和调度的一个独立单位”。计算机操作系统OperatingSystem2020/2/5计算机科学系进程与程序的区别:(1)程序是指令的有序集合,其本身没有任何运行的含义,是一个静态的概念。而进程是程序在处理机上的一次执行过程,它是一个动态的概念。(2)程序可以作为一种软件资料长期存在,而进程是有一定生命期的。程序是永久的,进程是暂时的。(3)进程更能真实地描述并发,而程序不能(4)程序是进程的组成部分(5)进程具有创建其他进程的功能,而程序没有(6)同一程序同时运行于若干个数据集合上,它将属于若干个不同的进程。也就是说同一程序可以对应多个进程计算机操作系统OperatingSystem2020/2/5计算机科学系思考?为什么引入进程?计算机操作系统OperatingSystem2020/2/5计算机科学系2.进程的三种基本状态(1)就绪(Ready)状态(2)执行状态(3)阻塞状态计算机操作系统OperatingSystem2020/2/5计算机科学系图2-5进程的三种基本状态及其转换就绪运行阻塞调度落选出现等待条件计算机操作系统OperatingSystem2020/2/5计算机科学系3.挂起状态1)引入挂起状态的原因:(1)终端用户的请求;(2)父进程请求;(3)负荷调节的需要;(4)操作系统的需要;(5)对换需要。挂起状态实际是暂时从内存中被淘汰出去的进程。计算机操作系统OperatingSystem2020/2/5计算机科学系2)进程状态的转换(1)活动就绪→静止就绪。(2)活动阻塞→静止阻塞。(3)静止就绪→活动就绪。(4)静止阻塞→活动阻塞。计算机操作系统OperatingSystem2020/2/5计算机科学系具有挂起状态的进程状态图活动就绪静止就绪执行挂起激活释放挂起活动阻塞静止阻塞挂起激活释放请求I/O调度计算机操作系统OperatingSystem2020/2/5计算机科学系2.五状态进程模型引入创建状态和终止状态(1)创建状态作用(2)终止状态作用就绪运行阻塞调度落选出现等待条件新建终止释放允许进入等待条件满足计算机操作系统OperatingSystem2020/2/5计算机科学系3.挂起状态进程模型(Ⅰ)就绪运行阻塞调度落选等待条件满足出现等待条件新建终止释放允许进入挂起挂起激活单挂起状态进程模型计算机操作系统OperatingSystem2020/2/5计算机科学系3.挂起状态进程模型(Ⅱ)双挂起状态进程模型新建活动就绪挂起就绪挂起阻塞活动阻塞运行终止允许进入挂起释放激活等待条件满足挂起激活等待条件满足挂起出现等待条件落选调度允许进入计算机操作系统OperatingSystem2020/2/5计算机科学系思考?1.如果系统中有N个进程,运行的进程最多几个,最少几个;就绪进程最多几个最少几个;等待进程最多几个,最少几个?2.有没有这样的状态转换,为什么?等待—运行;就绪—等待计算机操作系统OperatingSystem2020/2/5计算机科学系课堂练习当某个作业被作业调度程序选中,进入内存开始运行时,作业的状态为:A.提交状态B.完成状态C.执行状态D.就绪状态进程在发出I/O请求后,可能导致下列哪种进程状态演变?A.就绪→执行B.执行→就绪C.阻塞→执行D.执行→阻塞单处理机系统中,可并行的是I进程与进程II处理机与设备III处理机与通道IV设备与设备A.I、II和IIIB.I、II和IVC.I、III和IVD.II、III和IV计算机操作系统OperatingSystem2020/2/5计算机科学系2.1.5进程控制块1.进程控制块的作用进程控制块的作用是使一个在多道程序环境下不能独立运行的程序(含数据),成为一个能独立运行的基本单位,一个能与其它进程并发执行的进程。或者说,OS是根据PCB来对并发执行的进程进行控制和管理的。为了描述一个进程和其它进程以及系统资源的关系,为了刻画一个进程在各个不同时期所处的状态,人们采用了一个与进程相联系的数据块,称为进程控制块(PCB)。系统利用PCB来控制和管理进程,所以PCB是系统感知进程存在的唯一标志。进程与PCB是一一对应的。计算机操作系统OperatingSystem2020/2/5计算机科学系2.进程控制块中的信息1)进程标识符进程标识符用于惟一地标识一个进程。一个进程通常有两种标识符:(1)内部标识符。在所有的操作系统中,都为每一个进程赋予一个惟一的数字标识符,它通常是一个进程的序号。设置内部标识符主要是为了方便系统使用。(2)外部标识符。它由创建者提供,通常是由字母、数字组成,往往是由用户(进程)在访问该进程时使用。为了描述进程的家族关系,还应设置父进程标识及子进程标识。此外,还可设置用户标识,以指示拥有该进程的用户。计算机操作系统OperatingSystem2020/2/5计算机科学系2)处理机状态处理机状态信息主要是由处理机的各种寄存器中的内容组成的。①通用寄存器,又称为用户可视寄存器,它们是用户程序可以访问的,用于暂存信息,在大多数处理机中,有8~32个通用寄存器,在RISC结构的计算机中可超过100个;②指令计数器,其中存放了要访问的下一条指令的地址;③程序状态字PSW,其中含有状态信息,如条件码、执行方式、中断屏蔽标志等;④用户栈指针,指每个用户进程都有一个或若干个与之相关的系统栈,用于存放过程和系统调用参数及调用地址。栈指针指向该栈的栈顶。计算机操作系统OperatingSystem2020/2/5计算机科学系3)进程调度信息在PCB中还存放一些与进程调度和进程对换有关的信息,包括:①进程状态,指明进程的当前状态,作为进程调度和对换时的依据;②进程优先级,用于描述进程使用处理机的优先级别的一个整数,优先级高的进程应优先获得处理机;③进程调度所需的其它信息,它们与所采用的进程调度算法有关,比如,进程已等待CPU的时间总和、进程已执行的时间总和等;④事件,是指进程由执行状态转变为阻塞状态所等待发生的事件,即阻塞原因。计算机操作系统OperatingSystem2020/2/5计算机科学系4)进程控制信息进程控制信息包括:①程序和数据的地址,是指进程的程序和数据所在的内存或外存地(首)址,以便再调度到该进程执行时,能从PCB中找到其程序和数据;②进程同步和通信机制,指实现进程同步和进程通信时必需的机制,如消息队列指针、信号量等,它们可能全部或部分地放在PCB中;③资源清单,是一张列出了除CPU以外的、进程所需的全部资源及已经分配到该进程的资源的清单;④链接指针,它给出了本进程(PCB)所在队列中的下一个进程的PCB的首地址。计算机操作系统OperatingSystem2020/2/5计算机科学系

1 / 152
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功