OS10(死锁)) (1)

合集下载

操作系统学习指导与习题(含答案)

操作系统学习指导与习题(含答案)

三种基本状态可经一定的触发条件而转换。
进程是资源分配的基本单位,同时进程也可作为独立运行的基本单位,用户可以从进程
的观点来研究操作系统。但由于系统资源数量的有限,必然导致诸进程间竞争资源。用户进
程和系统进程之间、同一用户作业的内部进程之间、不同用户各作业的进程之间、各系统进
程之间都存在资源竞争问题。竞争资源的进程间存在着两种关系:(1)资源共享。虽然诸进
变迁、进程的组成、进程控制块的内容及作用);进程的控制(包括进程的建立、进程的撤消、
进程的阻塞、进程唤醒等);原语的含义、作用及内容;临界资源、临界区的基本概念;进
程互斥与同步的基本概念;P、V 操作的控制机理;进程间的通信;常用进程调度算法;死
锁的基本概念;产生死锁的原因和预防死锁产生的具体措施等。
计算机激光照排系统
A. 1
B. 2
C. 3
D. 4
10. 若操作系统看作是计算机资源的管理者,则下列不属于操作系统管理的资源的是
__________。
A. 程序
B. 内存
C. CPU
D. 中断
11. 操作系统的功能是进行文件管理、处理器管理、作业管理、设备管理和(
)管
理。
A. 存储器
B. 进程
C. 系统
户有着密不可分的关系,它在计算机系统中位于计算机裸机和计算机用户之间。 紧挨着硬
件的就是操作系统,它通过系统核心程序对计算机系统中的几类资源进行管理,如处理机、
存储器、输入/输出设备、数据与文档资源、用户作业等,并向用户提供若干服务,通过这
些服务将所有对硬件的复杂操作隐藏起来,为用户提供一个透明的操作环境。
于低级通信方式,该方式以控制进程并发执行为主要目的,而利用通信原语进行高级通信则

2022年沈阳城市建设学院数据科学与大数据技术专业《操作系统》科目期末试卷B(有答案)

2022年沈阳城市建设学院数据科学与大数据技术专业《操作系统》科目期末试卷B(有答案)

2022年沈阳城市建设学院数据科学与大数据技术专业《操作系统》科目期末试卷B(有答案)一、选择题1、列选项中,不可能在用户态发生的事件是()。

A.系统调用B.外部中断C.进程切换D.缺页2、假设5个进程P0、P1、P2、P3、P4共享3类资源R1、R2、R3.这些资源总数分别为18、6、22。

T0时刻的资源分配情况(见表),此时存在的一个安全序列是()。

A. P0, P2, P4, P1, P3B. P1, P0, P3, P4, P2C. P2, P1, P0, P3, P4D. P3, P4, P2, P1, P03、某系统中有11台打印机,N个进程共享打印机资源,每个进程要求3台打印机。

当N的取值不超过()时,系统不会发生死锁。

A.4B.5C.6D.74、采用时间片轮转调度算法分配CPU时,当处于执行状态的进程用完一个时间片后,它的状态是()A.阻塞B.运行C.就绪D.消亡5、进程从运行态到阻塞态可能是()A.运行进程执行P操作B.进程调度程序的调度C.运行进程的时间片用完D.运行进程执行了V操作6、操作系统的I/O子系统通常由4个层次组成,每-层明确定义了与邻近层次的接口,其合理的层次组织排列顺序是()。

A.用户级I/O软件、设备无关软件、设备驱动程序、中断处理程序B.用户级I/O软件、设备无关软件、中断处理程序、设备驱动程序C.用户级I/O软件、设备驱动程序、设备无关软件、中断处理程序D.用户级I/O软件、中断处理程序、设备无关软件、设备驱动程序7、提高单机资源利用率的关键技术是()。

A.SPOOLing技术B.虚拟技术C.交换技术D.多道程序设计技术8、下列关于索引表的叙述,()是正确的。

