计算机操作系统(第四版)
U034计算机操作系统教程_第四版_(张尧学著)_清华大学出版社_第4章

2. 带权周转时间 作业的周转时间包含了两个部分,即等待时间和执 行时间。为了更进一步反映调度性能,使用带权周 转时间的概念。带权周转时间是作业周转时间与作 业执行时间的比: Wi=Ti/Tri 对于被测定作业流所含有的几个作业来说,其平均 1 n 带权周转时间为:
W= W n
i =1 i
对于分时系统,除了要保证系统吞吐量大、资源利 用率高之外,还应保证有用户能够容忍的响应时间。 因此,在分时系统中,仅仅用周转时间或带权周转 时间来衡量调度性能是不够的。
4.1.2 调度的层次 处理机调度问题实际上也是处理机的分配问题。显 然,只有那些参与竞争处理机所必需的资源都已得 到满足的进程才能享有竞争处理机的资格。这时, 它们处于内存就绪状态。这些必需的资源包括内存、 外设及有关数据结构等。从而,在进程有资格竞争 处理机之前,作业调度程序必须先调用存储管理、 外设管理程序,并按一定的选择顺序和策略从输入 井中选择出几个处于后备状态的作业,为它们分配 内存等资源和创建进程,使它们获得竞争处理机的 资格。
4.3 进 程 调 度
无论是在批处理系统还是分时系统中,用户进程数 一般都多于处理机数,这将导致用户进程互相争夺 处理机。另外,系统进程也同样需要使用处理机。 这就要求进程调度程序按一定的策略,动态地把处 理机分配给处于就绪队列中的某一个进程,以使之 执行。本节介绍进程调度的功能、进程调度发生的 时机以及由进程调度引起的进程上下文切换等。
4.3.1 进程调度的功能 进程调度的具体功能可总结如下: (1) 记录系统中所有进程的执行情况 作为进程调度的准备,进程管理模块必须将系统中 各进程的执行情况和状态特征记录在各进程的PCB 表中。并且,进程管理模式根据各进程的状态特征 和资源需求,将各进程的PCB表排成相应的队列并 进行动态队列转接。进程调度模块通过PCB变化来 掌握系统中所有进程的执行情况和状态特征,并在 适当的时机从就绪队列中选择出一个进程占据处理 机。
汤小丹《计算机操作系统》官方课件 第四版

汇报人: 202X-01-05
contents
目录
• 计算机操作系统概述 • 进程管理 • 内存管理 • 文件系统 • 设备管理
计算机操作系统概
01
述
操作系统的定义与功能
总结词
操作系统的定义与功能
详细描述
操作系统是计算机系统的核心软件,负责管理计算机硬件和软件资源,提供用户与计算机之间的接口。操作系统 的功能包括进程管理、内存管理、文件管理、设备管理和用户界面管理等。
操作系统的分类
总结词
操作系统的分类
详细描述
根据不同的分类标准,操作系统可以分为多种类型。根据运行环境,操作系统可以分为单机操作系统 和网络操作系统;根据功能,操作系统可以分为批处理操作系统、分时操作系统、实时操作系统和通 用操作系统;根据规模,操作系统可以分为个人操作系统和多用户操作系统等。
进程管理
内存管理
03
内存管理的概念与功能
内存管理概念
内存管理是操作系统中用于管理计算 机内存的子系统,负责分配和回收内 存空间,以及管理内存中的数据。
内存管理功能
内存管理的主要功能包括内存分配、 内存回收、地址转换和内存保护等。
内存的分配策略
静态分配
在程序运行前,系统根据程序的大小 和需求一次性分配所需的内存空间, 程序运行期间不再进行内存的重新分 配。
文件的访问控制机制
文件的访问控制机制包括访问控制表(ACL)、能力表( Capabilities)等,用于限制用户对文件的访问权限。
文件的访问安全
文件的访问安全是指通过访问控制机制来确保文件的安全性和完整 性,防止未经授权的访问和修改。
设备管理
计算机操作系统第四版

