操作系统第五版答案第3章 进程描述和控制

合集下载

操作系统第五版费祥林-课后习题答案参考

操作系统第五版费祥林-课后习题答案参考

操作系统第五版费祥林-课后习题答案参考1. 习题一a) 内容描述:- 系统调用是操作系统提供给用户程序的一组接口,用于访问操作系统的功能和服务。

- 系统调用是以进程的方式运行的,通过软中断或硬中断触发,并返回一个状态值,表示系统调用的执行结果。

b) 答案:系统调用的主要目的是提供一种安全的方式,让用户程序能够访问操作系统的特权功能。

通过系统调用,用户程序可以进行文件操作、网络通信、进程管理等功能。

2. 习题二a) 内容描述:- 进程是计算机中正在运行的程序的实例。

- 进程由程序代码、相关数据和执行上下文组成。

- 进程拥有自己的虚拟内存空间、寄存器状态和资源。

- 进程可以通过操作系统的调度机制进行切换和调度。

b) 答案:进程的主要特征包括并发性、独立性和随机性。

并发性指的是多个进程可以同时存在和执行;独立性指的是进程拥有独立的资源和执行上下文;随机性指的是进程的执行顺序和时间不确定。

3. 习题三a) 内容描述:- 死锁是指两个或多个进程因为竞争有限的资源而无法继续执行的状态。

- 死锁发生的原因包括互斥、占有且等待、不可抢占和循环等待。

b) 答案:死锁的预防和避免是操作系统中重要的问题。

预防死锁的方法包括破坏死锁产生的条件,如破坏互斥条件、破坏占有且等待条件等;避免死锁的方法包括资源分配图和银行家算法。

4. 习题四a) 内容描述:- 页面置换算法是操作系统中用于管理虚拟内存的重要手段。

- 页面置换算法的目标是在有限的物理内存空间中有效地管理大量的进程和页面。

- 常见的页面置换算法有FIFO、LRU和LFU等。

b) 答案:页面置换算法的选择依赖于系统的具体需求和资源限制。

FIFO算法是最简单的页面置换算法,它总是选择最先进入内存的页面进行置换;LRU算法则是根据页面最近被访问的频率进行置换;LFU算法是根据页面被访问的次数进行置换。

5. 习题五a) 内容描述:- 文件系统是操作系统中负责管理文件和目录的一组服务和数据结构。

(完整版)操作系统教程第5版课后标准答案

(完整版)操作系统教程第5版课后标准答案

操作系统教程第5版课后答案费祥林、骆斌编著第一章操作系统概论习题一一、思考题1.简述现代计算机系统的组成及层次结构。

答:现代计算机系统由硬件和软件两个部分组成。

是硬件和软件相互交织形成的集合体,构成一个解决计算问题的工具。

硬件层提供基本可计算的资源,包括处理器、寄存器、内存、外存及I/O设备。

软件层由包括系统软件、支撑软件和应用软件。

其中系统软件是最靠近硬件的。

2、计算机系统的资源可分成哪几类?试举例说明。

答:包括两大类,硬件资源和信息资源。

硬件资源分为处理器、I/O设备、存储器等;信息资源分为程序和数据等。

3.什么是操作系统?操作系统在计算机系统中的主要作用是什么?答:操作系统是一组控制和管理计算机硬件和软件资源,合理地对各类作业进行调度,以及方便用户使用的程序的集合。

操作系统在计算机系统中主要起4个方面的作用。

(1)服务用户观点——操作系统提供用户接口和公共服务程序(2)进程交互观点——操作系统是进程执行的控制者和协调者(3)系统实现观点——操作系统作为扩展机或虚拟机(4)资源管理观点——操作系统作为资源的管理者和控制者4.操作系统如何实现计算与操作过程的自动化?答:大致可以把操作系统分为以下几类:批处理操作系统、分时操作系统、实时操作系统、网络操作系统和分布式操作系统。

其中批处理操作系统能按照用户预先规定好的步骤控制作业的执行,实现计算机操作的自动化。

又可分为批处理单道系统和批处理多道系统。

单道系统每次只有一个作业装入计算机系统的主存储器运行,多个作业可自动、顺序地被装入运行。