A.索引表每个记录的索引项可以有多个B.对索引文件存取时,必须先查找索引表C.索引表中含有索引文件的数据及其物理地址D.建立索引表的目的之一是为减少存储空间9、在文件的索引节点中存放直接索引指针10个,一级和:级索引指针各1个。

2022年北华航天工业学院计算机科学与技术专业《操作系统》科目期末试卷B(有答案)

2022年北华航天工业学院计算机科学与技术专业《操作系统》科目期末试卷B(有答案)

2022年北华航天工业学院计算机科学与技术专业《操作系统》科目期末试卷B(有答案)一、选择题1、()结构的文件最适合于随机存取的应用场合。

A.流式B.索引C.链接D.顺序2、操作系统为了管理文件,设计了文件控制块(FCB),文件控制块的建立是().A.在调用create()时B.在调用open()时C.在调用read()时D.在调用write()3、若一个用户进程通过read系统调用读取一个磁盘文件中的数据,则下列关于此过程的叙述中,正确的是()。

I.若该文件的数据不在内存中,则该进程进入睡眠等待状态II.请求rcad系统调用会导致CPU从用户态切换到核心态III.read系统调用的参数应包含文件的名称A.仅I、IIB. 仅I、IIIC.仅II、IIID. I、II和III4、设有n个进程共用一个相同的程序段,若每次最多允许m个进程(mSn)同时进入,临界区,则信号量的初值为()。

A.nB.mC.m-nD.-m5、使用TSL(TestandSetLock)指令实现进程互斥的伪代码如下所示。

do{while(TSL(&lock));criticalsection;lock=FALSE;}while(TRUE);下列与该实现机制相关的叙述中,正确的是()A.退出临界区的进程负责唤醒阻塞态进程B.等待进入临界区的进程不会主动放弃CPUC.上述伪代码满足“让权等待”的同步准则D.while(TSL(&lock))语句应在关中断状态下执行6、下列关于页式存储说法中,正确的是()。

I.在页式存储管理中,若关闭TLB,则每当访问一条指令或存取一个操作数时都要访问两次内存II.页式存储管理不会产生内部碎片III.页式存储管理当中的页面是为用户所感知的IV.页式存储方式可以采用静态重定位A.仅I、II,IVB. 仅I、IVC. 仅ID.I、II、III、IV7、有一个矩阵为100行x200列,即a[100][200]。

操作系统课件 第6章 死锁

操作系统课件 第6章 死锁

死锁检测算法
⑤ 随机选取一条没有标记的从该节点出发 的弧(有向边),标记它。然后顺着这根 弧找到新的当前节点,返回到第3步。 ⑥ 移走该节点,返回到前一个节点。返回 第4步。
6.3.1 每种类型一个资源的死锁检测
问题的提出
是否资源分配图中存在环就一定有 死锁?
有环有死锁
有环无死锁
死锁定理

进程推进顺序不合理
进程在运行过程中具有异步性特征,如果它们 之间的请求和释放资源的顺序不当,也同样会导 致进程产生死锁。
(1) 竞争资源产生的死锁:
进程
P1
资源
R1
R2
资源
P2
进程
(2) 进程推进顺序不合理产生的死锁:
例:生产者—消费者问题中,若PV操作使用不 当,把生产者进程两个P操作次序互换,先执行 P(mutex),后执行P(empty),则可能会引起死锁。
经分析,在T0时刻,系统是安全的。因为存在 一个安全序列p2、p1、p3。见下图。
进程 最大需求 已分配 还需 可用
p1 p2
p3
10 4
9
5 2
2
5 2
7
3
由安全状态向不安全状态的转换
如果在T0 状态不按安全序列进行分配, 可能会导致系统进入一个不安全状态。
例如在T0状态下P3中申请1台磁带机。 如系统实施此次分配使系统状态由T0变为 T1状态,分析T1状态安全情况。
6.4.1 安全状态和不安全状态
• 安全状态:如果存在一个由系统中所有 进程构成的安全序列{P1,…Pn},则系 统处于安全状态。 • 不安全状态: 不存在一个安全序列,则 系统处于不安全状态。
6.4.1 安全状态和不安全状态