计算机操作系统第四版计算机操作系统是一种管理计算机硬件和软件资源的系统软件,它是计算机系统中最基本的软件之一。
计算机操作系统第四版是一本经典的教材,它全面介绍了操作系统的原理、设计和实现。
1. 引言计算机操作系统是计算机系统的核心,它负责管理计算机的资源,为用户提供一个友好的界面。
第四版操作系统的出现,意味着操作系统领域的新发展和研究成果。
2. 操作系统概述在本章中,我们将介绍操作系统的概念、目标和功能。
操作系统的主要任务是管理硬件资源,包括处理器、内存、磁盘和输入输出设备等。
3. 进程管理进程是程序在执行过程中的一个实例,它是操作系统资源管理的基本单位。
本章将详细介绍进程的状态、创建和调度等相关内容。
4. 内存管理内存管理是操作系统中一个重要的任务。
本章将讨论内存的分配与管理、虚拟内存以及内存保护等内容。
5. 文件系统文件系统是操作系统中负责管理文件和目录的组织结构。
文件系统的设计决定了文件的组织方式和访问方式,我们将在本章中详细介绍文件系统的原理和实现。
6. 输入输出系统输入输出系统是操作系统与外部设备之间的接口,它负责管理输入输出的数据传输和控制。
本章将介绍输入输出设备的分类、驱动程序和设备控制器等相关内容。
7. 文件系统实现文件系统实现是操作系统中重要的组成部分。
本章将介绍文件系统的组织结构和实现算法,以及文件的存储和访问方法。
8. 网络操作系统网络操作系统是支持分布式计算的关键技术之一。
本章将主要介绍网络操作系统的基本概念、体系结构和通信原理。
9. 安全和保护安全和保护是操作系统设计中必须考虑的重要问题。
本章将讨论安全和保护的基本原理和方法,包括访问控制、身份验证等。
10. 操作系统性能操作系统性能是操作系统设计和优化的重要指标。
本章将介绍操作系统的性能评估和调优方法,以及提高操作系统性能的技术手段。
11. 操作系统的未来发展操作系统的未来发展方向包括分布式操作系统、实时操作系统等。
本章将探讨操作系统发展的趋势和未来的研究方向。
计算机操作系统第四版 汤小丹 教案

利用率显著降低。图1-5示出了单道程序的运行情况,从图
可以看出:在t2~t3、t6~t7时间间隔内CPU空闲。
18
第一章
操作系统引论
图1-5 单道程序的运行情况
19
第一章
操作系统引论
1.2.3 多道批处理系统(Multiprogrammed Batch
Processing System) 1. 多道程序设计的基本概念 为了进一步提高资源的利用率和系统吞吐量,在20世纪 60年代中期引入了多道程序设计技术,由此形成了多道批处
(1) 人—机交互。 (2) 共享主机。
26
第一章
操作系统引论
2. 分时系统实现中的关键问题
在多道批处理系统中,用户无法与自己的作业进行交互 的主要原因是:作业都先驻留在外存上,即使以后被调入内 存,也要经过较长时间的等待后方能运行,用户无法与自己 的作业进行交互。
1) 及时接收
2) 及时处理
27
理接口的实现细节有充分的了解,这就致使该物理机器难于
广泛使用。为了方便用户使用I/O设备,人们在裸机上覆盖 上一层I/O设备管理软件,如图1-2所示,由它来实现对I/O设 备操作的细节,并向上将I/O设备抽象为一组数据结构以及 一组I/O操作命令,如read和write命令,这样用户即可利用这 些数据结构及操作命令来进行数据输入或输出,而无需关心 I/O是如何具体实现的。
9
第一章
操作系统引论
图1-2 I/O软件隐藏了I/O操作实现的细节
10
第一章
操作系统引论
1.1.3 推动操作系统发展的主要动力
1.不断提高计算机资源利用率 2. 方便用户 3. 器件的不断更新换代 4. 计算机体系结构的不断发展
计算机操作系统第四版ppt课件

