您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > ch3西安电子科技大学操作系统课件
西安电子科技大学计算机学院1计算机操作系统第三章进程管理主讲方敏西安电子科技大学计算机学院2第三章进程管理进程的定义与控制进程调度进程间的相互作用进程通信线程UNIX和Windows的进程和线程模型西安电子科技大学计算机学院33.1进程的引入在早期计算机系统中,多道程序设计还未出现之前,程序是顺序执行的。多道程序设计出现后,操作系统可以实现多个进程的并发执行。进程(process)一词在20世纪60年代初首先出现的MIT的MULTICS系统中。进程是程序的一次执行,多个进程可以并发执行。西安电子科技大学计算机学院43.1进程的引入程序的顺序执行和并发执行程序的执行有两种方式:顺序执行和并发执行。顺序执行是单道批处理系统的执行方式,也用于简单的单片机系统;现在的操作系统多为并发执行,具有许多新的特征。引入并发执行的目的是为了提高资源利用率。程序顺序执行:一个较大的程序通常由若干个程序段组成,程序在执行时,各程序段必须按照先后次序逐个执行。程序各程序段的这种先后次序可用前趋图表示。西安电子科技大学计算机学院53.1进程的引入前趋图是一个有向无循环图,图由结点和结点间的有向边组成,结点代表各程序段操作,而结点间的有向边代表程序段操作之间存在的前趋关系。两程序段Pi和Pj的前趋关系表示成PjPiPi是Pj的前趋,Pj是Pi的后继I1C1P1I2C2西安电子科技大学计算机学院63.1进程的引入顺序执行的特征顺序性:CPU严格按照程序结构所指定的次序执行。封闭性:独占全部资源,资源的状态只能由该程序本身改变,不受其它程序和外界因素影响。可再现性:如果程序执行环境和初始条件相同,则其执行的结果相同。西安电子科技大学计算机学院73.1进程的引入多道程序设计:把一个以上的程序放入内存中,并且同时处于运行状态,这些程序共享CPU和其它资源。特点如下:多道:内存中有多道程序,它们在任一时刻必须处于就绪、运行、阻塞三种状态。宏观上并行:从宏观上看,它们在同时执行。微观上串行:从微观上看,它们在交替、穿插执行。西安电子科技大学计算机学院83.1进程的引入多道程序设计优点:CPU利用率高。设备利用率高。系统吞吐量大。P1P2tI/OCPU两个进程执行示意图西安电子科技大学计算机学院93.1进程的引入并发执行的特征:失去封闭性:共享资源,程序之间互相制约。间断性:程序之间的制约关系致使程序执行时间不连贯。不可再现性:失去封闭性,也就失去了可再现性,程序执行的结果随速度、环境的不同而不同。可见,并发和并行是不同的概念:并行是并发的特例,并发是并行的拓展。西安电子科技大学计算机学院10观察者beginrepeatwaitforacarthroughN=N+1untilend报告者beginrepeatdelayprintNN=0untilend初始N=n时不同执行序列,结果各不相同执行序列123程序N=N+1printNN=0printNN=0N=N+1printNN=N+1N=0结果打印n+1,N=0打印n,N=1打印n,N=0例子:观察者与报告者西安电子科技大学计算机学院113.1进程的引入综上所述,由于程序的并发执行破坏了程序的封闭性和可再现性,使得程序和程序的执行不再一一对应,因此,程序这个静态的概念已经不能切实反映程序执行的各种特征。于是,引入“进程”,能够反映程序执行的独立性、并发性和动态性等特征。西安电子科技大学计算机学院123.2进程定义与控制进程定义进程是程序的一次执行进程是可以和别的计算并发执行的计算进程是定义在一个数据结构上并能在其上进行操作的一个程序进程是程序在一个数据集合上运行的过程,它是系统进行资源分配和调度的一个独立单位西安电子科技大学计算机学院133.2进程定义与控制进程与程序的区别进程是动态的,程序是静态的:程序是有序代码的集合;进程是程序的一次执行。进程是暂时的,程序的永久的:进程是一个状态变化的过程,程序可长久保存。进程与程序的组成不同:进程的组成包括程序、数据和进程控制块(即进程状态信息)。进程与程序的对应关系:通过多次执行,一个程序可对应多个进程;通过调用关系,一个进程可包括多个程序。西安电子科技大学计算机学院143.2进程定义与控制进程:是程序的一次执行,该程序可与其它程序并发执行;它是一个动态实体,在传统的操作系统设计中,进程既是基本的分配单位,也是基本的执行单位。西安电子科技大学计算机学院153.2进程定义与控制进程组成:有程序段、数据段和进程控制块(PCB)组成。程序和数据是进程存在的物理基础,是进程的实体进程控制块是进程的灵魂,是进程存在的唯一标志操作系统为进程创建进程控制块和分配地址空间的过程就是进程创建的过程西安电子科技大学计算机学院163.2进程定义与控制进程控制块:是操作系统用来记录进程详细状态和相关信息的基本数据结构,包括进程的标识信息、状态信息和控制信息。标识信息:唯一的标识一个进程,主要有进程标识、用户标识和父进程标识。状态信息:与CPU有关的各种现场信息,包括寄存器状态、堆栈指针。以便该进程重新占用CPU后能够继续执行。西安电子科技大学计算机学院173.2进程定义与控制控制信息:操作系统对进程进行调度管理时用到的信息。主要有进程状态、调度信息、队列指针、资源占有使用信息等。进程控制块的组织方式PCB在内存中是以表的形式存在的-PCB表。还可以将相同性质的进程组织在一张表中,形成多个索引表。有些操作系统将PCB分为常驻内存和非常驻内存两部分,如UNIX。西安电子科技大学计算机学院183.2进程定义与控制进程基本状态运行态(Running):进程已经获得所需资源,并占有CPU就绪态(Ready):已经获得所需资源,只等待CPU阻塞态(Blocked):也称为等待态、挂起态或睡眠态等,进程等待某个事件,如等待I/O完成,等待某个资源此外,还可以有新建态、终止态。西安电子科技大学计算机学院193.2进程定义与控制进程状态的转换新建终止就绪阻塞运行创建完毕时间片用完结束执行选中等待事件等待结束西安电子科技大学计算机学院20七状态进程模型活动挂起事件发生事件发生等待事件挂起调度超时释放活动挂起西安电子科技大学计算机学院21西安电子科技大学计算机学院22PCB1PCB2PCB3PCB4PCB5PCB6PCB7PCBn......空PCB运行态就绪态等待1等待26751015进程控制块(ProcessControlBlock)西安电子科技大学计算机学院233.2进程定义与控制进程控制-通过原语(Primitive)操作实现原语是指由机器指令构成的可完成特定功能的程序段。它是一个机器指令的集合,在执行时不能被中断。多采用屏蔽中断方法实现。进程控制原语有:进程创建原语(createprimitive)进程撤消原语(destroyprimitive)进程阻塞原语(blockprimitive)进程唤醒原语(wakeupprimitive)进程挂起原语(suspendprimitive)进程激活原语(activeprimitive)西安电子科技大学计算机学院243.2进程定义与控制进程关系的树型结构AA22A21A11A2A1西安电子科技大学计算机学院253.2进程定义与控制进程关系的树型结构主要优点资源分配严格:子进程仅能分配到父进程所拥有的资源,用完后归还。进程控制灵活:可根据需要给进程以不同的控制权限。进程结构清楚,关系明确。西安电子科技大学计算机学院263.2进程定义与控制进程特征动态性:“执行”、“计算”、“运行过程”都强调动态性,进程的最基本特征。并发性:进程的重要特征,同时也是操作系统的重要特征。异步性:进程按各自独立的不可预知的速度向前推进,即进程按异步方式进行,这导致了进程执行的不可再现性,因此,操作系统必须采用某些措施来限制各进程推进序列以保证各程序间正常协调运行。西安电子科技大学计算机学院273.2进程定义与控制进程特征独立性:进程是一个独立运行的基本单位,即是一个独立获得资源和独立调度的单位。制约性:一个进程的执行可能依赖其他进程的执行结果。结构性:每个进程有固定结构,包括程序、数据和PCB三部分。西安电子科技大学计算机学院283.3进程调度进程调度属于低级调度,就是从就绪队列中,按照一定的算法选择某个进程占用CPU。进程调度时机现运行进程或者因任务完成而正常结束,或者因错误而异常结束现运行进程因某种原因,比如I/O请求,从运行态进入阻塞状态现运行进程执行某种原语操作,如P操作、阻塞原语等,进入阻塞状态一个具有更高优先数的进程要求CPU,即已进入就绪队列分配给该进程运行的时间片已用完西安电子科技大学计算机学院293.3进程调度确定调度算法的原则:面向系统性能:公平性、较大的吞吐量面向用户性能:及时性、较短的周转时间西安电子科技大学计算机学院303.3进程调度进程调度算法先来先服务进程调度算法(FCFS)基于优先数的进程调度算法:根据优先数大小确定优先级高低,分为静态优先数法:进程创建时就规定好优先数动态优先数法:优先数在执行过程中根据情况改变,例如UNIX时间片轮转进程调度算法固定时间片可变时间片多级队列轮转调度算法西安电子科技大学计算机学院31多级队列轮转调度算法最高优先级队列次高优先级队列低优先级队列CPU进程进入运行结束撤消降低优先级就绪进程西安电子科技大学计算机学院323.3进程调度进程调度方式当一个进程正在CPU上运行时,若有一个更为紧迫或更为重要的进程需要进行处理,或者说,如果有更高优先数的进程进入就绪队列时,如何分配CPU。通常有两种方式:不可剥夺方式(不可抢占方式,non-preemptive)可剥夺方式(可抢占方式,preemptive)西安电子科技大学计算机学院333.4进程间的相互作用同步:一个进程的某个操作与协作进程的某个操作之间在时序上有一定的关系。如果协作进程的某个操作没有完成,那么该进程就要等待这个操作完成才能继续下去,这种需要相互合作、协同工作的进程之间的相互关系称为进程的同步。临界资源(独占资源):指在一段时间内只允许一个进程访问的资源。互斥:当两个或两个以上进程竞争同一临界资源时,进程间的制约关系称为进程的互斥。西安电子科技大学计算机学院343.4进程间的相互作用进程间的同步司机和售票员的同步正常行驶开车到站停车关车门开车门售票员售票司机西安电子科技大学计算机学院353.4进程间的相互作用又如,有用户作业程序,其形式为:Z=fun1(x)*fun2(y)其中,fun1(x)和fun2(y)均是一个复杂函数,为了加快本题的计算速度,可用两个进程P1、P2各计算一个函数。进程P2计算fun2(y),进程P1计算完fun1(x)之后,与进程P2的计算结果相乘,以获得最终结果Z。西安电子科技大学计算机学院363.4进程间的相互作用结束置计算完标志P2计算fun2(y)N计算fun1(x)取用P2计算结果P1P2算完fun2(y)Y西安电子科技大学计算机学院373.4进程间的相互作用进程的互斥互斥使用资源进程A(阻塞)请求资源R进程B释放资源R请求资源R(使用R)释放资源RR分配拒绝唤醒西安电子科技大学计算机学院38进程间的制约进程间的联系进程间同步:相互协作的进程要共同完成一个任务,它们之间要相互配合,需要在一些动作间进行同步,即一个进程的某个动作与协作进程的某些动作之间在时序上有一定的关系。进程间互斥:当两个或两个以上的进程竞争同时只能被一个进程使用的资源时,例如竞争使用打印机,需要互斥使用该资源。进程的同步、互斥机制──信号量及P.V操作西安电子科技大学计算机学院39由于各进程要求共享资源,而有些资源需要互斥使用,因此各进程间竞争使用这些资源,进程的这种关系为进程的互斥.临界资源:criticalresource系统中某些资源
本文标题:ch3西安电子科技大学操作系统课件
链接地址:https://www.777doc.com/doc-4445510 .html