操作系统名称解释

操作系统名称解释

1.操作系统:操作系统(OS,Operating system): 操作系统是计算机系统中的一个系统软件;是这样一些程序模块的集合:它们管理和控制计算机系统中的硬件及软件资源,合理的组织计算机工作流程,以便有效地利用这些资源为用户提供一个功能强大,使用方便和可扩展的工作环境,从而在计算机与其用户之间起到接口的作用。

2. 分时系统:是指多个用户分享使用同一台计算机,即是把计算机的系统资源(主要是cpu)在时间上加以分割,形成一个个的时间段,每个时间段称为一个“时间片”,每个用户依次使用一个时间片,从而可以将cpu工作时间轮流地提供给多个用户使用。

3. 实时系统:指计算机对于外来信息能够及时进行处理,并在控制对象允许时间范围内作出快速反应,实时系统对响应时间的要求比分时系统更高。

实时系统按其使用方式不同可分为:实时控制系统、实时信息处理系统。

4. 多道程序设计:是在计算机内存中同时存放几道相互独立的程序,使它们在管理程序控制之下,相互穿插的运行。

两个或两个以上程序在计算机系统中同处于开始个结束之间的状态。

这就称为多道程序技术运行的特征:多道、宏观上并行、微观上串行5. 系统调用:系统调用(System call): 它是操作系统提供给软件开发人员的唯一接口,开发人员可利用它使用系统功能。

6. 作业调度:根据一定的原则,从输入井的后备作业队列中选择适当的作业,为它分配内存等资源,并将其调入内存投入运行。

又称高级调度,远程调度。

7. 作业控制块:OS向用户提供一组作业控制语言,用户用这种语言书写作业说明书,然后将程序、数据和作业说明书一齐交给系统操作员。

8. 并发性:又称为共行性是指能处理多个同时性活动的能力。

9.并行性:指同时发生的两个并发事件。

10. 进程:是可并发执行的程序。

在一个数据集合上的运行过程,是系统进行资源分配和调度的一个独立单位,也是称活动、路径或任务,它有两方面性质:动态性、并发性。

2022年北京体育大学数据科学与大数据技术专业《操作系统》科目期末试卷A(有答案)

2022年北京体育大学数据科学与大数据技术专业《操作系统》科目期末试卷A(有答案)

2022年北京体育大学数据科学与大数据技术专业《操作系统》科目期末试卷A(有答案)一、选择题1、 OS通常为用户提供4种使用接口,它们是终端命令、图标菜单、系统调用和()A.计算机高级指令B.宏命令C.类似DOS的批命令文件或UNIX的shell文件D.汇编语言2、若程序正在试图读取某个磁盘的第100个逻辑块,使用操作系统提供的()接门。

A.系统调用B.图形用户接口C.原语D.键盘命令3、某系统有n台互斥使用的同类设备,3个并发进程分别需要3,4,5台设备,可确保系统不发生死锁的设备数n最小为()。

A.9B.10C.11D.124、采用资源剥夺法可以解除死锁,还可以采用()方法解除死锁。

A.执行并行操作B.撤销进程C.拒绝分配新资源D.修改信号量5、有若干并发进程均将一个共享变量count的值加1 次,那么有关count中的值说法正确的是()。