目录
• 引言 • 进程管理 • 内存管理 • 文件管理 • 设备管理 • 并行与分布式处理系统
01
CATALOGUE
引言
计算机操作系统概述
01
02
03
定义
计算机操作系统是一种系 统软件,它是计算机上的 一个关键组成部分。
作用
操作系统管理和控制计算 机的硬件和软件资源,为 用户提供方便、高效的使 用环境。
04
共享性
操作系统中的资源可以被多个程序共 同使用。
06
异步性
在多道程序环境下,允许多个程序并发执行, 但由于资源有限,进程的执行顺序和执行时间 都是不确定的。
02
CATALOGUE
进程管理
进程的概念和特征
进程是程序的一次执 行过程,是系统进行 资源分配和调度的基 本单位。
进程由程序、数据和 进程控制块(PCB) 三部分组成。
通道控制方式
通道独立控制I/O操作,实现了 CPU、通道、I/O设备的并行工
作。
设备分配策略及实现方法
设备分配中的数据结构
设备控制表、设备队列、系统设备表等。
设备分配策略
先进先出、优先级高者先等分配策略。
设备分配算法
基于设备请求队列的分配算法、基于设备优先级的分配算法等。
设备分配的安全性
死锁的预防、避免和检测与恢复。
实现多道程序的并发执行,提高内存 利用率和系统吞吐量。
分区存储管理方案
固定分区
将内存划分为若干个固定大小的区域,每个 区域只能装入一个作业。
分区分配算法
首次适应算法、循环首次适应算法、最佳适 应算法等。
可变分区
根据作业大小动态划分内存区域,提高内存 利用率。
计算机操作系统第四版试题及答案

1.独占设备:
2.文件控制块:
3.动态重定位:
4.对换技术:
6. 记录:
[键入文字]
5
三、判断改错题(判断正误,并改正错误,每小题 2 分,共 20 分)
1.实现虚拟存储器的关键技术是提供快速有效的自动地址变换的硬件机构和相应的软
件算法。
()
2、磁盘是共享设备,所以允许多个进程同时在存储空间中进行访问。
计算机操作系统测试(一)
一、单项选择题(在每小题的四个备选答案中,只有一个是正确的,将其号码写在题干的括
号中。每小题 2 分,共 20 分)
1、 文件系统的主要组成部分是( )
A、文件控制块及文件
B、I/O 文件及块设备文件
C、系统文件及用户文件
D、文件及管理文件的软件
2、 实现进程互斥可采用的方法( )
A、中断
B、查询
C、开锁和关锁
D、按键处理
3、某页式管理系统中,地址寄存器的低 9 位表示页内地址,则页面大小为( )
A、1024 字节 B、512 字节 C、1024K
D、512K
4、串联文件适合于( )存取
A、直接
B、顺序
C、索引
D、随机
5、进程的同步与互斥是由于程序的( )引起的
A、顺序执行 B、长短不同 C、信号量
10、(√)
四、简答 1、答:死锁是指多个进程因竞争资源而造成的一种僵局,若无外力作用,这些进程将 永远不能再向前推进。产生死锁的原因可归结为两点:
(1) 争资源。 (2) 进程推进顺序非法。 在具备下述四个必要条件时,就会产生死锁。 (3) 互斥条件 (4) 请求和保持条件 (5) 不剥夺条件 (6) 环路等待条件 2、什么是多道程序技术,它带来了什么好处? 答:多道程序技术即是指在内存中存放多道作业,运行结束或出错,自动调度内存中 另一道作业运行。多道程序主要优点如下: (1)资源利用率高。由于内存中装入了多道程序,使它们共享资源,保持系统资 源处于忙碌状态,从而使各种资源得以充分利用。 (2)系统吞吐量大。由于 CPU 和其它系统资源保持“忙碌”状态,而且仅当作业 完成或运行不下去时才切换,系统开销小,所以吞吐量大。 3、答:有结构文件可分为以下三类,分别是: (1)顺序文件。它是指由一系列记录,按某种顺序排列所形成的文件。 (2)索引文件。当记录为可变长度时,通常为之建立一张索引表,并为每个记录 设置一表项,以加速对记录的检索速度。 (3)索引顺序文件。这是上述两种文件方式的结合,它为文件建立一张索引表,
计算机操作系统(第四版)汤小丹课后完整版