批处理多道系统则允许多个作业同时装入主存储器,中央处理器轮流地执行各个作业,各个作业可以同时使用各自所需的外围设备,这样可以充分利用计算机系统的资源,缩短作业时间,提高系统的吞吐率5.操作系统要为用户提供哪些基本的和共性的服务?答:(1)创建程序和执行程序;(2)数据I/O和信息存取;(3)通信服务;(4)差错检测和处理。

计算机操作系统第五版答案,操作系统-第5版-习题答案.doc

计算机操作系统第五版答案,操作系统-第5版-习题答案.doc

计算机操作系统第五版答案,操作系统-第5版-习题答案.doc 第⼀章⼀、选择题1. D2. C3,B4.A5.6. D7. C⼆、填空题1. 硬件、软件2. 交互性、多路性和独占性3.⾬提⾼系统的⼯作效率4.处理器管理、存储器管理、⽂件管理、设备管理和接⼝管理。

5. 程序级和⽤户组(程序接⼝和命令接⼝)。

三、简答题1.计算机系统由哪些部分组成?处理器管理、存储器管理、⽂件管理、设备管理和接⼝管理2. 什么是操作系统?(1)管理和控制计算机的硬件和软件资源。

(2)合理组织计算机⼯作流程。

(3)提供⽅便⽤户操作的接⼝的软件。

3. 实时操作系统的主要特点是什么?及时性、可靠性。

4. 从资源管理的⾓度来看,操作系统的基本功能可分成哪些部分?管理和控制计算机的硬件和软件资源。

5. 操作系统的分类?(1)批处理操作系统。

(2)实时操作系统。

(3)分时操作系统。

(4)⽹络操作系统。

(5)分布式操作系统。

(6)嵌⼊式操作系统。

(7)微型计算机操作系统。

第⼆章⼀、选择题(1)进程部分1. D2. B3,D4.B5.6. B7. B(2)并发和通信部分1. B2. B3.B4.B5.D6. C7. B8.11. B 12.D⼆、填空题1. 动态和静态。