1)肯定有不止确的结果2)肯定有止确的结果3)若控制这些并发进程互斥执行count加1操作,count中的值正确A.1)和3)B.2)和3)C.3)D.1)、2)、3)的说法均不正确6、系统将数据从磁盘读到内存的过程包括以下操作:① DMA控制器发出中断请求②初始化DMA控制器并启动磁盘③从磁盘传输一块数据到内存缓冲区④执行“DMA结束”中断服务程序正确的执行顺序是():A.③①②④B.②③①④C.②①③④D.①②③④7、提高单机资源利用率的关键技术是()。

A.SPOOLing技术B.虚拟技术C.交换技术D.多道程序设计技术8、下列关于打开文件open()操作和关闭文件close()操作的叙述,只有()是错误的。

A.close()操作告诉系统,不再需要指定的文件了,可以丢弃它B.open()操作告诉系统,开始使用指定的文件C.文件必须先打开,后使用D.目录求必须先打开,后使用9、下面关于文件系统的说法正确的是()。

A.文件系统负责文件存储空间的管理,但不能实现文件名到物理地址的转换B.在多级目录结构中,对文件的访问是通过路径名和用户目录名进行的C.文件可以被划分成大小相等的若干物理块,且物理块大小也可以任意指定D.逻辑记录是对文件进行存取操作的基本单位10、有一个矩阵为100行x200列,即a[100][200]。

操作系统一至三章练习题目(student)

操作系统一至三章练习题目(student)

一、填空题1、操作系统通过来管理和控制进程。

2、代表进程生命周期的三种状态是、、。

3、操作系统把用户作业的空间划分成若干个大小相等的块,称为。

4、操作系统向用户提供了两类接口,一类是,另一类是。

5、多道程序设计的特点是多道、和。

6、进程调度的算法主要有四种:、、、。

7、目前认为逻辑文件有两种类型,即有结构的与无结构的。

8、把内存空间划分成与页大小相同的若干块,称为。

9、死锁的原因主要是、、。

10、一个进程要等待其合作伙伴发来消息,或者建立某个条件后再向前执行,这种制约合作关系称为进程的。

11、程序的顺序执行有两个重要的特点,即程序的和。

12、进程具有和两个重要属性。

13、为了实现多道程序设计,计算机系统在硬件方面必须提供两种支持,它们是和。

14、响应比高者优先算法综合考虑了作业的和。

15、虚拟存储器通常由和两级存储系统组成。

为了在一台特定的机器上执行程序,必须把映射到这台机器主存储器的空间上,这个过程称为。

16、进程的最基本的特征是和。

在UNIX系统中,可通过系统调用来创建进程,系统调用来实现进程的自我终止。

17、使用共享文件进行进程通信的方式被称为;而发送进程利用OS提供的发送命令,直接将格式化的信息发送给目标进程的通信方式则称为。

18、在用信号量实现对临界资源的互斥访问时,若信号量的初值为2,当前值为-1,表示有个进程等待使用该资源。

19、在段页式系统中,作业的地址空间是维的;如果没有快表,则每次从内存中获取数据都需要三次访问内存。

第一次从内存中取得,第二次从内存中取得,第三次从内存中取得。

20、、、,这三个部分组成了进程的实体。

21、可变分区管理的分配策略通常有、和。

22、多道程序设计是利用了和的并行工作能力来提高系统效率的。

23、批处理系统的基本特征是“批量”,它把提高作业的作为主要设计目标,同时也兼顾作业的。

24、在P,V操作中,信号量S的物理意义是当信号量S值大于零时表示;当信号量S值小于零时,其绝对值为。

操作系统-徐甲同 2版 习题答案 第三章进程-死锁

