版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第二章进程管理多道程序设计进程进程间的相互作用进程间的通信进程控制进程调度(cpu调度) 死锁2.1多道程序设计顺序程序并发程序多道程序设计2.1.1.顺序程序程序:指令或语句序列,体现了某种算法,所有程序是顺序的 顺序环境:在计算机系统中只有一个程序在运行,这个程序独占系统中所有资源,其 执行不受外界影响。特征:程序执行的顺序性:程序执行的封闭性: 独占资源,执行过程中不受外界影响。程序结果的可再现性:程序运行结果与程序执行速度无关,只要初始状态相同,结果应相 同。2. 1. 2并发程序并发环境:在一定时间内物理机器上有两个或两个以上的程序同处于开始运行但尚未结束的 状态,并且次序不是事先确
2、定的。特征:(d不可再现性:并发程序执行的结果与其执行的相对速度有关,是不确定 的。(2)在并发环境下程序的执行是间断性的。资源共享系统中资源被多个进程使用。(4)制约性:进程之间可相互作用(相互制约),可分为直接作用和间接作 用。(5)程序和计算不再对应。(计算:一个程序的执行。)引入并发的目的:引入并发是为了提高资源利用率,从而提高系统效率。并发与并行概念的区别:concurrency, parallel2. 1. 3多道程序设计定义:mui tiprogramming多道程序设计是指允许多个程序同时进入内存并运行。(引入目的是为了提高系统效率)与并发不完全是一个概念,但效果相似。考虑因素
3、:在多道程序环境下如何向用户提供服务;在并发程序之间如何正确传递消息(通 讯)如何对cpu进行调度,保证每个用户相对公平地得到cpu (cpu是一个只可调度,不可分配的 资源。)如何管理其它资源:当各用户对资源使用上发生冲突时,如何处理竞争。对cpu只能通过调度来解决竞争问题,而对于其它资源通过申请一分配一使用一回收 的办法进行管理,当且仅当占有cpu的时候才可以申请,否则要排队等候。2.1.4与时间有关的错误一个飞机订票系统,两个终端,运行tl、t2进程t1 :t2:read(x);read(x);if x>=l thenif x>=l thenx:=xt;x:=xt;wri t
4、e (x) ;wri te (x); cobeginget;copy;put;coendis tg初始状态3, 4,., m22(1,2)g,c,p4, 5, m33(1, 2, 3)g,p,c4,5,., m33(1, 2, 2)c, g,p4, 5, , m32(1, 2, 2)c,p, g4, 5, m32(1, 2, 2)p, c,g4, 5, ., m32(1, 2, 2)p,g,c4, 5, m33(1, 2, 2)设信息长度为m,有多少种可能性?2. 2.1进程的概念定义:process进程是具有独立功能的程序关于某个数据集合上的一次运行活动,是系统进行资源分配和调 度的独立单位
5、。程序与进程之间的区别:进程更能真实地描述并发,而程序不能。进程是由程序和数据两部分组成的。程序是动态的,进程是动态的。进程有生命周期,有诞生有消亡,短暂的。而程序是相对长久的。一个程序可对应多个进程,反之亦然。进程具有创建其它进程的功能,而程序没有。进程的分类:系统进程:用户进程:(系统进程优先于用户进程)2. 2. 2进程的基本状态及其转换进程的三种基本状态:进程在生命消亡前处于且仅处于三种基本状态之一。不同系统设置的进程状态数目不同。运行态(running): 进程占有cpu,并在cpu上运行。就绪态(ready):一个进程已经具备运行条件,但由于无cpu暂时不能运行的状态。(当调度给
6、其cpu时,立即可以运行)等待态(blocked):阻塞态、挂起态、封锁态.冻结态、睡眠态指进程因等待某种事件的发生而暂时不能运行的状态。(即使cpu空闲,该进 程也不可运行)状态转换:在进程运行过程中,由于自身进展情况及外界环境的变化,这三种基本状态可以依 据一定的条件相互转换。就绪一运行:被调度程序选中;运行一就绪:时间片到时,或有更高优先级的进程出现;运行一等待:等待某事件发生;等待一就绪:等待的事件发生了。2. 2. 3进程控制块(process control block)概念:系统为了管理进程设置的一个专门的数据结构,用它来记录进程的外部特征,描述进 程的运动变化过程。系统利用pc
7、b来控制和管理进程,所以pcb是系统感知进程存在的唯一标志。进程与pcb是_一对应的。pcb的内容:调度信息、:进程名;进程的内部标识;用户名;进程状态;进程优先级;进程的存储信息(起始 地址,长度);进程资源清单;进程家族关系;进程的队列指针;进程的消息队列指针;进程 当前打开的文件。现场信息:记录了重要的寄存器;(虚)时钟等内容。pcb表:系统把所有pcb组织在一起,并把它们放在内存的固定区域,就构成了 pcb表。pcb表的大小决定了系统中最多可同时存在的进程个数,称为系统的并发度。(注:多道程序中的多道与系统并发度不同)进程控制块(process control block)pcb表组织
8、方式:常用索引方式,对具有相同状态进程,分别设置各自的pcb索引表,表明pcb在pcb表中的 地址。(其他方式:线性表或链表)进程队列:不同状态进程分别组成队列运行队列、就绪队列、等待队列2. 2. 4进程的特征并发性:任何进程都可以同其它进程一起向前推进。动态性:进程对应程序的执行:进程是动态产生,动态消亡的。进程在生命周期内,在三种基本状态之间转换。独立性:进程是cpu调度的一个独立单位。交互性:指进程在执行过程中可能与其它进程产生直接或间接的关系。异步性:每个进程都与其相对独立的不可预知的速度向前推进。结构性:进程的组成:程序+ 数据+pcb可再入程序:可被多个进程同时调用的程序,具有下
9、列性质:它是纯代码的,即在执行过程中自身不改变,调用它的进程应该提供数据区。【思考题】:1如果系统中有几个进程,运行的进程最多几个,最少几个;就绪进程最多几个最少几个; 等待进程最多几个,最少几个。2. 有没有这样的状态转换,为什么:等待一运行;就绪一等待3. 一个转换发生,是否另一个转换一定发生,找岀所有的可能。4. 举几个日常生活中类似进程的例子。2.3进程间的相互作用进程间的联系 进程的同步机制信号量及pv操作(解决进程同步互斥问题)2. 3.1进程间的联系相交进程与无关进程相交进程:指多个并发进程在逻辑上有某种联系。无关进程(不相交进程):在逻辑上无任何联系的进程。直接作用和间接作用直
10、接作用:进程间的相互联系是有意识的安排的,直接作用只发生在相交进程间。间接作用:进程间要通过某种中介发生联系,是无意识安排的,可发生在相交进程之间,也可 发生在无关进程之间。进程的同步(直接作用) 进程的同步:synchronism指系统中一些进程需要相互合作,共同完成一项任务。具体说,一个进程运行到某一 点时要求另一伙伴进程为它提供消息,在未获得消息之前,该进程处于等待状态,获得消息后 被唤醒进入就绪态。例:司机 p1repeat 启动 正常运行 到站停until false售票员p2repeat关门售票开门until false进程的互斥(间接作用)mutual exclusion由于各进
11、程要求共享资源,而有些资源需要互斥使用,因此各进程间竞争使用这些资 源,进程的这种关系为进程的互斥。临界资源:cri tical resource系统中某些资源一次只允许一个进程使用,称这样的资源为临界资源或互斥资源或共享变量。临界区(互斥区):critical section一个程序片段的集合,这些程序片段分散在不同的进程中,对某个共享的数据结构 (共享资源)进行操作。在进程中涉及到临界资源的程序段叫临界区。进程的互斥(间接作用)使用互斥区的原则:有空让进:当无进程在互斥区时,任何有权使用互斥区的进程可进入。无空等待:不允许两个以上的进程同时进入互斥区。有限等待:任何进入互斥区的要求应在有限
12、的时间内得到满足。前提:任何进程无权停止其它进程的运行,进程之间相对运行速度无硬性规定解决方法:硬件(当一个进程进入临界区,就屏蔽所有中断,但成本高。)软件(用编程解决,但常常忙等待。)软件解法(1)free:表示临界状态true:无进程在临界区(初值)false:有进程在临界区 l: if free thenbeginfree:=false;'进入临界区'endelse goto l;free:=true软件解法(2)turn: truep进入临界区falseq进入临界区p: repeat until turn;'进入临界区'turn:=flase;q: re
13、peat until not turn;'进入临界区' turn:=true;软件解法:(3)pt urn, qturn:初值为 falsep进入临界区的条件:pt urn a not qturnq进入临界区的条件:not pturn a qturnp.q p turn: =true ;p turn: =ture;repeat until not qturn; repeat until not pt urn'进入临界区''进入临界区'pturn: = false;qturn: =false软件解法(4) dekker算法:在解法(3)基础上引入t
14、urn枚举类型初值任意p : repeatpturn :=true;while qturn doif turn=2 then beginpturn:=false; while turn=2 do pturn:=true end;'进入临界区' turn:=2; ptum:=false;until falseq : repeatqturn:=true;while pt urn do if turn=l then begin qturn:=false; while turn=l do qturn:=true end;'进入临界区'turn:=l;qtum:二fals
15、e;until false软件解法的缺点:l忙等待2实现过于复杂,需要高的编程技巧硬件解法(1)“测试并建立”指令function test_and_set(var target:boolean):booleanbegintest_and_se t: =targe t;target :=trueendvar lock:boolean;进入临界区前执行:while test_and_set (lock) doskip;离开临界区后执行:lock:=false;硬件解法(2)“交换”指令function swap(var a, b:boolean)var temp:boolean;begintem
16、p:=a;a:=b;b:=tempend每一组共享变量定义一个全局变量var lock:boolean;每个进程定义一个局部变量var key:boolean;进入临界区前执行:key:二true;repeatswap (1 ock, key);until key=false;离开临界区后执行:lock:=false;硬件解法(3)“开关中断”指令进入临界区前执行:执行“关中断”指令离开临界区后执行:执行“开中断”指令2. 3.2进程的同步机制信号量及p.v操作(解决进程同步)同步机制:信号量及p、v操作;管程;条件临界域;路径表达式等(用于集中式系统中)会合;通信顺序进程;分布进程;远程过程
17、调用等(适用于分布式系统中)同步机制应满足的基本要求:*描述能力*可以实现*效率高*使用方便信号量:semaphore是一个数据结构。定义如下:type semaphore= recordvalue: integerqueue: pointer_pcbend信号量说明:var: s: semaphorepv操作p操作p(s):s value : = s . value 一 1;if s . value < 0 then将该进程状态置为等待状态,然后将该进程的pcb插入相应的等待队列末尾。v操作v(s):s value : = s value + 1;if s value < = 0
18、 then唤醒相应等待队列中等待的一个进程,改变其状态为就绪态,并将其插入就绪队列。p、v操作为原语操作原语:primitive or atomic action是由若干多机器指令构成的完成某种特定功能的一段程序,具有不可分割性。即原语的执行必须是连续的,在执行过程中不允许被中断。实现:开关中断信号量的使用:必须置一次且只能置一次初值,初值不能为负数只能执行p、v操作用pv操作解决进程间互斥问题经典的生产者一消费者问题同步问题:p进程不能往“满”的缓冲区中放产品,设置信号量为&q进程不能从“空”的缓冲区中取产品,设置信号量s2p:q:repeatrepeat生产一个产品;p(s2);v
19、(s2);v(sl);p(sl)until false;p:repeatp(sl);生产一个产品; 送产品到缓冲区;v(s2)until false;消费产品until false;【思考题】要不要对缓冲区(临界资源)进行互斥操作?p: 1:= 0repeat 生产产品;p(s)& buffer i中放产品;v(s2)i:=(i+1) mod nuntil falseq: j:= 0repeatp(s2)a buffer j取产品;v(si)消费产品j:二(j+l) mod nuntil falsep. v操作讨论1) 信号量的物理含义:s>0表示有s个资源可用;s=0表示无资源
20、可用;s<0则i s i表示s等待队列中的进程个数。p(s):表示申请一个资源;v(s)表示释放一个资源。信号量的初值应该大于等于02) p. v操作必须成对出现,有一个p操作就一定有一个v操作。当为互斥操作时,它们同处于同一进程。当为同步操作时,则不在同一进程中出现。如果p (s1)和p (s2)两个操作在一起,那么p操作的顺序至关重要,一个同步p操作与一个互斥 p操作在一起时同步p操作在互斥p操作前。而两个v操作无关紧要。3) p. v操作的优缺点优点:简单, 極表送濫力密(用p.v操作可解决任何同步互斥问题。)缺点:不够安全;pv操作使用不当会出现死锁;遇到复杂同步互斥问题时实现复
21、杂。读者与写者问题第一类:读者优先如果读者来:1)无读者写者,新读者可以读。有写者等,但有其它读者正在读,则新读者可以读。有其它读者,且有写者等候,新读者也可以读。如果写者来:2)无读者,新写者可以写。有读者,新写者等待。 有其它写者,新写者等待。2.哲学家就餐问题repeat思考;取 forki;取 fork(i+l) mod 5;进食;放 forki;放 fork(i+l) mod 5;until false;state:array0., 4 of(思考,饥饿,进食);ph: array0,. 4 of semaphore;mu tex: semaphore ;i:0. 4;2. 4进程通
22、信概念消息缓冲通信方式2. 4. 1概念p. v操作实现的是进程之间的低级通讯,所以p. v为低级通讯原语。它只能传递简单的信号,不能传递交换大量信息。如果要在进程间传递大量信息则要用send / receive原语(高级通讯原语)。进程通信的方式 共享内存:相互通讯进程间设有公共内存,一组进程向该公共内存中写,另一组进程从公共内存中读, 通过这种方式实现两组进程间的信息交换。这种通信模式需要解决两个问题?进程通信的方式消息传递:系统为进程提供了两个高级通讯原语send和recei ve。send:当要进行消息传递时执行sendreceive:当接收者要接收消息时执行receive消息传递模式
23、消息缓冲:在内存中开设缓冲区,接收进程接收传递。信箱通信:管道通信:直接方式:发送进程发消息时要指定接收进程的名字,反过来,接收时要指明发送进程的名字。*对称形式:一对一*非对称形式:多对一(顾客/服务员)有缓冲(有界,无界),无缓冲间接方式:发送进程发消息时不指定接收进程的名字,而是指定一个中间媒介,即信箱。进程间通过信箱 实现通信。发送原语:send (mb, message)接受原语:recei ve (mb, message)2. 4.2消息缓冲(有界缓冲区原理):在操作系统空间设置一组缓冲区,当发送进程需要发送消息时,执行send系统调用,产生 自愿性中断,进入操作系统,操作系统为发
24、送进程分配一个空缓冲区,并将所发送的消息 从发送进程copy到缓冲区中,然后将该载有消息的缓冲区连接到接收进程的消息链链尾, 如此就完成了发送过程。发送进程返回到用户态继续执行;在以后某个时刻,当接收进程执行到receive接收原语时,也产生自愿性中断进入操作系 统,由操作系统将载有消息的缓冲区从消息链中取出,并把消息内容copy到接收进程空 间,之后收回缓冲区,如此就完成了消息的接收,接收进程返回到用户态继续进行。消息缓冲区结构:消息长度消息正文发送者消息队列指针用pv操作来实现send原语:send (r, m)p(m-mutex);begin把缓冲区挂到接收进程根据r找接收进程,的消息链
25、链尾;如果没找到出错返回;v (m-mu tex);申请空缓冲区p (s-b) ;v(s-m);p (b-mutex) ;end摘空缓冲区;v (b-mutex);把消息从m处copy到空缓冲区;其中s-b初值:n ; s-m初值:0管道通信方式pipe也称共享文件方式,基于文件系统,利用一个打开的共享文件连接两个相互通信的进程,文件作为缓冲传输介质。2. 5进程控制创建、撤消进程以及完成进程各状态之间的转换。由具有特定功能的原语完成。进程撤消原语唤醒原语激活(解挂)原语进程创建原语阻塞原语挂起原语2. 5. 1进程创建原语进程创建主要完成以下工作:创建一个pcb (找一个空pcb); 为进程
26、分配内存等必要资源;填写pcb中各项目;把其挂到进程就绪队列。2. 5. 2进程撤消原语收回进程所占有的资源;撤消该进程的pcb。2. 5. 3进程阻塞原语处于运行状态的进程,在其运行过程中期待某一事件发生,如等待键盘输入;等待磁盘数据 传输完成;等待其它进程发送消息,当被等待的事件未发生时,由进程自己执行阻塞原语,使 自己由运行态变为阻塞态。2. 5. 4进程唤醒原语2.6进程调度(cpu调用)要解决的问题what:按什么原则分配cpu进程调度算法when:何时分配cpu进程调度的时机how:如何分配cpucpu调度过程(进程的上下文切换)2. 6.1进程调度算法1进程调度进程调度的任务是控
27、制协调进程对cpu的竞争即按一定的调度算法从就绪队列中选中一个进 程,把cpu的使用权交给被选中的进程。2.算法确定的原则具有公平性资源利用率,特别是cpu利用率在交互式系统情况下要追求响应时间,其越短越好。在批处理系统情况下要追求系统吞吐量3.各种算法先进先出进程调度算法(fifo)按照进程就绪的先后次序来调度进程。优点:实现简单缺点:是没考虑进程的优先级基于优先数的调度(hpfhighest priority first)优先选择就绪队列中优先级最高的进程投入运行优先级根据优先数来决定确定优先数的方法静态优先数法:在进程创建时指定优先数,在进程运行时优先数不变。动态优先数法:在进程创建时创
28、立一个优先数,但在其生命周期内优先数可以动态变化。如等待时间长优先 数可改变。两种占用cpu的方式可剥夺式(可抢占式preemptive):当有比正在运行的进程优先级更高的进程就绪时,系统可强行剥夺正在运行进程的cpu,以 供具有更高优先级的进程使用。不可剥夺式(不可抢占式nonpreemptive ):某一进程被调度运行后除非由于它自身原因不能运行,否则一直运行下去。时间片轮转程序调度算法(rrround robin)把cpu划分成若干时间片,并且按顺序赋给旧序列队中每一个进程,进程轮流占有cpu,当时 间片用完时,进程未执行完毕,则系统剥夺该进程的cpu,该进程排列旧序列队末尾。同时选 择
29、另一个进程运行。分时系统中常用时间片轮转法时间片选择问题:固定时间片可变时间片与时间片大小有关的因素:系统响应时间就绪进程个数cpu能力多队列反馈调度算法:将就绪队列分为n级,每个就绪队列分配给不同的时间片,队列级别越高,时间越长,级别 越小,时间片越小,最后级采用时间片轮转,其它队列用先进先出;系统从第一级调用,当 第一级为空时,系统转向第二个了队列,.当运行进程用完一个时间片,放弃cpu,进入下一级队列,等待进程被唤醒时,进入原来的就绪队列,当进程第一次就绪时,进入第一级队 列*首先系统中设置多个就绪队列*每个就绪队列分配给不同时间片,优先级高的为第一级队列给他时间片小,随着队列级别的 降
30、低,时间片加大*各个队列按照先进先出调度算法* 一个新进程就绪后进入第一级队列*进程由于等待而放弃cpu后,进入等待队列,一旦等待的事件发生,则回到原来的就绪队列*当有一个优先级更高的进程就绪时,可以抢占cpu,被抢占进程回到就绪队列末尾*当第一级队列空时,就去调度第二级队列,如此类推*当时间片到后,进程放弃cpu,回到下一级队列2. 6. 2进程调度的时机当一个进程运行完毕,或由于某种错误而终止运行当一个进程在运行中处于等待状态(等待i/o)分时系统中时间片到当有一个优先级更高的进程就绪(可抢占式),例如:新创建一个进程,一个等待进程变成就 绪。在进程通讯中,执行中的进程执行了某种原语操作(
31、p操作,阻塞原语,唤醒原语)2. 6. 3 cpu调度过程*保存现场:顺序保存,最后一步保存psw*选择要运行的程序(如果没有就绪进程,系统会安排一个闲逛进程(idle),没有其它进程时该进程一直运行,在 执行过程中可接收中断)*恢复现场:最后一步恢复选中进程的psw2. 7系统核心系统核心:向上提供多个无中断的虚拟机器,在核心内不允许中断。特点:*为进程运行提供一个舞台*核心常驻内存*设计短小精焊2. 7. 1核心的组成中断处理进程管理:调度控制通讯互斥同步等原语管理:在核心中提供一系列原语,同步,通信,创建,撤消等队列管理:队列数据结构:指向队首的表指针三个队列:运行,就绪,等待队列排队方
32、式:排队首排队尾插队出队方式:队首出队/队中出队队列管理:中断之后,进程调度之前现场管理:保存现场;注意顺序,中断之后第一步恢复现场:恢复时机,进程调度最后一步时钟管理:以固定频率+1 -1用途:进入绝对时钟间隔时钟进行分析比较虚时钟:每个进程分配给一个虚时钟来记录cpu时间,这个时钟是虚时钟。虚时钟存放于pcb中,属于现场一部分,进程运行时,将虚时钟放入内存开避的专门单元, 离开cpu放入pcb中。2. 7. 2核心处理流程进入核心的唯一入口:中断中断后进入核心,由硬件完成2. 7.3内核的执行的特点由中断驱动的:中断一内核退出内核执行是连续的内核执行过程中在屏蔽状态下内核使用特权指令2.8
33、死锁死锁的基本概念死锁的解决方案(预防,避免,检测及解除)资源分配图死锁的现象2. & 1死锁的基本概念死锁的定义:一组进程中,每个进程都无限等待被该组进程中另一进程所占有的资源,因而永远无法得到 的资源,这种现象称为进程死锁,这一组进程就称为死锁进程。2. & 1死锁的基本概念死锁(deadlock)饥饿(starvation)关于死锁的一些结论:参与死锁的进程至少有两个(两个以上进程才会出现死锁)参与死锁的进程至少有两个已经占有资源参与死锁的所有进程都在等待资源w=.参与死锁的进程是当前系统中所有进程的子集 注:如果死锁发生,会浪费大量系统资源,甚至导致系统崩溃。资源永久性
34、资源:可以被多个进程多次使用(可再用资源)*可抢占资源*不可抢占资源临时性资源:只可使用一次的资源;如信号量,中断信号,同步信号等(可消耗性资源)“申请一分配一使用一释放”漠式产生死锁的四个必要条件:互斥使用(资源独占)不可强占(不可剥夺)请求和保持(部分分配,占有申请) 循环等待1)互斥使用(资源独占):一个资源每次只能给一个进程使用2)不可强占(不可剥夺):资源申请者不能强行的从资源占有者手中夺取资源,资源只能由占有者自愿释放3)请求和保持:(部分分配,占有申请)一个进程在申请新的资源的同时保持对原有资源的占有。(只有这样才是动态申请,动态分配)4)循环等待:存在一个进程等待队列pi ,
35、p2 ,pn,其中pi等待p2占有的资源,p2等待匕占有的资源,: pn等待比占有的资源,形成一个进 程等待环路。2. 8. 2死锁的解决方案z产生死锁的例子申请不同类型资源产生死锁申请同类资源产生死锁(如内存)设有资源r, r有皿个分配单位,由n个进程a, p2,,pn (n > m)共享。假设每个进程对r 的申请和释放符合下列原则:* 一次只能申请一个单位*满足总申请后才能使用*使用完后一次性释放资源分配不当导致死锁产生。2.解决死锁的方法不让死锁发生:静态策略:设计合适的资源分配算法,不让死锁发生动态策略:让死锁发生:2. 7. 3死锁预防定义:在系统设计时确定资源分配算法,保证不
36、发生死锁。具体的做法是破坏产生死锁的四 个必要条件之一。破坏“不可剥夺”条件在允许进程动态申请资源前提下规定,一个进程在申请新的资源不能立即得到满足而变为等 待状态之前,必须释放已占有的全部资源,若需要再重新申请。破坏“请求和保持”条件要求每个进程在运行前必须一次性申请它所要求的所有资源,且仅当该进程所要资源均可满 足时才给予一次性分配。破坏“循环等待”条件采用资源有序分配法:把系统中所有资源编号,进程在申请资源时必须严格按资源编号的递增次序进行,否则操作 系统不予分配。2. 7. 4死锁避免定义:在系统运行过程中,对进程发出的每一个系统能够满足的资源申请进行动态检查,并 根据检查结果决定是否
37、分配资源,若分配后系统可能发生死锁,则不予分配,否则予以分配。安全状态与不安全状态安全状态:如果存在一个由系统中所有进程构成的安全队列p】,現,则系统处于安全状o安全队列: 一个进程序列p】,pn是安全的,如果对于每一个进程pi(lwiwn),它以 后尚需要的资源量不超过系统当前剩余资源量与所有进程pj (j < i )当前占有资源量之和, 系统处于安全状态。(安全状态一定是没有死锁发生的)不安全状态:不存在一个安全序列,不安全序列一定导致死锁。死锁避免:允许死锁发生,操作系统不断监视系统进展情况,判断死锁是否发生。 一旦死锁发生则采取专门的措施,解除死锁并以最小的代价恢复操作系统运行。银行家算法m系统中进程的总数m:资源类总数available:array1. m of integer;max:array1., n, 1. mj of integer;银行家算法allocation: array1. n, 1. m of integer;need: array1
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 河南学院单招试题及答案
- 中国医科大学《商务沟通》2025-2026学年期末试卷
- 黎明职业大学《管理经济学》2025-2026学年期末试卷
- 福州外语外贸学院《中药炮制学》2025-2026学年期末试卷
- 中药材购销员安全理论测试考核试卷含答案
- 扬州大学《心理统计与spss》2025-2026学年期末试卷
- 长春早期教育职业学院《电机与拖动》2025-2026学年期末试卷
- 徐州工程学院《民族学通论》2025-2026学年期末试卷
- 闽南科技学院《马克思主义政治经济学》2025-2026学年期末试卷
- 贵州音乐考编试题及答案
- 2025学年第二学期杭州市高三年级二模教学质量检测数学试卷(含答案)
- 工程质量验收规范练习题及答案
- 2026年体育场馆物业赛事活动保障方案
- 2025年北京市各区高三语文一模作文范文汇编(议论文部分)
- 网络安全知识培训资料
- 发电公司现货交易奖惩制度
- 2026年机关事务管理局遴选笔试试题及参考答案
- DB34-T 5395-2026 高速公路机电设施设备编码规范
- 2026浙江事业单位招聘(公基)考试题目及答案
- 中药贴敷技术
- 电力建设土建工程施工、试验及验收标准表式-第2部分:试验
评论
0/150
提交评论