2. 程序、数据和PCB(进程控制块)3. 程序、数据和PCB(进程控制块、PCB、程序段。

4. 动态、静态5. 分配资源的基本单位,执⾏和调度单位6. 临界资源的概念是 ⼀次仅允许⼀个进程访问的资源 ,⽽临界区是指进程中访问临界资源的那段程序代码。

7. ⽤PV操作管理临界区时,任何⼀个进程进⼊临界区之间必须应⽤P操作,退出临界区必须调⽤V操作。

8. 信息分信箱头和信箱体,信箱头中存放有关信箱的描述,信箱体由若⼲格⼦组成,每格存放⼀封信件,格⼦的数⽬和⼤⼩在创建信箱时确定。

三、简答题1. 什么叫多道程序设计?为什么要采⽤多道程序设计?答:多道程序设计是指在主存中同时存放多个程序,它们都处于执⾏的开始点和结束点之间,这些程序轮渡或以其他⽅式共享CPU。

操作系统教程第五版费翔林课后答案

操作系统教程第五版费翔林课后答案

操作系统教程第五版费翔林课后答案本文是针对操作系统教程第五版费翔林书籍中的课后题目提供的答案解析。

在这个教程中,费翔林教授详细介绍了操作系统的基本概念、原理和实践,涵盖了进程管理、内存管理、文件系统、设备管理等各个方面。

通过对这些课后题目的解答,可以更好地理解和巩固操作系统的知识。

第一章:引论1.什么是操作系统?它的主要目标是什么?–答案:操作系统是一种控制和管理计算机硬件和软件资源的系统软件。

操作系统的主要目标是为用户提供一个方便、高效、安全的计算机环境。

2.请简要描述操作系统的角色和功能。

–答案:操作系统有几个角色和功能:•资源管理:操作系统管理计算机的各种硬件资源,包括处理器、内存、存储设备和输入输出设备。

•进程管理:操作系统创建、调度和终止进程,以及处理进程间的通信和同步。

•内存管理:操作系统分配和回收内存,管理虚拟内存,以及处理内存的保护和共享机制。

•文件系统:操作系统管理文件和目录的存储和访问,提供文件的创建、读取、写入和删除等操作。

•设备管理:操作系统管理计算机的输入输出设备,包括键盘、鼠标、显示器、打印机等。

•用户接口:操作系统提供了与计算机交互的界面,包括命令行界面和图形用户界面等。

第二章:进程管理1.什么是进程?进程的状态有哪些?–答案:进程是指在计算机中正在运行的程序的实例。

进程的状态包括:•就绪:进程已经准备好执行,但是还没有被分配到处理器。

•运行:进程正在处理器上执行。

•阻塞:进程由于某些原因不能继续执行,需要等待某个事件的发生。

•终止:进程已经完成或被终止,等待被操作系统回收。

2.请简要描述进程的创建、终止和状态切换的过程。

–答案:进程的创建是通过调用系统调用来完成的,系统为新进程分配资源,并设置进程的初始状态。

进程的终止可以是正常终止(调用系统调用进行退出)或异常终止(例如发生错误)。

进程状态之间的切换通过操作系统的调度算法来实现,例如从就绪状态切换到运行状态,或从运行状态切换到阻塞状态。

操作系统_进程描述和控制

操作系统_进程描述和控制

进程的状态
• 程序的执行:操作系 • • •
统创建一个进程或任 务 处理器角度:根据程 序计数器不断变化的 值 程序角度:执行程序 中的一系列指令 进程的轨迹:进程执 行指令序列来描述
两状态进程模型
进程的创建和终止
• 进程的创建:建立管理进程的数据结构和分配空间 • 导致进程创建的原因:
新的批处理作业 交互登陆 操作系统提供一项任务 现有进程派生(已有进程创建)如打印服务器进程为每一个打印
操作系统的执行
• 无进程内核(老操作系统):
• 在所有进程(用户程序)之外执行操作系统内核 • 内核是特权模式下工作的独立实体
在用户进程中执行:
• 同一进程中进行模式切换、不需进程切换 • 在用户进程的上下文中执行所有操作系统
软件(一组例程)操作系统代码位于共享 地址空间中,被所有用户进程共享
即使操作系统例程在用户进程环境中执行,用户代码也不能篡改
进程切换
• • • • • • • •
模式切换并不一定发生进程切换 保护处理器上下文环境 更新当前处于运行态进程的PCB, 更新当前处于运行态进程的PCB, 修改状态 该进程PCB挂入相应队列 就绪、阻塞、就绪/挂起) 该进程PCB挂入相应队列 (就绪、阻塞、就绪/挂起) 选择一个就绪进程执行 更新所选进程的PCB(变为运行态) 更新所选进程的PCB(变为运行态) 更新内存管理数据结构, 更新内存管理数据结构, 包含地址转换 恢复被选中进程的处理器上下文环境
PCB的组织方式 PCB的组织方式
• 链表:同一状态的进程其PCB 链表:同一状态的进程其PCB
成一链表,多个状态对应多个 不同的链表
– 各状态的进程形成不同的链表: 就绪链表、阻塞链表
• 索引表:同一状态的进程归入

操作系统教程第五版答案

操作系统教程第五版答案

操作系统教程第五版答案【篇一:华科操作系统教程(第五版)费祥林部分习题答案】>应用题t2、t4、第二章处理器管理应用题t1:只能在内核态运行的指令:(3)、(4)、(5)、(6)、(7)。

t11:(4)sjf调度算法t15:hrrf性能较好。

第三章同步、通信与死锁应用题:2、5(1)、38(1),t2、t5、t38(1)第四章存储管理二、应用题:3(3)、5、20、30t3(3)答:作业的物理块数为3时,fifo为9次,75%;lru为10次,83%;opt为7次,58%;作业的物理块数为4时,fifo为10次,83%,lru为8次,66%,opt为6次,50%。

其中fifo出现belady现象。

t5、【篇二:操作系统原理习题及答案(全书免费版)】、填空题1.用户与操作系统的接口有,两种。

【答案】命令接口,系统调用【解析】按用户界面的观点,操作系统是用户与计算机之间的接口。

用户通过操作系统提供的服务来有效地使用计算机。

一般操作系统提供了两类接口为用户服务,一种是程序一级的接口,即通过一组广义指令(或称系统调用)供用户程序和其他系统程序调用;另一种是作业一级的接口,提供一组控制命令供用户去组织和控制自己的作业。

2.用户程序调用操作系统有关功能的途径是。