操作系统-徐甲同 2版 习题答案 第三章进程-死锁
缺点:必须事先知道进程所需所有资源;资源得不到充分利用; 3.15 进程需获得所有资源后才可运行,导致进程会延迟运行。
计算机操作系统
第三章 进程管理
3.破坏“循环等待”条件 采用资源有序/顺序分配法: 把系统中所有资源编 号, 进程在申请资源时必须严格按资源编号的递增次 序进行,否则操作系统不予分配。打破环。 例如:1,2,3,…,10
计算机操作系统
第三章 进程管理
R1
A
B
此列子表明; 进程竞争资源有可能死锁。 但不一定就会死锁,这取决于各 进程的推进速度和对资源的请求 顺序。 死锁是一种与时间有关的错误。 进程竞争的资源应是互斥
R2
进程死锁例1的环路表示
3.4
计算机操作系统
第三章 进程管理
A r1
死锁的举例 例2:
进 程 A A r2 A r3 A r4 B r1 进 程 B B r2 B r3 B r4 请求 读卡 机请 求打 印机 释放 打卡 机 释放 读卡 机 读卡 机 请求 打印 机 请求 读卡 机 释放 打印 机 释放 读卡 机 打印 机
4、 Ar1 Br1 Ar2 Br2 Ar3 Ar4 Br3 Br4
3.6
计算机操作系统
第三章 进程管理
二、产生死锁的四个必要条件
1) 互斥条件(资源独占): 一个资源每次只能给一个进程使用 2) 不可剥夺条件(不可强占): 资源申请者不能强行的从资源占有者手中夺取资 源, 资源只能由占有者自愿释放 3) 请求和保持条件: (部分分配,占有申请) 在申请新的资源的同时保持对原有资源的占有。 4) 循环等待条件: 存在一个进程-等待资源环形链 {P1 , P2 , … , Pn}, 其中P1等待P2占有的资源, P2等待P3占有的资源, …, Pn等待P1占有的资源。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

