您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 质量控制/管理 > 第2章进程的描述与控制.
操作系统第二章进程的描述与控制1第二章进程的描述与控制进程通信进程同步线程进程互斥程序的执行及其特征进程的描述进程控制经典进程的同步问题操作系统第二章进程的描述与控制2§2.1程序的执行及其特征让多个作业同时装入一个计算机系统的主存储器中,并且同时处于运行状态,共享系统中的各种软、硬件资源,交替占用处理机运行。这种软件设计技术称“多道程序设计”,这种计算机系统称“多道程序系统”。一个程序通常由若干个程序段所组成,它们必须按照程序规定的先后次序来执行,只有在前一个操作结束之后才能开始后继操作,这就是程序的顺序执行。一、程序的顺序执行程序:是具有特定功能的一组指令(或一组语句)的集合,它指出了处理器执行操作的步骤。操作系统第二章进程的描述与控制3例如,在处理一个作业时,总是先输入用户的程序和数据,然后进行计算,最后将结果打印出来,它们分别由三个相对独立的程序段(操作)I1,C1,P1组成。这三个程序段的执行只能是一个一个地顺序执行,以保证前一个程序段操作的结果可被后一个操作所利用。程序段的执行顺序如下。作业1作业2程序段顺序执行的有向图(前趋图)操作系统第二章进程的描述与控制4程序顺序执行时的特征1)顺序性处理机的操作严格按照程序所规定的顺序执行,即每一操作必须在下一操作开始之前结束。2)封闭性程序是在封闭的环境下执行的。即程序运行时独占全机资源,资源的状态(除初始状态外)只有本程序才能改变。程序一旦开始运行,其执行结果不受外界因素的影响。3)可再现性只要程序执行时的环境和初始条件相同,当程序重复执行时,不论它是从头到尾不停顿地执行,还是“停停走走”地执行,都将获得相同的结果。操作系统第二章进程的描述与控制5程序段并发执行的有向图(前趋图)下图给出了系统对一批作业进行处理时,输入操作、计算操作和打印操作各程序段执行的先后次序。二、程序的并发执行并发操作系统第二章进程的描述与控制6程序的并发执行:若干程序段同时在系统中运行,这些程序段的执行在时间上是重叠的,即:一个程序段的执行还没结束,另一个程序段的执行已经开始。可以用语句记号表示:cobeginS1;S2;….Sncoend从图上中可以看出:有的程序段的执行是有先后次序的。有的程序段的执行是可以重叠的。操作系统第二章进程的描述与控制7程序并发执行时的特征1.失去了程序的封闭性和可再现性例如:某交通路口设置了一个自动计数系统,该系统由观察者和报告者共同组成。观察到一辆卡车将计数值累加1将计数值清“0”输出计数值交通路口自动计数系统操作系统第二章进程的描述与控制8integerN;N:=0;cobeginProcedure观察者beginL1:观察到一辆卡车;N=:N+1;gotoL1;endProcedure报告者beginL2:printN;N:=0;gotoL2;endcoend由于观察者和报告者程序可以并发执行,它们并发执行时可能有如下两种情况:1)报告者执行时无卡车通过。2)报告者执行时有卡车通过。设某时刻N的当前值为m,可能出现的情况和结果:情况:(1)a(1)b(2)之前通过之后通过之中通过结果:m+1mm当前的N值:010操作系统第二章进程的描述与控制92.程序与它的执行过程不再一一对应3.并发程序之间的相互制约性——间断性当具有有一定的逻辑关系的各程序(或程序段)之间需要相互合作来完成同一任务时,它们之间具有直接的相互制约关系。并发程序(或程序段)之间由于共享资源而竞争同一资源时,致使并发程序(或程序段)之间形成了间接的相互制约关系。编译程序user1.cuser2.c操作系统第二章进程的描述与控制10例如:由于程序活动之间的相互依赖和相互制约,这就使得程序的活动与它的运行环境密切相关,并呈现:执行—暂停—执行”的活动规律。程序段并发执行的有向图(前趋图)操作系统第二章进程的描述与控制11一、进程的定义和特征在多道程序工作的环境下,各个程序是并发执行的,它们共享系统资源,共同决定这些资源的状态。在这种情况下,使用程序这个传统的静态的概念已经无法描述并发活动的特性、规律和变化。也就是说,用程序作为描述并发活动的执行过程以及管理共享资源的基本单位是不合适的。为此,人们引入了新的概念——进程,以便从变化的角度,动态地分析、研究并发程序的活动。进程是操作系统中的一个最基本、最重要的概念,但是迄今为止,对这一概念还没有形成一个非常确切的、统一的定义,通常是从不同的角度描述它的各个基本特征。§2.2进程的描述操作系统第二章进程的描述与控制12从不同角度定义的进程:(1)进程是程序的一次执行,亦即进程是在指定内存区域中的一组指令序列的执行过程。(2)进程是可以和别的计算并发执行的计算。(3)进程可定义为一个数据结构和能在其上进行操作的一个程序。(4)进程是程序在一个数据集合上运行的过程,它是系统进行资源分配和调度的一个独立单位。1.进程的定义:进程是一个程序对某个数据集在处理机上的执行过程,是系统进行资源分配和处理机调度的基本单位。操作系统第二章进程的描述与控制13进程与程序的区别:1)进程是一次运行的过程,属于一种动态的概念;而程序是指令的集合,是一个静态的概念。5)一个进程可以包含几个程序;一个程序也可以对应多个进程。当同一程序同时运行于若干个不同的数据集合上时,它将属于若干个不同的进程。3)进程是有生命期的;而程序是永久的。2)进程可以并发执行;而程序不能。4)进程是系统资源分配的基本单位,而程序则不行。编译程序user1.cuser2.c操作系统第二章进程的描述与控制142.进程的特征:1)动态性。进程具有一定的生命期,是动态地产生、变化和消亡的。动态性是进程最本质的特征。2)并发性。进程之间的活动在时间上可以重叠。引入进程的目的正是为了使其程序能和其它程序并发执行,以提高系统资源利用率。3)独立性。进程是一个能独立运行的基本单位.同时也是系统分配资源和调度的独立单位。4)异步性。由于进程间的相互制约,使进程具有执行的间断性。即进程按各自独立的、不可预知的速度向前推进。操作系统第二章进程的描述与控制15PCB1共享程序数据1PCB2数据2(c)3.进程实体的组成一个进程通常由三部分组成:程序段、相关的数据段和进程控制块(PCB)。进程控制块(PCB)是进程的一个运行情况的登记表。系统利用PCB来描述进程的基本情况和活动过程,进而控制和管理进程。程序数据PCB(a)PCB程序数据(b)操作系统第二章进程的描述与控制161.进程的基本状态在操作系统中,进程至少要有三种基本状态:运行状态,就绪状态和等待状态。二、进程的状态及其转换1)运行状态。当一个进程已获得必要的资源,并占有中央处理机执行时进程所处的状态。在单处理机系统中,任一时刻,处于运行状态的进程只能有一个。操作系统第二章进程的描述与控制173)等待状态(阻塞状态,封锁状态,睡眠状态)。正在执行的进程,由于发生某事件(如等待输入/输出完成)而暂时无法执行下去时,便放弃处理机,此时进程所处的状态。引起进程等待的事件有:请求I/O、申请缓冲区、等待信件(信号)等等。处于等待状态的进程本身不具备运行条件,即使分配给它处理机也不能运行。2)就绪状态。进程等待分配处理机时所处的状态。进程已获得了除中央处理机以外的所有资源,具备了运行条件,只因处理机被其它进程占用而不能执行,一旦获得处理机,便可立即执行。操作系统第二章进程的描述与控制182.进程基本状态的转换及其转换的原因1)就绪-→运行:对就绪状态的进程,当进程调度程序按一种选定的策略从中选中一个就绪进程,为之分配了处理机后,该进程便由就绪状态变为执行状态;进程调度运行就绪等待进程的基本状态及其转换操作系统第二章进程的描述与控制192)运行-→等待:正在执行的进程因发生某等待事件而无法执行,则进程由执行状态变为等待状态,如:进程提出输入/输出请求而变成等待外部设备传输信息的状态,进程申请资源(主存空间或外部设备)得不到满足时变成等待资源状态,进程运行中出现了故障(程序出错或主存储器读写错等)变成等待干预状态等等;等待某事件发生而阻塞运行就绪等待进程调度进程的基本状态及其转换操作系统第二章进程的描述与控制203)等待-→就绪:处于等待状态的进程,在其等待的事件已经完成,如输入/输出完成,资源得到满足或错误处理完毕时,处于等待状态的进程并不马上转入执行状态,而是先转入就绪状态,然后再由系统进程调度程序在适当的时候将该进程转为执行状态;所等待的事件发生而唤醒运行就绪等待进程调度等待某事件发生而阻塞进程的基本状态及其转换操作系统第二章进程的描述与控制214)执行-→就绪:正在执行的进程,因时间片用完而被暂停执行,或在采用抢先式优先级调度算法的系统中,当有更高优先级的进程要运行而被迫让出处理机时,该进程便由执行状态转变为就绪状态。时间片到运行就绪等待进程调度等待某事件发生所等待的事件发生而阻塞而唤醒进程的基本状态及其转换任务开始任务结束操作系统第二章进程的描述与控制223.进程状态的扩展及其转换1)创建状态正在创建过程中的进程,创建过程尚未完成,进程还不能被调度运行,于是把此时进程所处的状态称为创建状态。2)终止状态进程由于各种原因终止运行,等待操作系统进行善后处理时所处的状态。进入终止态的进程以后不能再执行,但在操作系统中依然保留一个记录。操作系统第二章进程的描述与控制23时间片到运行就绪等待进程调度等待某事件发生而阻塞所等待的事件发生而唤醒进程状态的扩展及其转换创建终止许可终止操作系统第二章进程的描述与控制243)挂起操作和激活操作的引入引入挂起操作的原因,是基于系统和用户的如下需要:(1)终端用户的需要。(2)父进程请求。(3)负荷调节的需要。(4)操作系统的需要。进程将可能发生以下几种状态的转换:(1)活动就绪→静止就绪。(2)活动阻塞→静止阻塞。(3)静止就绪→活动就绪。(4)静止阻塞→活动阻塞。操作系统第二章进程的描述与控制25时间片到运行就绪等待进程调度等待某事件发生而阻塞所等待的事件发生而唤醒进程状态的扩展及其转换外存内存就绪等待所等待的事件发生而唤醒换出换出换进换进创建终止许可挂起许可终止操作系统第二章进程的描述与控制26三、进程管理中的数据结构1.操作系统中用于管理控制的数据结构在计算机系统中,对于每个资源和每个进程都设置了一个数据结构,用于表征其实体,我们称之为资源信息表或进程信息表,其中包含了资源或进程的标识、描述、状态等信息以及一批指针。OS管理的这些数据结构一般分为以下四类:内存表、设备表、文件表和用于进程管理的进程表,通常进程表又被称为进程控制块PCB。操作系统第二章进程的描述与控制27操作系统控制表的一般结构图2-9操作系统控制表的一般结构操作系统第二章进程的描述与控制28进程是动态的,为了记录进程的情况以及控制进程的运行,系统为每一个进程设置了一个数据结构——进程控制块(PCB)。系统根据PCB而感知进程的存在,通过PCB对进程进行管理,PCB是进程存在的惟一标志。当系统创建一个进程时,必须为它设置一个PCB,在进程的生命期内,系统利用PCB对进程实施控制管理,进程运行结束后,系统要收回它的PCB,进程也随之消亡。2.进程控制块(PCB)及其作用:操作系统第二章进程的描述与控制293.进程控制块(PCB)的内容:1)描述信息(进程标识符)进程标识(内、外部)符,用户名,家族关系2)调度控制信息(进程调度信息)进程当前状态,进程优先级,各种计时信息,阻塞的原因3)资源管理信息(进程控制信息)程序起始地址,通信信息,占用内存大小,占用外设情况,指向文件系统的指针4)CPU现场保护区(处理机状态)处理机的上、下文操作系统第二章进程的描述与控制304.进程控制块的组织方式:为了能对PCB加以有效的管理,系统用适当的方式将这些PCB组织起来。目前常用的组织方式有以下三种。PCB线性表示意图(1)线性表方式将系统中所有的PCB都组织在一张线性表中,将该表的首地址存放在内存的一个专用区域中。该方式实现简单、开销小,但每次查找时都需要扫描整张表,因此适
本文标题:第2章进程的描述与控制.
链接地址:https://www.777doc.com/doc-2155258 .html