您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 咨询培训 > 计算机操作系统第二章ppt
第二章进程管理第二章进程管理2.1进程的基本概念2.2进程控制2.3进程同步2.4经典进程的同步问题2.5管程机制2.6进程通信2.7线程第二章进程管理程序的顺序执行和并发执行程序的执行有两种方式:顺序执行和并发执行。顺序执行是单道批处理系统的执行方式,也用于简单的单片机系统;现在的操作系统多为并发执行,具有许多新的特征。引入并发执行的目的是为了提高资源利用率。第二章进程管理在多道程序环境下,程序不能独立运行。作为资源分配和独立运行的基本单位是进程。操作系统所有的特征都是基于进程而体现的为了描述程序在并发执行时对系统资源的共享,我们需要一个描述程序执行时动态特征的概念,这就是进程。通常把这个正准备进入内存的程序称为作业,当这个作业进入内存后我们把它称为进程。进程通常具有三种状态:运行状态(正在使用CPU)、阻塞状态(等待输入/输出)和就绪状态(等待分配CPU)。第二章进程管理进程的特征动态性:进程具有动态的地址空间(数量和内容),地址空间上包括:代码(指令执行和CPU状态的改变)数据(变量的生成和赋值)系统控制信息(进程控制块的生成和删除)独立性:各进程的地址空间相互独立,除非采用进程间通信手段;并发性、异步性:虚拟结构化:代码段、数据段和核心段(在地址空间中);程序文件中通常也划分了代码段和数据段,而核心段通常就是OS核心(由各个进程共享,包括各进程的PCB)第二章进程管理进程与程序的区别和相互关系:(1)动态性和静态性。(2)从结构上看每个进程的实体都是由程序段和相应的数据段两部分构成的,这一特征与程序的含义相近。(3)一个进程可以涉及到一个或几个程序的执行;反之一程序可以对应多个进程,即同一程序段可在不同数据集合上运行,可构成不同的进程。(4)并发性。(5)进程具有创建其他进程的功能。(6)操作系统中的每一个程序都是在一个进程现场中运行的。第二章进程管理程序顺序执行的特征:顺序性:按照程序结构所指定的次序(可能有分支或循环)封闭性:独占全部资源,计算机的状态只由于该程序的控制逻辑所决定可再现性:初始条件相同则结果相同。如:可通过空指令控制时间关系。第二章进程管理2.1进程的基本概念2.1.1程序的顺序执行及其特征1.程序的顺序执行∶仅当前一操作(程序段)执行完后,才能执行后继操作。例如,在进行计算时,总须先输入用户的程序和数据,然后进行计算,最后才能打印计算结果。S1:a=x+y;S2:b=a-5;S3:c=b+1;第二章进程管理图2-1程序的顺序执行(a)程序的顺序执行(b)三条语句的顺序执行I1C1P1I2C2P2S1S2S3第二章进程管理1.程序的顺序执行及其特性由于各类软件的出现及日益复杂化,使得程序设计的概念和方法有了很大的发展,在单道程序工作环境中,我们把一个“程序”理解为“一个在时间上按严格次序前后相继的操作序列”。第二章进程管理2.程序顺序执行时的特征(1)顺序性:(2)封闭性:资源独占。(3)可再现性:结果的无关性。第二章进程管理2.1.2前趋图前趋图是一个有向无循环图,记为DAG,用于描述进程之间执行的前后关系。图中的每个结点可用于描述一个程序段或进程,乃至一条语句;结点间的有向边则用于表示两个结点之间存在的偏序或前趋关系“→”。在前趋图中,把没有前趋的结点称为初始结点,把没有后继的结点称为终止结点。第二章进程管理每个结点还具有一个重量(Weight),用于表示该结点所含有的程序量或结点的执行时间。Ii→Ci→Pi和S1→S2→S3图2-2前趋图P1P3P8P9P4P2P5P6P7S1S2S3(a)具有九个结点的前趋图(b)具有循环的前趋图对于图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这是无法满足的.第二章进程管理2.1.3.程序的并发执行及其特性无论是操作系统自身的程序还是用户程序,通常总是存在一些相对独立、但又能并发执行的程序段。由于这些程序段可以被多个用户作业调用,因此可在同一时间间隔内发生。这样一来,某个程序段可能对应多个“计算”,于是程序与“计算”已不具有一一对应关系了。这些“并发程序”就构成了一个“并发环境”。第二章进程管理并发执行的特征间断(异步)性:走走停停,一个程序可能走到中途停下来,失去原有的时序关系;失去封闭性:共享资源,受其他程序的控制逻辑的影响。如:一个程序写到存储器中的数据可能被另一个程序修改,失去原有的不变特征。失去可再现性:失去封闭性-失去可再现性;外界环境在程序的两次执行期间发生变化,失去原有的可重复特征。2.1.3程序的并发执行及其特征第二章进程管理2.1.3程序的并发执行及其特征1.程序的并发执行图2-3并发执行时的前趋图P1P2P3P4I1I2I3I4C1C2C3C4第二章进程管理在该例中存在下述前趋关系:Ii→Ci,Ii→Ii+1,Ci→Pi,Ci→Ci+1,Pi→Pi+1而Ii+1和Ci及Pi-1是重迭的,亦即在Pi-1和Ci以及Ii+1之间,可以并发执行。对于具有下述四条语句的程序段:S1:a=x+2S2:b=y+4S3:c=a+bS4:d=c+b第二章进程管理图2-4四条语句的前趋关系S1S2S3S4第二章进程管理2.程序并发执行时的特征1)间断性2)失去封闭性3)不可再现性例如,两个循环程序A和B,它们共享一个变量N。程序AN=N+1;程序BPrint(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。第二章进程管理2.1.4进程的特征与状态1.进程的特征和定义1)结构特征程序段、相关数据段、PCB构成进程实体2)动态性3)并发性4)独立性5)异步性第二章进程管理行为的一个规则叫做程序,程序在处理机上执行时所发生的活动称为进程(Dijkstra)。进程是这样的计算部分,它是可以和其它计算并行的一个计算。(Donovan)进程(有时称为任务)是一个程序与其数据一道通过处理机的执行所发生的活动。(Alan.C.Shaw)进程是执行中的程序。(KenThompsonandDennisRitchie)教材上给出的进程的定义:进程,即是一个具有一定独立功能的程序关于某个数据集合的一次活动。较典型的进程定义有:(1)进程是程序的一次执行。(2)进程是一个程序及其数据在处理机上顺序执行时所发生的活动。(3)进程是程序在一个数据集合上运行的过程,它是系统进行资源分配和调度的一个独立单位。传统OS中的进程定义为:“进程是进程实体的运行过程,是系统进行资源分配和调度的一个独立单位”。第二章进程管理程序与进程联系:程序是构成进程的组成部分之一。一个进程的运行目标就是执行它所对应的程序,如果没有程序,进程就失去了其实际存在的意义。从静态的角度看,进程是由程序、数据和进程控制块(PCB)三部分组成。第二章进程管理区别:程序是静态的,而进程是动态的;程序的存在是永久的,进程的存在是暂时的,动态的产生和消亡;一个进程可以执行一个或几个程序,一个程序亦可以构成多个进程;进程具有创建其它进程的功能。第二章进程管理2.进程的三种基本状态1)就绪(Ready)状态2)执行状态3)阻塞状态图2-5进程的三种基本状态及其转换第二章进程管理(1)运行状态:进程正在处理机上运行的状态,该进程已获得必要的资源,也获得了处理机,用户程序正在处理机上运行。(2)阻塞状态:进程等待某种事件完成(例如,等待输入/输出操作的完成)而暂时不能运行的状态,处于该状态的进程不能参加竞争处理机,此时,即使分配给它处理机,它也不能运行。(3)就绪状态:该进程运行所需的一切条件都得到满足,但因处理机资源个数少于进程个数,所以该进程不能运行,而必须等待分配处理机资源,一旦获得处理机就立即投入运行。第二章进程管理3.挂起状态1)引入挂起状态的原因(1)终端用户的请求。(2)父进程请求。(3)负荷调节的需要。(4)操作系统的需要。挂起进程在操作系统中可以定义为暂时被淘汰出内存的进程,机器的资源是有限的,在资源不足的情况下,操作系统对在内存中的程序进行合理的安排,其中有的进程被暂时调离出内存,当条件允许的时候,会被操作系统再次调回内存,重新进入等待被执行的状态即就绪态。第二章进程管理2)进程状态的转换(1)活动就绪→静止就绪。(2)活动阻塞→静止阻塞。(3)静止就绪→活动就绪。(4)静止阻塞→活动阻塞。活动就绪静止就绪执行挂起激活释放挂起活动阻塞静止阻塞挂起激活释放请求I/O图2-6具有挂起状态的进程状态图第二章进程管理2.1.5进程控制块1.进程控制块的作用进程控制块的作用是使一个在多道程序环境下不能独立运行的程序(含数据),成为一个能独立运行的基本单位,一个能与其它进程并发执行的进程。或者说,OS是根据PCB来对并发执行的进程进行控制和管理的。PCB是进程存在的唯一标志。第二章进程管理进程控制块为了刻画进程的动态变化,通常把进程表示为由程序段、私有数据块和进程控制块组成,如图3.4(a)所示。程序部分描述进程本身所要完成的功能,而“私有数据块”是接受程序规定操作的一组存储单元的内容,是操作的对象。进程控制块是在进程创建时产生的,当进程存在于系统时(运行),进程控制块就标识了这个进程。如图3.4(b)所示。下一页第二章进程管理Loik,,,,,,,第二章进程管理进程控制块是进程存在的标志,当系统或父进程创建一个进程时,实际上就是为其建立一个进程控制块。进程控制块既能标识进程的存在,又能刻画出进程的动态特征,它是一个进程仅有的被系统真正感知的部分。对操作系统而言,所有进程控制块将构成并发执行控制和维护系统工作的依据。进程控制块的作用:第二章进程管理2.进程控制块中的信息1)进程标识符(1)内部标识符。主要是为了方便系统使用。在所有的操作系统中,都为每一个进程赋予一个惟一的数字标识符,它通常是一个进程的序号。(2)外部标识符。它由创建者提供,通常是由字母、数字组成,往往是由用户(进程)在访问该进程时使用。2)处理机状态①通用寄存器:用户程序可以访问的,存放信息。②指令计数器,存放要访问的下一条指令的地址;③程序状态字PSW,其中含有状态信息,如条件码、执行方式、中断屏蔽标志等;④用户栈指针,指每个用户进程都有一个或若干个与之相关的系统栈,用于存放过程和系统调用参数及调用地址。栈指针指向该栈的栈顶。第二章进程管理3)进程调度信息①进程状态,指明进程的当前状态,作为进程调度和对换时的依据;②进程优先级,用于描述进程使用处理机的优先级别的一个整数,优先级高的进程应优先获得处理机;③进程调度所需的其它信息;④事件,是指进程由执行状态转变为阻塞状态所等待发生的事件,即阻塞原因。第二章进程管理4)进程控制信息①程序和数据的地址②进程同步和通信机制;③资源清单,是一张列出了除CPU以外的、进程所需的全部资源及已经分配到该进程的资源的清单;④链接指针,它给出了本进程(PCB)所在队列中的下一个进程的PCB的首地址。第二章进程管理家族联系processfamily有的系统允许一个进程可创建自已的子进程,子进程还可以创建,一个进程往往处在一个家族之中,就需要记录进程在家族中位置的信息。第二章进程管理3.进程控制块的组织方式
本文标题:计算机操作系统第二章ppt
链接地址:https://www.777doc.com/doc-5937382 .html