【答案】利用系统调用命令【解析】系统调用命令是操作系统专门给编程人员提供的调用操作系统有关功能的途径,一般在汇编语言和c语言中都提供了使用系统调用命令的方法。

编程人员可以在这些语言中利用系统调用命令动态请求和释放系统资源。

3.unix系统是①操作系统,dos系统是②操作系统。

【答案】①分时(或多用户、多任务),②单用户(或单用户、单任务)【解析】 unix系统是一个可供多个用户同时操作的会话式的分时操作系统,dos系统是为个人计算机设计的一个单用户操作系统。

4.现代计算机中,cpu工作方式有目态和管态两种。

目态是指运行①程序,管态是指运行②程序。

操作系统教程第5版部分习题标准答案

操作系统教程第5版部分习题标准答案

第一章:一、3、10、15、23、27、353.什么是操作系统?操作系统在计算机系统中的主要作用是什么?操作系统是管理系统资源、控制程序执行、改善人机界面、提供各种服务,并合理组织计算机工作流程和为用户有效地使用计算机提供良好运行环境的一种系统软件.主要作用(1)服务用户—操作系统作为用户接口和公共服务程序(2)进程交互—操作系统作为进程执行的控制者和协调者(3)系统实现—操作系统作为扩展机或虚拟机(4)资源管理—操作系统作为资源的管理者和控制者10.试述系统调用与函数(过程)调用之间的区别。

(1)调用形式和实现方式不同;(2)被调用的代码位置不同;(3)提供方式不同15.什么是多道程序设计?多道程序设计有什么特点?多道程序设计是指允许多个作业(程序)同时进入计算机系统内存并执行交替计算的方法。

从宏观上看是并行的,从微观上看是串行的。

(1)可以提高CPU、内存和设备的利用率;(2)可以提高系统的吞吐率,使单位时间内完成的作业数目增加;(3)可以充分发挥系统的并行性,使设备和设备之间,设备和CPU之间均可并行工作。

23.现代操作系统具有哪些基本功能?请简单叙述之。

(1)处理器管理;(2)存储管理;(3)设备管理;(4)文件管理;(5)联网与通信管理。

27.什么是操作系统的内核?内核是一组程序模块,作为可信软件来提供支持进程并发执行的基本功能和基本操作,通常驻留在内核空间,运行于内核态,具有直接访问计算机系统硬件设备和所有内存空间的权限,是仅有的能够执行特权指令的程序。

35.简述操作系统资源管理的资源复用技术。

系统中相应地有多个进程竞争使用资源,由于计算机系统的物理资源是宝贵和稀有的,操作系统让众多进程共享物理资源,这种共享称为资源复用。

(1)时分复用共享资源从时间上分割成更小的单位供进程使用;(2)空分复用共享资源从空间上分割成更小的单位供进程使用。

.二、2、52、答:画出两道程序并发执行图如下:(1)(见图中有色部分)。

操作系统教程第5版部分习题答案

操作系统教程第5版部分习题答案

操作系统教程第 5 版部分习题答案第一章:一、3、10、15、23、27、353. 什么是操作系统?操作系统在计算机系统中的主要作用是什么?操作系统是管理系统资源、控制程序执行、改善人机界面、提供各种服务,并合理组织计算机工作流程和为用户有效地使用计算机提供良好运行环境的一种系统软件.主要作用(1)服务用户—操作系统作为用户接口和公共服务程序(2)进程交互—操作系统作为进程执行的控制者和协调者(3)系统实现—操作系统作为扩展机或虚拟机(4)资源管理—操作系统作为资源的管理者和控制者10. 试述系统调用与函数(过程)调用之间的区别。

1)调用形式和实现方式不同;操作系统教程第 5 版部分习题答案(2)被调用的代码位置不同;(3)提供方式不同15. 什么是多道程序设计?多道程序设计有什么特点?多道程序设计是指允许多个作业 (程序)同时进入计算机系统内存并执行交替计算的方法。

从宏观上看是并行的,从微观上看是串行的。

(1)可以提高CPU内存和设备的利用率;( 2) 可以提高系统的吞吐率,使单位时间内完成的作业数目增加;( 3) 可以充分发挥系统的并行性,使设备和设备之间,设备和CPU 之间均可并行工作。

23. 现代操作系统具有哪些基本功能?请简单叙述之。