第一章1.设计现代OS 的主要目标是什么?答:(1)有效性(2)方便性(3)可扩充性(4)开放性2.OS 的作用可表现在哪几个方面?答:(1)OS 作为用户与计算机硬件系统之间的接口(2))OS 作为计算机系统资源的管理者(3))OS 实现了对计算机资源的抽象3.为什么说OS 实现了对计算机资源的抽象?答:OS 首先在裸机上覆盖一层I/O 设备管理软件,实现了对计算机硬件操作的第一层次抽象;在第一层软件上再覆盖文件管理软件,实现了对硬件资源操作的第二层次抽象。
OS 通过在计算机硬件上安装多层系统软件,增强了系统功能,隐藏了对硬件操作的细节,由它们共同实现了对计算机资源的抽象。
4.试说明推动多道批处理系统形成和发展的主要动力是什么?答:主要动力来源于四个方面的社会需求与技术发展:(1 )不断提高计算机资源的利用率;(2 )方便用户;(3 )器件的不断更新换代;(4 )计算机体系结构的不断发展。
5.何谓脱机I/O 和联机I/O ?答:脱机I/O 是指事先将装有用户程序和数据的纸带或卡片装入纸带输入机或卡片机,在外围机的控制下,把纸带或卡片上的数据或程序输入到磁带上。
该方式下的输入输出由外围机控制完成,是在脱离主机的情况下进行的。
而联机I/O 方式是指程序和数据的输入输出都是在主机的直接控制下进行的。
6.试说明推动分时系统形成和发展的主要动力是什么?答:推动分时系统形成和发展的主要动力是更好地满足用户的需要。
主要表现在:CPU 的分时使用缩短了作业的平均周转时间;人机交互能力使用户能直接控制自己的作业;主机的共享使多用户能同时使用同一台计算机,独立地处理自己的作业。
7.实现分时系统的关键问题是什么?应如何解决?答:关键问题是当用户在自己的终端上键入命令时,系统应能及时接收并及时处理该命令,在用户能接受的时延内将结果返回给用户。
解决方法:针对及时接收问题,可以在系统中设置多路卡,使主机能同时接收用户从各个终端上输入的数据;为每个终端配置缓冲区,暂存用户键入的命令或数据。
计算机操作系统第四版 汤小丹 教案