操作系统
8/38
Lifang ©2011
3. 处理死锁的基本方法
预防死锁:破坏四个必要条件中的一个或几个条件; 1. 预防死锁:破坏四个必要条件中的一个或几个条件; 易于实现, 易于实现,但会导致资源利用率和系统吞吐量降低 避免死锁:用某种方法在资源动态分配过程中, 2. 避免死锁:用某种方法在资源动态分配过程中,防止 系统进入不安全状态。 实现有难度, 系统进入不安全状态。 实现有难度,但可获得较高 的资源利用率和系统吞吐量。 的资源利用率和系统吞吐量。 检测死锁:允许死锁发生。通过检测机构检测, 3. 检测死锁:允许死锁发生。通过检测机构检测,然后 采取措施,清除死锁。 采取措施,清除死锁。 解除死锁:与检测配套完成。 4. 解除死锁:与检测配套完成。常通过撤销或挂起一些 进程实现。 进程实现。
操作系统
9/38
Lifang ©2011
3.4.2 死锁的预防
预防是采用某种策略,限制并发进程对资源的请求, 预防是采用某种策略,限制并发进程对资源的请求,使系 并发进程对资源的请求 统在任何时刻都不满足死锁的必要条件 不满足死锁的必要条件。 统在任何时刻都不满足死锁的必要条件。 预防死锁的3种策略: 预防死锁的3种策略: –摒弃“请求和保持”条件:要求所有进程一 摒弃“ 摒弃 请求和保持”条件: 次性申请所需全部资源,保证不等待资源; 次性申请所需全部资源,保证不等待资源; 简单、易于实现, 简单、易于实现,但: 降低了对资源的利用率, 降低了对资源的利用率,降低进程的并发 程度; 程度; 进程延迟运行; 进程延迟运行; 有可能无法预先知道所需资源; 有可能无法预先知道所需资源;
死锁发生:双方都拥有部分资源,同时在请求对方已 死锁发生:双方都拥有部分资源, 占有的资源。如次序: 占有的资源。如次序:P1<a> P2<a> P1<b> P2<b>
操作系统
4/38
Lifang ©2011
B.竞争临时性资源引起死锁 B.竞争临时性资源引起死锁
P1 ... Receive(P2,M); <a> Send(P2,N); <b> P2 ... Receive(P1,Q); <a> Send(P1,R); <b>
死锁问题( 3.4 死锁问题(DEADLOCK) P103
3.4.1 3.4.2 3.4.3 3.4.4 3.4.5 概述 死锁的预防 死锁的避免 死锁的检测 死锁的解除
操作系统
1/38
Lifang ©2011
3.4.1 概述
死锁指多个进程因竞争资源而造成的一种僵局,若无外力作 死锁指多个进程因竞争资源而造成的一种僵局, 这些进程都将永远不能再向前推进。 用,这些进程都将永远不能再向前推进。
是, P2,P1,P3 , ,
2、若进程2提出 个资源需求是否可以分配? 、若进程 提出 个资源需求是否可以分配? 提出2个资源需求是否可以分配 3、若进程3提出 个资源需求是否可以分配? 、若进程 提出 个资源需求是否可以分配? 提出1个资源需求是否可以分配
操作系统
14/38 14/38
Lifang ©2011
操作系统 11/38 11/38 Lifang ©2011
3.4.3 死锁的避免
用预防死锁的方法解决死锁问题,是通过增加了较强 预防死锁的方法解决死锁问题, 的方法解决死锁问题 的限制条件来完成的,实现简单, 的限制条件来完成的,实现简单,但严重损害了系统 的性能。 的性能。 避免死锁来解决死锁问题,可施加较弱的条件,获得 避免死锁来解决死锁问题,可施加较弱的条件, 来解决死锁问题 令人满意的系统性能。 令人满意的系统性能。 避免死锁在系统运行过程中, 避免死锁在系统运行过程中,对进程发出的每一个系 在系统运行过程中 统能够满足的资源申请进行动态检查, 统能够满足的资源申请进行动态检查,并根据检查结 果决定是否分配资源,若分配后系统可能发生死锁, 果决定是否分配资源,若分配后系统可能发生死锁, 则不予分配,否则予以分配。 则不予分配,否则予以分配。
1. 死锁发生原因
(1)竞争资源 (2)进程推进顺序非法
操作系统
2/38
Lifang ©2011
(1) 竞争资源引起死锁
资源分类: 资源分类: 可剥夺资源——CPU、主存 、 可剥夺资源 非剥夺资源——磁带机、打印机 磁带机、 非剥夺资源 磁带机 永久性资源——可顺序重复使用的资源 可顺序重复使用的资源 永久性资源 如:打印机等 临时性资源——可以动态生成和消耗。 临时性资源 可以动态生成和消耗。 可以动态生成和消耗 如:硬件中断、消息等 硬件中断、
2.利用银行家算法避免死锁 2.利用银行家算法避免死锁
银行家算法( 银行家算法(Dijkstra, 1965)问题 )
一个银行家把他的固定资金(capital)贷给若干顾客。 一个银行家把他的固定资金(capital)贷给若干顾客。 还不够, 只要不出现一个顾客借走所有资金后还不够 只要不出现一个顾客借走所有资金后还不够,银行 家的资金应是安全 安全的 家的资金应是安全的。银行家需一个算法保证借出 去的资金在有限时间内可收回。 去的资金在有限时间内可收回。 具体步骤如下: 假定顾客分成若干次进行;并在第一次借款时,能说明 他的最大借款额。 顾客的借款操作依次顺序进行,直到全部操作完成; 银行家对当前顾客的借款操作进行判断,以确定其安全 性(能否支持顾客借款,直到全部归还); 安全时,贷款;否则,暂不贷款。
操作系统 10/38 10/38 Lifang ©2011
-摒弃“不剥夺”条件: 摒弃“不剥夺”条件: 对于已经保持了某些资源的进程, 对于已经保持了某些资源的进程,当他再提出 新的资源要求而不能立即满足时, 新的资源要求而不能立即满足时,必须释放已保 持的所有资源,待以后需要时重新申请。 持的所有资源,待以后需要时重新申请。 –摒弃“环路等待”条件: 摒弃“环路等待”条件: 摒弃 把资源分类按顺序排列, 把资源分类按顺序排列,所有进程对资源的请 求必须严格按照资源序号递增的次序提出, 求必须严格按照资源序号递增的次序提出,保证 不形成环路; 不形成环路; 改善了资源利用率和系统吞吐量, 改善了资源利用率和系统吞吐量,但: 1. 限制了新设备类型的增加 2. 进程申请资源的顺序很难与系统为资 源分配的序号总保持一致。 源分配的序号总保持一致。 限制了用户简单、 3. 限制了用户简单、自主的编程
操作系统
3/38
Lifang ©2011
A.竞争非剥夺资源引起死锁 A.竞争非剥夺资源引起死锁
P1 ... Request(A); Request(B); Release(B); Release(A); <a> <b> P2 ... Request(B); Request(A); Release(A); Release(B); <a> <b>
死锁发生:双方都等待对方去生成资源, 死锁发生:双方都等待对方去生成资源, 如次序: 如次序:P1<a> P2<a>
操作系统
5/
Lifang ©2011
详见书
13,图 P104 图3-13,图3-14
从资源出发的箭头表示该资源已分配,如R1已分配给P1 从进程出发的箭头表示进程正在申请资源,如P1正申请R2 P1 P1 R1 R2 P s3 S1—>P1:表示由P1产生的消息S1,即:S1隶属于P1 P1—>S2 表示由P1要求接收消息S2,S2是另一个进程产生的。
操作系统
16/38 16/38
Lifang ©2011
银行家算法 P109
假设用Request [j]=k表示并发执行时进程 提出请求j 表示并发执行时进程i 假设用Requesti[j]=k表示并发执行时进程i提出请求j类 资源k 系统按下述步骤进行检查: 资源k个。系统按下述步骤进行检查: (1)如果 如果Request 则继续以下检查, (1)如果Requesti≤Needi则继续以下检查,否则显示需求申请 超出最大需求值的错误。 超出最大需求值的错误。 (2)如果 如果Request ≤Available则继续以下检查 则继续以下检查, (2)如果Requesti≤Available则继续以下检查,否则显示系 统无足够资源, 阻塞等待。 统无足够资源,Pi阻塞等待。 (3)系统试探性的把要求的资源分配给进程 系统试探性的把要求的资源分配给进程i (3)系统试探性的把要求的资源分配给进程i并修改有关数据 结构的值: 结构的值: Available=AvailableAvailable=Available-Requesti; Allocationi=Allocationi+Requesti; Needi=Needi-Requesti; (4)系统执行安全性算法,检查此次资源分配后, 系统执行安全性算法 (4)系统执行安全性算法,检查此次资源分配后,系统是否处 于安全状态,若安全,才正式将资源分配给进程i 于安全状态,若安全,才正式将资源分配给进程i,以完成本 次分配;否则将试探分配作废,恢复原来的资源分配状态, 次分配;否则将试探分配作废,恢复原来的资源分配状态,让 进程P 等待。 进程Pi等待。 操作系统 Lifang ©2011 17/38 17/38
操作系统 15/38 15/38 Lifang ©2011
银行家算法的实现: 银行家算法的实现:
算法中用到的数据结构: 算法中用到的数据结构:
设系统中有n个进程, 种资源: 设系统中有n个进程, m种资源:
可利用资源向量Available: m个元素的数组; 个元素的数组; 可利用资源向量 个元素的数组 最大需求矩阵Max: m矩阵 矩阵; 最大需求矩阵Max:n × m矩阵; 分配矩阵Allocation: n×m矩阵; 矩阵; 分配矩阵 × 矩阵 需求矩阵Need:n ×m矩阵; 矩阵; 需求矩阵 矩阵 三个矩阵间的关系: 三个矩阵间的关系:Need[i,j]=Max[i,j]-Allocation[i,j]
相关文档
最新文档