您好,欢迎访问三七文档
当前位置:首页 > 临时分类 > 操作系统第2章进程管理
第二章进程管理第二章进程管理2.1进程的基本概念2.2进程控制2.3进程同步2.4经典进程的同步问题2.5管程机制2.6进程通信2.7线程第二章进程管理中央处理器单处理器系统和多处理器系统寄存器特权指令与非特权指令处理器状态程序状态字寄存器第二章进程管理单处理器和多处理器系统计算机系统的核心是中央处理器•单处理器系统:一个计算机系统只包括一个运算处理器。•多处理器系统:一个计算机系统有多个运算处理器。第二章进程管理特权指令与非特权指令•机器指令的集合称指令系统,反映了一台机器的功能和处理能力。指令分为以下五类:(1)数据处理类指令;(2)转移类指令;(3)数据传送类指令;(4)移位与字符串指令;(5)I/O类指令。第二章进程管理特权指令与非特权指令(3)•从资源管理和控制程序执行的角度出发,必须把指令系统中的指令分作两部分:特权指令和非特权指令。•特权指令是指只能提供给操作系统的核心程序使用的指令,如启动I/O设备、设置时钟、控制中断屏蔽位、清内存、建立存储键,加载PSW等。第二章进程管理处理器状态•中央处理器怎么知道当前是操作系统还是一般用户程序在运行呢?•处理器状态标志和设置处理器成不同状态。•管理状态(特权状态、系统模式、特态或管态)和用户状态(目标状态、用户模式、常态或目态)。第二章进程管理处理器状态•处理器处于管理状态时,程序可以执行全部指令,使用所有资源,具有改变处理器状态的能力;处理器处于用户状态时,程序只能执行非特权指令。•IntelPentium的处理器状态有四种,支持4个保护级别,0级权限最高,3级权限最低。第二章进程管理程序状态字寄存器•计算机如何知道当前处于何种工作状态?这时能否执行特权指令?通常操作系统都引入程序状态字PSW(ProgramStatusWord)来区别不同的处理器工作状态。第二章进程管理IBM360/370系列计算机程序状态字的基本格式XXXXXXXXXXXXXXXX8位系统屏蔽4位CMWP字段4位程序屏蔽4位保护键16位中断码字段指令长和条件码24位指令地址第二章进程管理程序状态字寄存器(1)•PSW用来控制指令执行顺序并保留和指示与程序有关的系统状态,主要作用是实现程序状态的保护和恢复。•每个程序都有一个与其执行相关的PSW,每个处理器都设置一个PSW寄存器。程序占有处理器执行,它的PSW将占有PSW寄存器。第二章进程管理程序状态字寄存器(2)PSW寄存器包括以下内容:•程序基本状态:(1)程序计数器;(2)条件码;(3)处理器状态位。•中断码。保存程序执行时当前发生的中断事件。•中断屏蔽位。指明程序执行中发生中断事件时,是否响应出现的中断事件。第二章进程管理中断技术1中断的概念2中断源分类3中断装置4中断处理程序5中断事件的具体处理方法6中断的优先级和多重中断第二章进程管理中断的概念•中断是指程序执行过程中,当发生某个事件时,中止CPU上现行程序的运行,引出处理该事件的程序执行的过程。第二章进程管理中断的概念•中断源。•中断机制的共性:当中断事件发生后,它能改变处理器内操作执行的顺序,可见中断是现代操作系统实现并发性的基础之一。第二章进程管理中断源分类从中断事件的性质和激活的手段来说,可以分成两类:•强迫性中断事件•自愿性中断事件第二章进程管理中断源分类强迫性中断事件不是正在运行的程序所期待的,而是由于某种事故或外部请求信息所引起的,分为:•机器故障中断事件。•程序性中断事件。•外部中断事件。•输入输出中断事件。第二章进程管理中断源分类•自愿性中断事件是正在运行的程序所期待的事件。•正在运行的程序对操作系统有某种需求,一旦机器执行到一条访管指令时,便自愿停止现行程序的执行而转入访管中断处理程序处理。第二章进程管理中断源分类两类中断事件运行程序中断处理程序中断装置中断处理程序中断装置机器故障中断事件程序性中断事件外部中断事件输入输出中断事件运行程序访管指令第二章进程管理中断源分类按照中断信号的来源,可把中断分为外中断和内中断两类:•外中断(又称中断)指来自处理器和主存之外的中断。•内中断(又称异常)指来自处理器和主存内部的中断。第二章进程管理中断源分类•外中断包括:电源故障中断、时钟中断、控制台中断、它机中断和I/O中断等。•不同的中断具有不同的中断优先级,处理高一级中断时,往往会屏蔽部分或全部低级中断。第二章进程管理中断源分类•内中断包括:通路校验错、主存奇偶错、非法操作码、地址越界、页面失效、调试指令、访管中断、算术操作溢出等各种程序性中断。•异常是不能被屏蔽的,一旦出现应立即响应并加以处理。第二章进程管理中断装置•发现中断源并产生中断的硬件称中断装置。•所有计算机系统都采用硬件和软件结合的方法实现中断处理。第二章进程管理中断装置中断装置主要做以下事:•发现中断源。•保护现场。•启动处理中断事件的程序。•返回第二章进程管理中断处理程序•处理中断事件的程序称为中断处理程序。它的主要任务是处理中断事件和恢复正常操作。•不同中断源对应不同中断处理程序,故快速找到中断处理程序的入口地址是一个关键问题。第二章进程管理中断优先级和多重中断1、中断的优先级计算机执行的每一瞬间,可能有几个中断事件同时发生,中断装置如何来响应同时发生的中断呢?它按照预定顺序来响应,这个预定顺序称中断的优先级。第二章进程管理中断优先级和多重中断如何确定中断的优先级?计算机系统中,各中断源的优先顺序是根据某个中断源或中断级若得不到及时响应,造成计算机出错的严重性程度来定。第二章进程管理中断优先级和多重中断IBM370系统中断优先级由高到低的顺序是:机器校验中断→自愿性中断→程序性中断→外部中断→输入输出中断→重启动中断。中断优先级只表示中断装置响应中断的次序,并不表示处理它的先后顺序。第二章进程管理中断优先级和多重中断2、中断的屏蔽•主机可允许或禁止某类中断的响应,如允许或禁止所有的I/O中断、外部中断、及某些程序性中断。•有些中断是不能被禁止的,例如,计算机中的自愿性访管中断就不能被禁止。第二章进程管理2.1进程的基本概念2.1.1程序的顺序执行及其特征1.程序的顺序执行仅当前一操作(程序段)执行完后,才能执行后继操作。例如,在进行计算时,总须先输入用户的程序和数据,然后进行计算,最后才能打印计算结果。S1:a∶=x+y;S2:b∶=a-5;S3:c∶=b+1;第二章进程管理图2-1程序的顺序执行(a)程序的顺序执行(b)三条语句的顺序执行I1C1P1I2C2P2S1S2S3第二章进程管理2.程序顺序执行时的特征(1)顺序性:一个程序的各个部分的执行,严格地按照某种先后次序执行;(2)封闭性:程序在封闭的环境下运行,即程序运行时独占全部系统资源;(3)可再现性:只要程序执行时的环境和初始条件相同,当程序重复执行时,不论它是从头到尾不停顿地执行,还是“停停走走”地执行,都将获得相同的结果。程序顺序执行的特性,为程序员检测和校正程序的错误带来很大方便。第二章进程管理2.1.2前趋图前趋图(PrecedenceGraph)是一个有向无循环图,记为DAG(DirectedAcyclicGraph),用于描述进程之间执行的前后关系。图中的每个结点可用于描述一个程序段或进程,乃至一条语句;结点间的有向边则用于表示两个结点之间存在的偏序(PartialOrder)或前趋关系(PrecedenceRelation)“→”。→={(Pi,Pj)|PimustcompletebeforePjmaystart},如果(Pi,Pj)∈→,可写成Pi→Pj,称Pi是Pj的直接前趋,而称Pj是Pi的直接后继。在前趋图中,把没有前趋的结点称为初始结点(InitialNode),把没有后继的结点称为终止结点(FinalNode)。第二章进程管理每个结点还具有一个重量(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→P9P={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程序的并发执行及其特征1.程序的并发执行图2-3并发执行时的前趋图P1P2P3P4I1I2I3I4C1C2C3C4第二章进程管理程序的并发执行•在对一批程序进行处理时,可以并发执行。•例如,输入、计算、打印三个程序对一批作业进行处理时,存在以下的前趋关系:Ii→Ci,Ii→Ii+1,Ci→Pi,Ci→Ci+1,Pi→Pi+1并发执行时的前趋图第二章进程管理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。程序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。第二章进程管理2.1.4进程的特征与状态1.进程的特征和定义1)结构特征:为了控制和管理进程,系统为每个进程设立一个进程控制块-PCB。而由程序段、相关的数据段和PCB三部分便构成了进程实体。在早期的UNIX版本中,把这三部分总称为“进程映像”。值得提出的是,在许多情况下所说的进程,实际上是进程实体。2)动态性:进程的实质是程序的一次执行过程,进程是动态产生,动态消亡的,进程在其生命周期内,在三种基本状态之间转换3)并发性:任何进程都可以同其他进程一起向前推进4)统分配资源和调度的独立单位;5)异步性:由于进程间的相互制约,使进程具有执行的间断性,即进程按各自独立的、不可预知的速度向前推进第二章进程管理(1)进程是程序的一次执行。(2)进程是一个程序及其数据在处理机上顺序执行时所发生的活动。(3)进程是程序在一个数据集合上运行的过程,它是系统进行资源分配和调度的一个独立单位。在引入了进程实体的概念后,我们可以把传统OS中的进程定义为:“进程是进程实体的运行过程,是系统进行资源分配和调度的一个独立单位”。第二章进程管理3.进程与程序的区别•程序是静态的,进程是动态的;•进程更能真实地描述并发,而程序不能;•一个程序可对应多个进程,反之亦然;•进程有生命周期,有诞生有消亡,短暂的;而程序是相对长久的;•程序可作为软件资源长期保存,进程只是一次执行过程,是暂时的;•进程是
本文标题:操作系统第2章进程管理
链接地址:https://www.777doc.com/doc-3696177 .html