第一章 操作系统引论
1.1 操作系统的目标和作用 1.2 操作系统的发展过程 1.3 操作系统的基本特性 1.4 操作系统的主要功能 1.5 OS结构设计 习题
操作系统的目标与应用环境有关。例如在查询系统中所用 的OS,希望能提供良好的人—机交互性;对于应用于工 业控制、武器控制以及多媒体环境下的OS,要求其具有实 时性;而对于微机上配置的OS,则更看重的是其使用的方 便性。
存容量比实际内存容量大得多,以便让更多的用户程序能并发 运行。这样既满足了用户的需要,又改善了系统的性能。为了 能在逻辑上扩充内存,系统必须设置内存扩充机制(包含少量 的硬件),用于实现下述各功能:
(1) 请求调入功能。 (2) 置换功能。
(2) 提高CPU和I/O设备的利用率,提高I/O速度,方便用 户使用I/O设备。
也要经过较长时间的等待后方能运行,用户无法与自己的作业 进行交互。
1) 及时接收 2) 及时处理
性,可以归纳成以下四个方面: (1) 多路性。 (2) 独立性。 (3) 及时性。 (4) 交互性。
面列出当前常见的几种: (1) 工业(武器)控制系统。 (2) 信息查询系统。 (3) 多媒体系统。 (4) 嵌入式系统。
高等学校计算机类“十二五”规划教材 部级优秀教材
计算机操作系统
(第四版)
汤小丹 梁红兵 哲凤屏 汤子瀛
编著
西安电子科技大学出版社
目录
第一章 操作系统引论 第二章 进程的描述与控制 第三章 处理机调度与死锁 第四章 存储器管理 第五章 虚拟存储器 第六章 输入输出系统 第七章 文件管理 第八章 磁盘存储器的管理 第九章 操作系统接口 第十章 多处理机操作系统 第十一章 多媒体操作系统 第十二章 保护和安全
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第三章 处理机调度与死锁 1,高级调度与低级调度的主要任务是什么?为什么要引入中级调度? 【解】 (1)高级调度主要任务是用于决定把外存上处于后备队列中的那些作业调入内存,并为它们创建进程,分配必要的资源,然后再将新创建的进程排在就绪队列上,准备执行。 (2)低级调度主要任务是决定就绪队列中的哪个进程将获得处理机,然后由分派程序执行把处理机分配给该进程的操作。 (3)引入中级调度的主要目的是为了提高内存的利用率和系统吞吐量。为此,应使那些暂时不能运行的进程不再占用宝贵的内存空间,而将它们调至外存上去等待,称此时的进程状态为就绪驻外存状态或挂起状态。当这些进程重又具备运行条件,且内存又稍有空闲时,由中级调度决定,将外存上的那些重又具备运行条件的就绪进程重新调入内存,并修改其状态为就绪状态,挂在就绪队列上,等待进程调度。 3、何谓作业、作业步和作业流? 【解】作业包含通常的程序和数据,还配有作业说明书。系统根据该说明书对程序的运行进行控制。批处理系统中是以作业为基本单位从外存调入内存。 作业步是指每个作业运行期间都必须经过若干个相对独立相互关联的顺序加工的步骤。 作业流是指若干个作业进入系统后依次存放在外存上形成的输入作业流;在操作系统的控制下,逐个作业进程处理,于是形成了处理作业流。 4、在什么情冴下需要使用作业控制块JCB?其中包含了哪些内容? 【解】每当作业进入系统时,系统便为每个作业建立一个作业控制块JCB,根据作业类型将它插入到相应的后备队列中。 JCB 包含的内容通常有:1) 作业标识2)用户名称3)用户账户4)作业类型(CPU繁忙型、I/O芳名型、批量型、终端型)5)作业状态6)调度信息(优先级、作业已运行)7)资源要求8)进入系统时间9) 开始处理时间10) 作业完成时间11) 作业退出时间12) 资源使用情况等 5.在作业调度中应如何确定接纳多少个作业和接纳哪些作业? 【解】作业调度每次接纳进入内存的作业数,取决于多道程序度。应将哪些作业从外存调入内存,取决于采用的调度算法。最简单的是先来服务调度算法,较常用的是短作业优先调度算法和基于作业优先级的调度算法。 7.试说明低级调度的主要功能。 【解】(1)保存处理机的现场信息(2)按某种算法选取进程(3)把处理机分配给进程。 8、在抢占调度方式中,抢占的原则是什么? 【解】剥夺原则有: (1)时间片原则 各进程按时间片运行,当一个时间片用完后,便停止该进程的执行而重新进行调度。这种原则适用于分时系统、大多数实时系统,以及要求较高的批处理系统。 (2)优先权原则 通常是对一些重要的和紧急的作业赋予较高的优先权。当这种作业到达时,如果其优先权比正在执行进程的优先权高,便停止正在执行的进程,将处理机分配给优先权高的进程,使之执行。 (3)短作业(进程)优先原则 当新到达的作业(进程)比正在执行的作业(进程)明显地短时,将剥夺长作业(进程)的执行,将处理机分配给短作业(进程),使之优先执行。 9、选择调度方式和调度算法时,应遵循的准则是什么? 【解】应遵循的准则有 (1)面向用户的准则:周转时间短,响应时间快,截止时间的保证,优先权准则。 (2)面向系统的准则:系统吞吐量高,处理机利用率好,各类资源的平衡利用。 10、在批处理系统、分时系统和实时系统中,各采用哪几种进程(作业)调度算法? 【解】 批处理系统:FCFS算法、最小优先数优先算法、抢占式最小优先数优先算法 2 分时系统:可剥夺调度、轮转调度 实时系统:时间片轮转调度算法、非抢占优先权调度算法、基于时钟中断抢 占的优先权调度算法、立即抢占的优先权调度。 11、何谓静态和动态优先权?确定静态优先权的依据是什么? 【解】静态优先权是在创建进程时确定的,且在进程的整个运行期间保持不变。动态优先权是指,在创建进程时所赋予的优先权,是可以随进程的推进或随其等待时间的增加而改变的,以便获得更好的调度性能。 确定静态优先权的依据是: (1)进程类型,通常系统进程的优先权高于一般用户进程的优先权。 (2)进程对资源的需要。 (3)用户要求,用户进程的紧迫程度及用户所付费用的多少来确定优先权的。 12、试比较FCFS和SPF两种进程调度算法。 【解】FCFS算法按照作业提交或进程变为就绪状态的先后次序,分派CPU。当前作业或进程占有CPU,直到执行完或阻塞,才让出CPU。在作业或进程唤醒后,并不立即恢复执行,通常等到当前作业或进程让出CPU。FCFS比较有利于长作业,而不利于短作业;有利于CPU繁忙的作业,而不利于I/O繁忙的作业。 SPF有利于短进程调度,是从就绪队列中选出一估计运行时间最短的进程,将处理机分配给它,使它立即执行并一直执行到完成,或发生某事件而被阻塞放弃处理机时,再重新调度。比FCFS改善了平均周转时间和平均带权周转时间,缩短了作业的等待时间,提高了系统的吞吐量。但SPF有其不容忽视的缺点:该算法对长作业不利;完全未考虑作业的紧迫程度,因而不能保证紧迫性作业(进程)会被及时处理;用户可能会有意无意地干扰作业的运行时间,致使该算法不一定能真正做到短作业优先调度。 13、在时间片轮转法中,应如何确定时间片的大小? 【解】时间片应略大于一次典型的交互需要的时间。一般应考虑三个因素:系统对相应时间的要求、就绪队列中进程的数目和系统的处理能力。 14、通过一个例子来说明通常的优先级调度算法不能适用于实时系统? 【解】实时系统的调度算法很多,主要是基于任务的开始截止时间和任务紧急/松弛程度的任务优先级调度算法,通常的优先级调度算法不能满足实时系统的调度实时性要求而不适用。 15、为什么说多级反馈队列调度算法能较好地满足各方面用户的需要? 【解】(1)对于终端型用户来说,他们提交的大多属于较小的交互型作业,系统只要能使这些作业(进程)在第一队列所规定的时间片内完成,便可使终端型作业用户都感到满意。 (2)对短批处理作业用户来说,在第一队列中执行一个时间片或至多只需在第二队列和第三队列中各执行一个时间片即可完成。 (3)对长批处理作业用户来说,只要将作业依次在第1,2,„„,n个队列中运行,然后再按轮转方式运行,用户不必担心其作业长期得不到处理。 16、 19、为什么在实时系统中,要求系统(尤其是CPU)具有较强的处理能力? 【解】在实时系统中都存在着若干个实时进程或任务,它们用来反应或控制某个(些)外部事件,往往带有某种程度的紧迫性,因而对实时系统中的调度提出了某些特殊要求。 若处理机的处理能力不够强,则有可能因处理机忙不过来而使某些实时任务不能得到及时处理,从而导致发生难以预料的后果。 20、按调度方式可将实时调度算法分为哪几种? 【解】按调度方式可将实时调度算法分为两大类四小类: (1)非抢占式调度算法:①非抢占式轮转调度算法;②非抢占式优先调度算法; (2)抢占式调度算法:①基于时钟中断的抢占式优先权调度算法;②立即抢占的优先权调度算法。 21、什么是最早截止时间优先调度算法?举例说明之。 【解】在系统中保持一个实时任务就绪队列,该队列按各任务截止时间的早晚排序,截止时间愈早的优先级愈高,在队列中排列愈靠前,调度程序在选择任务时,总是选择就绪队列中的第一个任务,为之分配处理机,使之投入运行。 例:四个非周期任务,它们先后到达。系统首先调度任务1执行,在任务1执行期间,任务2、3又先后到达。由于任务3的开始截止时间早于任务2,系统在任务1后将调度任务3执行。在此期间又到达作业4,其开始截止时间仍是早于任务2的,在任务3执行完后,系统又调度任务4的执行,最后才调度任务2执行。 22、什么是最低松弛度优先调度算法?举例说明之。 【解】 该算法是根据任务紧急(或松弛)的程度,来确定任务的优先级。任务的紧急程度愈高,为该任务所赋予的优先级就愈高,以使之优先执行。例如,一个任务在200 ms 时必须完成,而它本身所需的运行时间就有100 ms,因此,调度程序必须在100 ms 之前调度执行,该任务的紧急程度(松弛程度)为100 ms。又如,另一任务在400 ms 时必须完成,它本身需要运行 150 ms,则其松弛程度为 250 ms。 27、何谓死锁?产生死锁的原因和必要条件是什么? 【解】 所谓死锁,是指多个进程因竞争资源而造成的一种僵局,若无外力作用,这些进程都将永远不能再向前推进。 产生死锁的原因: (1) 竞争资源,当系统中供多个进程所共享的资源,不足以同时满足它们的 需要时,引起它们对资源的竞争而产生死锁; (2) 进程推进顺序非法,进程在运行过程中,请求和释放资源的顺序不当, 导致进程死锁。 产生死锁的必要条件: (1) 互斥条件 进程对所分配到的资源进行排他性使用。如果此时还有其他进程请求该资源,请求者只能阻塞,直到占有该资源的进程释放该资源。 (2) 请求和保持条件 进程已经保持了至少一个资源,但又提出了新的资源要求,而该资源又已被其他进程占有,此时请求进程阻塞,但请求进程又对已经获得的其他资源保持不放。 (3) 不剥夺条件 进程已获得的资源,在未使用完之前,不能被剥夺,只能在使用完后由自己释放。 (4) 环路等待条件 在发生死锁时,必然存在一个进程——资源的环形链。 29、请详细说明可通过哪些途径预防死锁? 【解】可以通过: (1) 摒弃“请求和保持”条件,系统要求所有进程要一次性地申请 在整个运行过程所需的全部资源。如系统有足够的资源分配给进程,便一次性的把其所需要的所有资源分配给该进程。这样,该进程在整个运行期间,便不会再提出资源要求,从而摒弃了请求条件。但在分配时,只要有一种资源要求得不到满足,则即使是已有的其他资源,也全部不分配给该进程,而让该进程等待。这样,由于等待期间的进程未占有任何资源,因而也摒弃了保持条件,从而可以避免发生死锁。 (2) 摒弃“不剥夺”条件,进程是在需要资源时才提出请求,这样, 一个已经保持了某些资源的进程,当它在提出新的资源要求而不能立即得到满足时,必须释放它已经保持的所有资源,待以后需要时再重新申请。这意味着进程已经占有的资源,在运行过程中可能会暂时释放,也可认为是被剥夺了,从而摒弃了“不剥夺条件”。 (3) 摒弃“环路等待”条件,系统将所有资源按类型进行线性排队, 并赋予不同的序号。所有进程对资源的请求必须严格按资源序号递增的次序提出,这样,在所形成的资源分配图中,不可能再出现环路,从而摒弃了“环路等待”条件。 30、在银行家算法的例子中,如果P0发出的请求向量由Request(0,2,0))改为Request(0,1,0),问