计算机操作系统教程文件.ppt





《计算机操作系统教程文件.ppt》由会员分享,可在线阅读,更多相关《计算机操作系统教程文件.ppt(141页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第二章 进 程 管 理 计算机操作系统第二章 进 程 管 理 若(Pi,Pj),可写为 Pi Pj,前者是后者的前驱,后者是前者的直接后继。在前趋图中,初始结点无前驱,终止结点无后继。前驱图中必须不存在循环,否则无法实现。所以前趋图是一个有向无循环图,记为DAG(Directed Acyclic Graph)举例:IiCiPi 和 S1S2S3 第二章 进 程 管 理 对于图 2-2(a)所示的前趋图,存在下述11个前趋关系:P1P2,P1P3,P1P4,P2P5,P3P5,P4P6,P4P7,P5P8,P6P8,P7P9,P8P9第二章 进 程 管 理 或表示为:P=P1,P2,P3,P4,
2、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)中却有着下述的前趋关系:S2S3,S3S2 这种前驱关系无法满足。第二章 进 程 管 理 对于具有下述四条语句的程序段:S1:a=x+2 S2:b=y+4 S3:c=a+b S4:d=c+b 图 2-4 四条语句的前趋关系第二章 进 程 管 理 2.1.2 程序的顺序执行及其特征程序的顺序执行及其特征 1.单道
3、程序的顺序执行单道程序的顺序执行 程序的顺序执行是指单道程序按照程序规定的顺序去执行。这种执行顺序可以表示为前驱关系。仅当前一操作(程序段)执行完后,才能执行后继操作。例如,在进行计算时,总须先输入用户的程序和数据,然后进行计算,最后才能打印计算结果。又例如:S1:a=x+y;S2:b=a-5;S3:c=b+1;显然S1作完,S2才能作。S2作完,S3才能作。第二章 进 程 管 理 图 2-1 程序的顺序执行 把这两个例子表示为前驱图:第二章 进 程 管 理 2.单道程序顺序执行时的特征单道程序顺序执行时的特征 顺序性:顺序性:执行完一条,紧接着执行下一条。程序规定的顺序就是程序执行的顺序,程
4、序和计算机执行程序的活动严格地一一对应。封闭性:封闭性:程序执行时,独占系统的全部资源,其计算结果值取决于程序本身。可再现性:可再现性:只要程序执行的环境和初始条件相同,必将获得相同的结果,与其执行的速度无关。即执行程序的两个动作之间如有停顿,不会影响程序的执行结果。第二章 进 程 管 理 2.1.3 程序的并发执行及其特征程序的并发执行及其特征 1.程序的并发执行程序的并发执行 图 2-3 并发执行时的前趋图 在该例中存在下述前趋关系:IiCi,IiIi+1,CiPi,CiCi+1,PiPi+1 而Ii+1和Ci及Pi-1是重迭的,亦即在Pi-1和Ci以及Ii+1之间,可以并发执行。第二章
5、进 程 管 理 2资源共享 系统中的硬件、软件资源不再为单个用户程序所独占,而由几道用户程序共同使用。那么,这些资源的状态也就不再取决于一道程序,而是由多道用户程序的活动共同决定,这就打破了一道程序封闭于一个系统中执行的局面。第二章 进 程 管 理 3.程序并发执行时的特征程序并发执行时的特征(1)失去了程序的封闭性和可再现性 举例:观察者与报告者并行工作,卡车单向行驶于公路,观察者对通过的卡车计数,报告者定时打印观察者的计数值,然后将计数器清零。BeginCount:integer;Count:=0;Cobegin Observer Begin L1:Observe next car;Cou
6、nt:=Count+1;Goto L1:EndReporter Begin L2:.Print Count;Count:=0;EndCoendEnd 第二章 进 程 管 理 三种不同的执行序列:假设执行前,二者的共享变量c=n序列 报告者打印的值 观察者执行后的值a)c=c+1;print c;c=0;n+1 0b)print c;c=0;c=c+1;n 1c)print c;c=c+1;c=0;n 0 执行的结果与执行的序列有关,即与执行的速度有关,就会有三种不同的执行结果。第二章 进 程 管 理(2).程序和计算机执行程序的活动不再一一对应,即程序与计算不再一一对应。程序顺序执行时,程序和
7、计算是一一对应的。并发执行时:一个并发程序可以为多个用户作业调用,使该程序处于多个执行当中,形成多个计算,.一个程序也可以分为多个进程或者线程,并发地执行,第二章 进 程 管 理(3)并发的程序之间相互制约,使他们走走停停,出现了间断性 资源的共享和并发活动时的系统的工作情况错综复杂,表现在并发程序之间的相互依赖和相互制约方面,直接制约关系,发生在彼此有逻辑关系的几个并发程序活动之间,如输入,计算,打印形成的停-等关系,间接制约是由竞争使用同一资源引起的,也引起停-等。各个程序活动走走停停,具有执行-暂停-执行的活动规律。第二章 进 程 管 理(4)进程概念的引入 综上所述,在多道程序环境下,
8、程序的并发执行代替了程序的顺序执行,破坏了程序的封闭性和可再现性,使得程序和计算不再一一对应,而且,由于资源的共享和程序的并发执行导致在各个程序的活动之间可能存在相互制约关系,即 程序活动不再处于一个封闭的系统中,出现了许多新的特性,如独立性,并发性,动态性,相互制约性,因此,程序这个静态的概念已不能如实地反映程序活动的这些特征。二 十 世 纪 六 十 年 代 中 期,MULTICS的 设 计 者 和 以E.W.Dijkstra为 首 的 T.H.E系 统 的 设 计 者,开 始 使 用 进 程(Process)来描述系统和用户的程序活动,IBM用任务(Task)来描述。第二章 进 程 管 理
9、 2.2 进程的定义、表示、调度状态和特征进程的定义、表示、调度状态和特征2.2.1 定义定义有多种说法:程序是行为的规则,进程是程序在处理机上执行时所发生的活动。进程是一个程序与其数据在处理机上顺序执行时所发生的活动。进程是程序的一次执行,该程序可以与其他的程序并发地执行。进程是程序在一个数据集合上运行的过程,是系统进行资源分配和调度的独立单位。本书定义:进程是进程实体的运行过程,是系统进行资源分配和调度的独立单位。第二章 进 程 管 理 2.2.2 进程的表示进程的表示1进程的组成进程的组成进程由三部分组成:(进程的结构性定义)进程实体=代码+数据+进程控制块 =CODE+DATA+PCB
10、 程程序序代代码码CODE:描述进程要完成的功能,是进程执行时不可修改的部分.数数据据集集合合DATA:包括程序在执行时所需的数据和工作区,是进程的可修改的部分,只能为一个进程专用。程序和数据集合两部分是进程存在的物质基础。第二章 进 程 管 理 进程控制块进程控制块(Process Control Block PCB)是系统创建进程时,为其开辟的专用的存储区,是记录型的数据结构,包括进程的描述信息,和控制信息。是进程动态特性的集中反映。PCB随着进程的创建而建立,随着进程的撤销而撤销,随着进程的运行而变化。系统通过PCB感知进程的存在,通过PCB来控制和管理进程,是进程存在的唯一标志。正像在
11、磁盘上通过目录来感知文件的存在。PCB 常驻于内存的专门的区域,组织称为若干队列,被系统频繁地访问。进程三部分的组合有几种形态:第二章 进 程 管 理 PCB程序数据集合PCBPCBPCB程序程序数据集合数据集合数据集合有人说,程序、数据是进程的躯体,PCB是进程的灵魂。第二章 进 程 管 理 进程控制块的作用进程控制块的作用 进程控制块的作用是使一个在多道程序环境下不能独立运行的程序(含数据),成为一个能独立运行的基本单位,一个能与其它进程并发执行的进程。或者说,OS是根据PCB来对并发执行的进程进行控制和管理的。这可以回答一个问题。为什么说,在多道程序的环境下,程序,包含数据,不能独立运行
12、,而进程则成为独立运行的基本单位。第二章 进 程 管 理 2.进程控制块中的信息进程控制块中的信息(1)进程标识符进程标识符 进程标识符用于惟一地标识一个进程。一个进程通常有两种标识符:内部标识符。在所有的操作系统中,都为每一个进 程赋予一个惟一的数字标识符,它通常是一个进程的序号。设置内部标识符主要是为了方便系统使用。外部标识符。它由创建者提供,通常是由字母、数字组成,往往是由用户(进程)在访问该进程时使用。为了描述进程的家族关系,还应设置父进程标识及子进程标识。此外,还可设置用户标识,以指示拥有该进程的用户。第二章 进 程 管 理(2)处理机状态 处理机状态信息主要是由处理机的各种寄存器中
13、的内容组成的。通用寄存器,又称为用户可视寄存器,它们是用户程序可以访问的,用于暂存信息,在大多数处理机中,有 832 个通用寄存器,在RISC结构的计算机中可超过 100 个;指令计数器,其中存放了要访问的下一条指令的地址;程序状态字PSW,其中含有状态信息,如条件码、执行方式、中断屏蔽标志等;用户栈指针,指每个用户进程都有一个或若干个与之相关的系统栈,用于存放过程和系统调用参数及调用地址。栈指针指向该栈的栈顶。第二章 进 程 管 理(3)进程调度信息 在PCB中还存放一些与进程调度和进程对换有关的信息,包括:进程状态,指明进程的当前状态,作为进程调度和对换时的依据;进程优先级,用于描述进程使
14、用处理机的优先级别的一个整数,优先级高的进程应优先获得处理机;进程调度所需的其它信息,它们与所采用的进程调度算法有关,比如,进程已等待CPU的时间总和、进程已执行的时间总和等;事件,是指进程由执行状态转变为阻塞状态所等待发生的事件,即阻塞原因。第二章 进 程 管 理(4)进程控制信息 进程控制信息包括:程序和数据的地址,是指进程的程序和数据所在的内存或外存地(首)址,以便再调度到该进程执行时,能从PCB中找到其程序和数据;进程同步和通信机制,指实现进程同步和进程通信时必需的机制,如消息队列指针、信号量等,它们可能全部或部分地放在PCB中;资源清单,是一张列出了除CPU以外的、进程所需的全部资源
15、及已经分配到该进程的资源的清单;链接指针,它给出了本进程(PCB)所在队列中的下一个进程的PCB的首地址。第二章 进 程 管 理 3.进程控制块的组织方式进程控制块的组织方式 1)链接方式 图 2-7 PCB链接队列示意图 第二章 进 程 管 理 2)索引方式 图 2-8 按索引方式组织PCB 第二章 进 程 管 理 2.2.3 进程的调度状态进程的调度状态1三种基本的调度状态三种基本的调度状态 运行状态:进程已获得必要的资源,并占有一个处理机,处理机正在执行该进程的程序代码,是正在运行的进程,一个系统的现运行进程数必可用的处理机数。就绪状态:进程已具备运行条件,等待分配处理机,称为可运行状态
16、,具有这种状态的进程有多个,要排成队列。阻塞状态:进程在运行过程中,因为等待某一事件,如I/O操作的完成,而暂时不能运行的状态,即运行受到阻碍,称为不可运行的状态,这样的进程也有多个,也要排成队列。第二章 进 程 管 理 图 2-5 进程的三种基本状态及其转换 2.进程的三种基本状态的转换进程的三种基本状态的转换 第二章 进 程 管 理 3.挂起状态挂起状态(1)引入挂起状态的原因)引入挂起状态的原因 终端用户的请求。父进程请求。负荷调节的需要。操作系统的需要(2)挂起状态的含义)挂起状态的含义 处于就绪状态的进程挂起时,不再接受调度,成为静止就绪状态。处于阻塞状态的进程挂起时,成为静止阻塞状
17、态,当其所期望的事件出现时,变为静止就绪。新状态:新状态:进程刚刚建立,尚未进入就绪队列,终止状态:终止状态:进程的运行已经结束,已经溢出队列,但尚未撤销。第二章 进 程 管 理 图 2-6 具有挂起状态的进程状态图 4五种状态的的转换图五种状态的的转换图 进程状态的转换活动就绪静止就绪。活动阻塞静止阻塞。静止就绪活动就绪。静止阻塞活动阻塞。第二章 进 程 管 理 2.2.4进程的特性进程的特性 结构特征:进程实体由三部分组成。尤其是PCB,是必不可少的部分。动态性:由创建而产生,由调度而执行,由撤销而消亡。进程实体有一定的生命周期。并发性:多个进程实体共处于内存中,在一段时间内同时运行。独立
18、性:进程实体是一个能独立运行、独立分配资源和独立接受调度的基本单位。异步性:进程按各自独立的、不可预知的速度向前推进,进程实体按异步方式运行。这五条也是进程与程序的主要区别。第二章 进 程 管 理 2.3 进进 程程 控控 制制 2.3.1 进程控制的基本概念进程控制的基本概念 1什么是进程控制?什么是进程控制?进程控制是指系统使用一些具有特定功能的程序段来创建进程、撤销进程、完成进程各种状态的转换,达到多进程高效并发执行和协调,实现资源共享的目的。2谁来完成进程控制?谁来完成进程控制?完完成成进进程程控控制制的的机机构构是是操操作作系系统统的的内内核核Kernel 中中的的相相关关软软件件模
19、模块块。操作系统内核是紧靠硬件的第一层扩充软件,包括与硬件紧密相关的模块和运行频率高的模块,它们常驻内存,需要加以特殊的保护。第二章 进 程 管 理 操作系统如何才能得到对处理机的控制操作系统如何才能得到对处理机的控制 操作系统是以中断来驱动的,即OS通过中断方式才能得对于处理机的控制,进程控制是以事件来驱动的。有三种情况会打断当前进程的执行,外部随机事件的中断,错误或异常条件管理的TRAP;调用了操作系统的功能。OS得得到到处处理理机机的的控控制制权权后后,是是否否作作为为进进程程在在系系统统中中运运行行,有三种方案。有三种方案。非进程的内核模式 OS在用户进程内部执行 操作系统的进程方式,
20、OS的各种功能作为系统进程运行,称为服务器进程,与用户进程构成客户机/服务器的模式 第二章 进 程 管 理 3怎样进行进程的控制?怎样进行进程的控制?在在OS中,通常把进程控制所用到的程序段作为中,通常把进程控制所用到的程序段作为原语原语。原语是在系统态下执行的某些具有特定功能的程序段,一类是机器指令级的,执行期间不允许中断,是一个不可分割的单位,另一类是功能级的。作为原语的程序段不允许并发地执行,并且,都在系统态下执行,被高层软件调用来完成某个系统管理的功能。以事件来驱动;以原语来实现,这是学习进程控制的基本观点。第二章 进 程 管 理 2.3.2 进程的创建进程的创建 1.进程图(Proc
21、ess Graph)图 2-9 进程树 进程图是描述进程之间家族关系的有向树。结点代表进程,有向边由父进程指向子进程。树的根结点是进程家族的祖先。子进程可以继承父进程的资源,撤销时归还。若要撤销父进程,也须同时撤销其子进程。在PCB中,记录了家族关系。第二章 进 程 管 理 2.引起创建进程的事件引起创建进程的事件(1)用户登录用户登录。分时系统中。(2)(2)作业调度作业调度。批处理系统中。(3)(3)提供服务提供服务。用户进程提出请求(4)以上三种情况,都由系统内核为其创建一个新进程。(5)(4)应用请求应用请求。基于应用进程的需求,由它自己创建一个新的进程。第二章 进 程 管 理 3.进
22、程的创建进程的创建(Creation of Progress)调用进程创建原语create()(1)申请空白PCB。(2)为新进程分配资源。(3)初始化进程控制块。(4)将新进程插入就绪队列,如果进程就绪队列能够接纳新进程,便将新进程插入就绪队列。第二章 进 程 管 理 2.3.3 进程的终止进程的终止 1.引起进程终止引起进程终止(Termination of Process)的事件的事件 1)正常结束 在任何计算机系统中,都应有一个用于表示进程已经运行完成的指示。进程运行完毕,可产生一个中断。2)异常结束 在进程运行期间,由于出现某些错误和故障而迫使进程终止。越界错误。保护错。非法指令。特
23、权指令错。运行超时。等待超时。算术运算错。I/O故障。第二章 进 程 管 理 3)外界干预外界干预并非指在本进程运行中出现了异常事件,而是指进程应外界的请求而终止运行。这些干预有:操操作作员员或或操操作作系系统统干干预预。由于某种原因,例如,发生了死锁,由操作员或操作系统终止该进程;父父进进程程请请求求。由于父进程具有终止自己的任何子孙进程的权利,因而当父进程提出请求时,系统将终止该进程;父父进进程程终终止止。当父进程终止时,OS也将他的所有子孙进程终止。第二章 进 程 管 理 2.进程的终止过程进程的终止过程 调用进程终止原语,执行以下操作。调用进程终止原语,执行以下操作。(1)根据被终止进
24、程的标识符,从PCB集合中检索出该进程的PCB,从中读出该进程的状态。(2)若被终止进程正处于执行状态,应立即终止该进程的执行,并置调度标志为真,用于指示该进程被终止后应重新进行调度。(3)若该进程还有子孙进程,还应将其所有子孙进程予以终止,以防他们成为不可控的进程。(4)将被终止进程所拥有的全部资源,或者归还给其父进程,或者归还给系统。(5)将被终止进程(它的PCB)从所在队列(或链表)中移出,等待其他程序来搜集信息。第二章 进 程 管 理 2.3.4 进程的阻塞与唤醒进程的阻塞与唤醒1.引起进程阻塞和唤醒的事件引起进程阻塞和唤醒的事件 请求系统服务请求系统服务,而要求得不到满足。启动某种操
25、作启动某种操作,必须待其完成,如I/O。新数据尚未到达新数据尚未到达,需要此数据的进程只能等待。无新工作可做无新工作可做,具有特定功能的系统进程。第二章 进 程 管 理 2.进程阻塞过程进程阻塞过程 进程通过调用阻塞原语block把自己阻塞。阻塞是进程自身的一种主动行为。该进程立即停止执行停止执行,将CPU控制权交给OS。OS将该进程PCB中的现行状态由“执行”改改为为阻阻塞塞,保留被阻塞进程的处理机状态,存储相关信息,将该进程PCB插插入入阻阻塞塞队队列列。如果存在多个阻塞队列,应将该进程插入到具有相同事件的阻塞(等待)队列。转调度程序进行重重新新调调度度,将处理机分配给另一就绪进程,并进行
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 操作系统 教程 文件

限制150内