( 1 )处理器管理;( 2)存储管理;( 3)设备管理;操作系统教程第 5 版部分习题答案(4)文件管理;(5)联网与通信管理。

27. 什么是操作系统的内核?内核是一组程序模块,作为可信软件来提供支持进程并发执行的基本功能和基本操作,通常驻留在内核空间,运行于内核态,具有直接访问计算机系统硬件设备和所有内存空间的权限,是仅有的能够执行特权指令的程序。

35. 简述操作系统资源管理的资源复用技术。

系统中相应地有多个进程竞争使用资源,由于计算机系统的物理资源是xx 和稀有的,操作系统让众多进程共享物理资源,这种共享称为资源复用。

(1)时分复用共享资源从时间上分割成更小的单位供进程使用;(2)空分复用共享资源从空间上分割成更小的单位供进程使用。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第3章 进程描述和控制 复习题: 3.1 什么是指令跟踪? 答:指令跟踪是指为该进程而执行的指令序列。 3.2 通常那些事件会导致创建一个进程? 答:新的批处理作业;交互登录;操作系统因为提供一项服务而创建;由现有的进程派生。(详情请参考表3.1) 3.3 对于图3.6中的进程模型,请简单定义每个状态。 答:运行态:该进程正在执行。就绪态:进程做好了准备,只要有机会就开始执行。阻塞态:进程在某些事件发生前不能执行,如I/O操作完成。新建态:刚刚创建的进程,操作系统还没有把它加入到可执行进程组中。退出态:操作系统从可执行进程组中释放出的进程,或者是因为它自身停止了,或者是因为某种原因被取消。 3.4 抢占一个进程是什么意思? 答:处理器为了执行另外的进程而终止当前正在执行的进程,这就叫进程抢占。 3.5 什么是交换,其目的是什么? 答:交换是指把主存中某个进程的一部分或者全部内容转移到磁盘。当主存中没有处于就绪态的进程时,操作系统就把一个阻塞的进程换出到磁盘中的挂起队列,从而使另一个进程可以进入主存执行。 3.6 为什么图3.9(b)中有两个阻塞态? 答:有两个独立的概念:进程是否在等待一个事件(阻塞与否)以及进程是否已经被换出主存(挂起与否)。为适应这种2*2的组合,需要两个阻塞态和两个挂起态。 3.7 列出挂起态进程的4个特点。 答:1.进程不能立即执行。2.进程可能是或不是正在等待一个事件。如果是,阻塞条件不依赖于挂起条件,阻塞事件的发生不会使进程立即被执行。3.为了阻止进程执行,可以通过代理把这个进程置于挂起态,代理可以是进程自己,也可以是父进程或操作系统。4.除非代理显式地命令系统进行状态转换,否则进程无法从这个状态中转移。 3.8 对于哪类实体,操作系统为了管理它而维护其信息表? 答:内存、I/O、文件和进程。 3.9 列出进程控制块中的三类信息。 答:进程标识,处理器状态信息,进程控制信息。 3.10 为什么需要两种模式(用户模式和内核模式)? 答:用户模式下可以执行的指令和访问的内存区域都受到限制。这是为了防止操作系统受到破坏或者修改。而在内核模式下则没有这些限制,从而使它能够完成其功能。 3.11 操作系统创建一个新进程所执行的步骤是什么? 答:1.给新进程分配一个唯一的进程标识号。2.给进程分配空间。3.初始化进程控制块。4.设置正确的连接。5.创建或扩充其他的数据结构。 3.12 中断和陷阱有什么区别? 答:中断与当前正在运行的进程无关的某些类型的外部事件相关,如完成一次I/O操作。陷阱与当前正在运行的进程所产生的错误或异常条件相关,如非法的文件访问。 3.13 举出中断的三个例子。 答:时钟终端,I/O终端,内存失效。 3.14 模式切换和进程切换有什么区别? 答:发生模式切换可以不改变当前正处于运行态的进程的状态。发生进程切换时,一个正在执行的进程被中断,操作系统指定另一个进程为运行态。进程切换需要保存更多的状态信息。 习题: 3.1. 给出操作系统进行进程管理时的五种主要活动,并简单描述为什么需要它们。 答:用户进程和系统进程创建及删除。系统中的进程可以为信息共享、运算加速、模块化和方便并发地执行。而并发执行需要进程的创建和删除机制。当进程创建或者运行时分配给它需要的资源。当进程终止时,操作系统需要收回任何可以重新利用的资源。 进程的暂停和继续执行。在进程调度中,当进程在等待某些资源时,操作系统需要将它的状态改变为等待或就绪状态。当所需要的资源可用时,操作系统需要将它的状态变为运行态以使其继续执行。 提供进程的同步机制。合作的进程可能需要共享数据。对共享数据的并行访问可能会导致数据冲突。操作系统必须提供进程的同步机制以使合作进程有序地执行,从而保证数据的一致性。 提供进程的通信机制。操作系统下执行的进程既可以是独立进程也可以是合作进程。合作进程之间必须具有一定的方式进行通信。 提供进程的死锁解决机制。在多道程序环境中,多个进程可能会竞争有限的资源。如果发生死锁,所有的等待进程都将永远不能由等待状态再变为运行态,资源将被浪费,工作永远不能完成。 3.2. 在[PINK89] 中为进程定义了以下状态:执行(运行)态、活跃(就绪)态、阻塞态和挂起态。当进程正在等待允许使用某一资源时,它处于阻塞态;当进程正在等待它已经获得的某种资源上的操作完成时,它处于挂起态。在许多操作系统中,这两种状态常常放在一起作为阻塞态,挂起态使用本章中给出的定义。请比较这两组定义的优点。 答:[PINK89]中引用了以下例子来阐述其中阻塞和挂起的定义: 假设一个进程已经执行了一段时间,它需要一个额外的磁带设备来写出一个临时文件。在它开始写磁带之前,进程必须得到使用某一设备的许可。当它做出请求时,磁带设备可能并不可用,这种情况下,该进程就处于阻塞态。假设操作系统在某一时刻将磁带设备分配给了该进程,这时进程就重新变为活跃态。当进程重新变为执行态时要对新获得的磁带设备进行写操作。这时进程变为挂起态,等待该磁带上当前所进行的写操作完成。 这种对等待某一设备的两种不同原因的区别,在操作系统组织其工作时是非常有用的。然而这并不能表明那些进程是换入的,那些进程是换出的。后一种区别是必需的,而且应该在进程状态中以某种形式表现出来。 3.3. 对于图3.9(b)中给出的7状态进程模型,请仿照图3.8(b)画出它的排队图。 答:图9.3给出了单个阻塞队列的结果。该图可以很容易的推广到多个阻塞队列的情形。 3.4. 考虑图3.9(b)中的状态转换图。假设操作系统正在分派进程,有进程处于就绪态和就绪/挂起态,并且至少有一个处于就绪/挂起态的进程比处于就绪态的所有进程的优先级都高。有两种极端的策略:(1)总是分派一个处于就绪态的进程,以减少交换;(2)总是把机会给具有最高优先级的进程,即使会导致在不需要交换时进行交换。请给出一种能均衡考虑优先级和性能的中间策略。 答:对于一个就绪/挂起态的进程,降低一定数量(如一或两个)优先级,从而保证只有当一个就绪/挂起态的进程比就绪态的进程的最高优先级还高出几个优先级时,它才会被选做下一个执行。 3.5. 表3.13给出了VAX/VMS操作系统的进程状态。 a. 请给出这么多种等待状态的理由。 b. 为什么以下状态没有驻留和换出方案:页错误等待、也冲突等待、公共事件等待、自由页等待和资源等待。 c. 请画出状态转换图,并指出引发状态装换的原因。 答: a. 每一种等待状态都有一个单独的队列与其相关联。当影响某一等待进程的事件发生时,把等待进程分成不同的队列就减少了定位这一等待进程所需的工作量。例如,当一个页错误完成时,调度程序就可以在页错误等待队列中找到等待的进程。 b. 在这些状态下,允许进程被换出只会使效率更低。例如,当发生页错误等待时,进程正在等待换入一个页从而使其可以执行,这是将进程换出是毫无意义的。 c. 可以由下面的进程状态转换表得到状态转换图。 当前状态 下一状态 当前正在执行 可计算(驻留) 可计算(换出) 各种等待状态(驻留) 各种等待状态(换出) 当前正在执行 重调度 等待

可计算(驻留) 调度 换出 可计算(换出) 换入 各种等待状态(驻留) 事件发生 换出 各种等待状态(换出) 事件发生 3.6. VAM/VMS操作系统采用了四种处理器访问模式,以促进系统资源在进程间的保护和共享。访问模式确定:  指令执行特权:处理器将执行什么指令。  内存访问特权:当前指令可能访问虚拟内存中的哪个单元。 四种模式如下:  内核模式:执行VMS操作系统的内核,包括内存管理、中断处理和I/O操作。  执行模式:执行许多操作系统服务调用,包括文件(磁盘和磁带)和记录管理例程。  管理模式:执行其他操作系统服务,如响应用户命令。  用户模式:执行用户程序和诸如编译器、编辑器、链接程序、调试器之类的实用程序。 在较少特权模式执行的进程通常需要调用在较多特权模式下执行的过程,例如,一个用户程序需要一个操作系统服务。这个调用通过使用一个改变模式(简称CHM)指令来实现,该指令将引发一个中断,把控制转交给处于新的访问模式下的例程,并通过执行REI(Return from Exception or Interrupt,从异常或中断返回)指令返回。 a. 很多操作系统有两种模式,内核和用户,那么提供四种模式有什么优点和缺点? b. 你可以举出一种有四种以上模式的情况吗? 答: a. 四种模式的优点是对主存的访问控制更加灵活,能够为主存提供更好的保护。缺点是复杂和处理的开销过大。例如,程序在每一种执行模式下都要有一个独立的堆栈。 b. 原则上,模式越多越灵活,但是四种以上的模式似乎很难实现。 3.7. 在前面习题中讨论的VMS方案常常称为环状保护结构,如图3.18所示。3.3节所描述的简单的内核/用户方案是一种两环结构,[SILB04]指出了这种方法的问题:环状(层次)结构的主要缺点是它不允许我们实施须知原理,特别地,如果一个对象必须在域Dj中可访问,但在域Di中不可访问,则必须有就j段在Dj中都可以访问。 a. 请清楚地解释上面引文中提出的问题。 b. 请给出环状结构操作系统解决这个问题的一种方法。 答: a. 当j比Di中的更具有特权或者要求的安全性更高,那么这种限制就是合理的。然而,通过以下方法却可以绕过这种安全策略。一个运行在Dj中的进程可以读取Dj中的数据,然后把数据复制到Di中。随后,Di中的进程就可以访问这些信息了。 b. 有一种解决这一问题的方法叫做可信系统,我们将在16章中进行讨论。 3.8. 图3.7(b)表明一个进程每次只能在一个事件队列中。 a. 是否能够允许进程同时等待一个或多个事件?请举例说明。 b. 在这种情况下,如何修改图中的排队结构以支持这个新特点? 答: a. 一个进程可能正在处理从另一个进程收到的数据并将结果保存到磁盘上。如果当前在另一个进程中正有数据在等待被取走,进程就可以继续获得数据并处理它。如果前一个写磁盘操作已经完成,并且有处理好的数据在等待写出,那么进程就可以继续写磁盘。这样就可能存在某一时刻,进程即在等待从输入进程获得数据,又在等待磁盘可用。 b. 有很多种方法解决这一问题。可以使用一种特殊的队列,或者将进程放入两个独立的队列中。不论采用哪种方法,操作系统都必须处理好细节工作,使进程相继地关注两个事件的发生。 3.9. 在很多早期计算机中,中断导致寄存器值被保存在与给定的中断信息相关联的固定单元。在什么情况下这是一种实用的技术?请解释为什么它通常是不方便的。 答:这种技术是基于被中断的进程A在中断响应之后继续执行的假设的。但是,在通常情况下,中断可能会导致另一个进程B抢占了进程A。这是就必须将进程A的执行状态从与中断相关的位置复制到与A相关的进程描述中。然而机器却有可能仍将它们保存到前一位置。参考:[BRIN73]。 3.10. 3.4节曾经讲述过,由于在内核模式下执行的进程是不能被抢占的,因此UNIX不适用于实时应用。请阐述原因。 答:由于存在进程不能被抢占的情况(如在内核模式下执行的进程),操作系统不可能对实时需求给予迅速的反应。

相关文档
最新文档