ImageVerifierCode 换一换
格式:DOCX , 页数:275 ,大小:2.86MB ,
资源ID:10617876      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/10617876.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(《操作系统精髓与设计原理第五版》练习题及答案DOC.docx)为本站会员(b****8)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

《操作系统精髓与设计原理第五版》练习题及答案DOC.docx

1、操作系统精髓与设计原理第五版练习题及答案DOC第 1 章计算机系统概述1.1 、图 1.3中的理想机器还有两条I/O 指令:0011 =从 I/O 中载入 AC0111 =把 AC保存到 I/O中在这种情况下, 12 位地址标识一个特殊的外部设备。请给出以下程序的执行过程(按照图 1.4 的格式):1. 从设备 5 中载入 AC。2. 加上存储器单元 940 的内容。3. 把 AC保存到设备 6 中。假设从设备 5 中取到的下一个值为 3940 单元中的值为 2。答案:存储器( 16 进制内容):300:3005;301:5940;302:7006步骤 1:3005IR;步骤 2:3AC步骤

2、3:5940IR;步骤 4:325AC步骤 5:7006IR:步骤 6:AC设备 61.2 、本章中用 6 步来描述图 1.4 中的程序执行情况,请使用 MAR和 MBR扩充这个描述。答案: 1. a. PC 中包含第一条指令的地址 300,该指令的内容被送入 MAR中。b. 地址为 300 的指令的内容(值为十六进制数 1940)被送入 MBR,并且 PC增 1。这两个步骤是并行完成的。b. MBR中的值被送入指令寄存器 IR 中。2. a.指令寄存器 IR 中的地址部分( 940)被送入 MAR中。b. 地址 940 中的值被送入 MBR中。c. MBR中的值被送入 AC中。13. a.

3、PC 中的值( 301)被送入 MAR中。b. 地址为 301 的指令的内容(值为十六进制数 5941)被送入 MBR,并且 PC增 1。c. MBR中的值被送入指令寄存器 IR 中。4. a.指令寄存器 IR 中的地址部分( 941)被送入 MAR中。b. 地址 941 中的值被送入 MBR中。c. AC中以前的内容和地址为 941 的存储单元中的内容相加,结果保存到 AC中。5. a. PC中的值( 302)被送入 MAR中。b. 地址为 302 的指令的内容(值为十六进制数 2941)被送入 MBR,并且 PC增 1。b. MBR中的值被送入指令寄存器 IR 中。6. a.指令寄存器 I

4、R 中的地址部分( 941)被送入 MAR中。b. AC中的值被送入 MBR中。c. MBR中的值被存储到地址为 941 的存储单元之中。1.4 、假设有一个微处理器产生一个 16 位的地址(例如,假设程序计数器和地址寄存器都是 16 位)并且具有一个 16 位的数据总线。a. 如果连接到一个 16 位存储器上,处理器能够直接访问的最大存储器地址空间为多少?b. 如果连接到一个 8 位存储器上,处理器能够直接访问的最大存储器地址空间为多少?c. 处理访问一个独立的 I/O 空间需要哪些结构特征?d. 如果输入指令和输出指令可以表示 8 位 I/O 端口号,这个微处理器可以支持2多少 8 位 I

5、/O 端口?答案:对于 (a) 和(b) 两种情况,微处理器可以直接访问的最大存储器地址空间为 216 = 64K bytes ;唯一的区别是 8位存储器每次访问传输 1个字节,而16位存储器每次访问可以传输一个字节或者一个 16位的字。对于 (c) 情况,特殊的输入和输出指令是必要的,这些指令的执行体会产生特殊的“ I/O 信号”(有别于“存储器信号”,这些信号由存储器类型指令的执行体产生);在最小状态下,一个附加的输出针脚将用来传输新的信号。对于 (d) 情况,它支持 28 = 256 个输入和 28 = 256 个输出字节端口和相同数目的 16位I/O 端口;在任一情况 , 一个输入和一

6、个输出端口之间的区别是通过被执行的输入输出指令所产生的不同信号来定义的。1.5 、考虑一个 32 位微处理器,它有一个 16 位外部数据总线,并由一个 8MHz的输入时钟驱动。假设这个微处理器有一个总线周期,其最大持续时间等于 4个输入时钟周期。请问该微处理器可以支持的最大数据传送速度为多少?外部数据总线增加到 21 位,或者外部时钟频率加倍,哪种措施可以更好地提高处理器性能?请叙述你的设想并解释原因。答案:时钟周期 1/ (8MHZ) 125ns总线周期 4125ns500ns每 500ns 传输 2 比特;因此传输速度 4MB/s加倍频率可能意味着采用了新的芯片制造技术(假设每个指令都有相

7、同的时钟周期数);加倍外部数据总线,在芯片数据总线驱动 / 锁存、总线控制逻辑的修改等方面手段广泛(或许更新) 。在第一种方案中,内存芯片的速度要提高一倍(大约),而不能降低微处理器的速度;第二种方案中,内存的字长必须加倍,以便能发送 / 接受 32 位数量。31.6 、考虑一个计算机系统,它包含一个 I/O 模块,用以控制一台简单的键盘 /打印机电传打字设备。 CPU中包含下列寄存器, 这些寄存器直接连接到系统总线上:INPR:输入寄存器, 8 位OUTR:输出寄存器, 8 位FGI:输入标记, 1 位FGO:输出标记, 1 位IEN:中断允许, 1 位I/O 模块控制从打字机中输入击键,

8、并输出到打印机中去。 打字机可以把一个字母数字符号编码成一个 8 位字,也可以把一个 8 位字解码成一个字母数字符号。当 8 位字从打字机进入输入寄存器时,输入标记被置位;当打印一个字时,输出标记被置位。a. 描述 CPU如何使用这 4 个寄存器实现与打字机间的输入 / 输出。b. 描述通过使用 IEN,如何提高执行效率?答案: a. 来源于打字机的输入储存在 INPR中。只有当 FGI0 时, INPR才会接收来自打字机的数据。当数据接收后,被储存在 INPR里面,同时 FGI 置为 1。CPU定期检查 FGI。如果 FGI1,CPU将把 INPR里面的内容传送至AC,并把 FGI 置为 0

9、。当 CPU需要传送数据到打字机时,它会检查 FGO。如果 FGO0,CPU处于等待。如果 FGO1,CPU将把 AC的内容传送至 OUTER并把 FGO置为0。当数字符号打印后,打字机将把 FGI 置为 1。b. (A)描述的过程非常浪费。速度远高于打字机的 CPU必须反复不断的检查 FGI 和 FGO。如果中断被使用,当打字机准备接收或者发送数据时,4可以向 CPU发出一个中断请求。 IEN 计数器可以由 CPU设置(在程序员的控制下)。1.7 、实际上在所有包括 DMA模块的系统中, DMA访问主存储器的优先级总是高于处理器访问主存储器的优先级。这是为什么 ?答案:如果一个处理器在尝试着

10、读或者写存储器时被挂起 , 通常除了一点轻微的时间损耗之外没有任何危害。但是, DMA可能从或者向设备 ( 例如磁盘或磁带 ) 以数据流的方式接收或者传输数据并且这是不能被打断的。否则,如果DMA设备被挂起(拒绝继续访问主存),数据可能会丢失。1.9 、一台计算机包括一个 CPU和一台 I/O 设备 D,通过一条共享总线连接到主存储器 M,数据总线的宽度为 1 个字。 CPU每秒最多可执行 106 条指令,平均每条指令需要 5 个机器周期,其中 3 个周期需要使用存储器总线。存储器读 / 写操作使用 1 个机器周期。假设 CPU正在连续不断地执行后台程序,并且需要保证95%的指令执行速度,但没

11、有任何 I/O 指令。假设 1 个处理器周期等于 1 个总线周期,现在要在 M和 D之间传送大块数据。a. 若使用程序控制 I/O ,I/O 每传送 1 个字需要 CPU执行两条指令。请估计通过D的 I/O 数据传送的最大可能速度。b. 如果使用 DMA传送,请估计传送速度。答案:a. 处理器只能分配 5的时间给 I/O. 所以最大的 I/O 指令传送速度是 10e6 0.05 50000 条指令 / 秒。因此 I/O 的传送速率是 25000 字/ 秒。b. 使用 DMA控制时,可用的机器周期下的数量是10e6(0.05 50.95 2) 2.15 10e6如果我们假设 DMA模块可以使用所

12、有这些周期,并且忽略任何设置和状态检查时间,那么这个值就是最大的 I/O 传输速率。51.10 、考虑以下代码:for ( i = 0 ;i 20 ;i+)for (j = 0 ;j 10 ;j+)ai = ai*ja. 请举例说明代码中的空间局部性。b. 请举例说明代码中的时间局部性。答案: a. 读取第二条指令是紧跟着读取第一条指令的。b. 在很短的间歇时间内, ai 在循环内部被访问了十次。1.11 、请将附录 1A 中的式( 1.1 )和式( 1.2 )推广到 n 级存储器层次中。答案:定义:CSTHB时间iiiii= 存储器层次 i 上每一位的存储单元平均花销= 存储器层次 i 的规

13、模大小= 存储器层次 i 上访问一个字所需时间= 一个字在不高于层次 i 的存储器上的概率= 把一个数据块从层次 i+1 的存储器上传输到层次 i 的存储器上所需高速缓冲存储器作为是存储器层次 1;主存为存储器层次 2;针对所有的 N层存储器层以此类推。有:nCi Sii 1CSnSii 1T s的引用更复杂,我们从概率论入手:所期望的值 xni Pr x 1 ,由此我i 1n们可以写出: TsTi H ii 16我们需要清楚如果一个字在 M1(缓存)中,那么对它的读取非常快。如果这个字在 M2而不在 M1中,那么数据块需要从 M2传输到 M1中,然后才能读取。因此,T2 = B 1+T1进一

14、步, T3 = B 2+T2 = B 1+B2+T1以此类推: Tii1B jT1j1所以, Tsni 1n( B j Hi)T1 H ii2j 1i 1n但是,H i1i1最后, Tsni 1(Bi H i)T1i2j 11.12 、考虑一个存储器系统,它具有以下参数:Tc = 100 nsCc = 0.01分/ 位Tm = 1200 nsCm = 0.001分/ 位a.1MB的主存储器价格为多少?b. 使用高速缓冲存储器技术, 1MB的主存储器价格为多少?c. 如果有效存取时间比高速缓冲存储器存取时间多 10% ,命中率 H为多少?答案: a. 价格 = C m8106 = 8103 =

15、80b. 价格 = Cc8106 = 8104 = 800c. 由等式 1.1 知: 1.1 T1 = T 1+(1-H)T 2(0.1)(100) = (1-H)(1200)H=1190/12001.13 、一台计算机包括包括高速缓冲存储器、主存储器和一个用做虚拟存储器的磁盘。如果要存取的字在高速缓冲存储器中,存取它需要 20ns;如果该字在7主存储器中而不在高速缓冲存储器中,把它载入高速缓冲存储器需要 60ns(包括最初检查高速缓冲存储器的时间) ,然后再重新开始存取;如果该字不在主存储器中,从磁盘中取到内存需要 12ms,接着复制到高速缓冲存储器中还需要60ns,再重新开始存取。高速缓冲

16、存储器的命中率为 0.9 ,主存储器的命中率为0.6 ,则该系统中存取一个字的平均存取时间是多少(单位为 ns)?答案:有三种情况需要考虑:字所在的位置概率访问所需时间( ns)在缓存中0.920不在缓存,在主存中(0.1 )(0.6 )= 0.0660+20 = 80不在缓存也不在主存(0.1 )(0.4 )= 0.0412ms+60+20 =中12,000,080所以平均访问时间是: Avg = (0.9)(20) + (0.06)(80) + (0.04)(12000080) = 480026 ns1.14 、假设处理器使用一个栈来管理过程调用和返回。请问可以取消程序计数器而用栈指针代替

17、吗?答案:如果栈只用于保存返回地址。或者如果栈也用于传递参数,这种方案只有当栈作为传递参数的控制单元而非机器指令时才成立。这两种情况下可以取消程序计数器而用栈指针代替。在后者情况中,处理器同时需要一个参数和指向栈顶部的程序计数器。第 2 章 操作系统概述2.1 假设我们有一台多道程序的计算机, 每个作业有相同的特征。 在一个计算周期 T 中,一个作业有一半时间花费在 I/O 上,另一半用于处理器的活动。每个8作业一共运行 N 个周期。假设使用简单的循环法调度,并且 I/O 操作可以与处理器操作重叠。定义以下量:?时间周期 =完成任务的实际时间?吞吐量 =每个时间周期 T 内平均完成的作业数目?

18、处理器使用率 =处理器活跃(不是处于等待)的时间的百分比当周期 T 分别按下列方式分布时,对 1 个、2 个和 4 个同时发生的作业,请计算这些量:a. 前一般用于 I/O ,后一半用于处理器。b. 前四分之一和后四分之一用于 I/O ,中间部分用于处理器。答:(a)和( b)的答案相同。尽管处理器活动不能重叠,但 I/O 操作能。一个作业时间周期 =NT处理器利用率 =50两个作业时间周期 =NT处理器利用率 =100四个作业时间周期 =(2N-1)NT处理器利用率 =1002.2 I/O 限制的程序是指如果单独运行,则花费在等待I/O 上的时间比使用处理器的时间要多的程序。处理器限制的程序

19、则相反。假设短期调度算法偏爱那些在近期石油处理器时间较少的算法,请解释为什么这个算法偏爱 I/O 限制的程序,但是并不是永远不受理处理器限制程序所需的处理器时间?受 I/O 限制的程序使用相对较少的处理器时间, 因此更受算法的青睐。 然而,受处理器限制的进程如果在足够长的时间内得不到处理器时间,同一算法将允许处理器去处理此进程,因为它最近没有使用过处理器。这样,一个处理器限制的进程不会永远得不到处理器。2.3 请对优化分时系统的调度策略和用于优化多道程序批处理系统的调度策略进行比较。9分时系统关注的是轮转时间,时间限制策略更有效是因为它给所有进程一个较短的处理时间。批处理系统关心的是吞吐量,更

20、少的上下文转换和更多的进程处理时间。因此,最小的上下文转换最高效。2.4 系统调用的目的是什么 ?如何实现与操作系统相关的的系统调用以及与双重模式(内核模式和用户模式)操作相关的系统调用?系统调用被应用程序用来调用一个由操作系统提供的函数。通常情况下,系统调用最终转换成在内核模式下的系统程序。2.5 在 IBM 的主机操作系统 OS/390 中,内核中的一个重要模块是系统资源管理程序( System Resource Manager,SRM),他负责地址空间(进程)之间的资源分配。 SRM是的 OS/390 在操作系统中具有特殊性,没有任何其他的主机操作系统,当然没有任何其他类型的操作系统可以

21、比得上 SRM所实现的功能。资源的概念包括处理器、实存和 I/O 通道, SRM累计处理器、 I/O 通道和各种重要数据结构的利用率,它的目标是基于性能监视和分析提供最优的性能,其安装设置了以后的各种性能目标作为 SRM的指南,这会基于系统的利用率动态的修改安装和作业性能特点。 SRM依次提供报告, 允许受过训练的操作员改进配置和参数设置,以改善用户服务。现在关注 SRM活动的一个实例。实存被划分为成千上万个大小相等的块,称为帧。每个帧可以保留一块称为页的虚存。 SRM每秒大约接受 20 次控制,并在互相之间以及每个页面之间进行检查。如果页未被引用或被改变,计数器增 1。一段时间后, SRM求

22、这些数据的平均值, 以确定系统中一个页面未曾被触及的平均秒数。这样做的目的是什么? SRM将采取什么动作?操作系统可以查看这些数据已确定系统的负荷,通过减少加在系统上的活跃作业来保持较高的平均利用率。典型的平均时间应该是两分钟以上,这个平均时10间看起来很长,其实并不长。第 3 章 进程描述和控制3.1.给出操作系统进行进程管理时的五种主要活动,并简单描述为什么需要它们。答:用户进程和系统进程创建及删除。系统中的进程可以为信息共享、运算加速、模块化和方便并发地执行。而并发执行需要进程的创建和删除机制。当进程创建或者运行时分配给它需要的资源。当进程终止时,操作系统需要收回任何可以重新利用的资源。

23、进程的暂停和继续执行。在进程调度中,当进程在等待某些资源时,操作系统需要将它的状态改变为等待或就绪状态。当所需要的资源可用时,操作系统需要将它的状态变为运行态以使其继续执行。提供进程的同步机制。合作的进程可能需要共享数据。对共享数据的并行访问可能会导致数据冲突。操作系统必须提供进程的同步机制以使合作进程有序地执行,从而保证数据的一致性。提供进程的通信机制。操作系统下执行的进程既可以是独立进程也可以是合作进程。合作进程之间必须具有一定的方式进行通信。提供进程的死锁解决机制。在多道程序环境中,多个进程可能会竞争有限的资源。如果发生死锁,所有的等待进程都将永远不能由等待状态再变为运行态,资源将被浪费

24、,工作永远不能完成。3.2.在PINK89 中为进程定义了以下状态:执行(运行)态、活跃(就绪)态、阻塞态和挂起态。当进程正在等待允许使用某一资源时,它处于阻塞态;当进程正在等待它已经获得的某种资源上的操作完成时,它处于挂起态。在许多操作系统中,这两种状态常常放在一起作为阻塞态,挂起态使用本11章中给出的定义。请比较这两组定义的优点。答: PINK89 中引用了以下例子来阐述其中阻塞和挂起的定义:假设一个进程已经执行了一段时间, 它需要一个额外的磁带设备来写出一个临时文件。在它开始写磁带之前,进程必须得到使用某一设备的许可。当它做出请求时,磁带设备可能并不可用,这种情况下,该进程就处于阻塞态。

25、假设操作系统在某一时刻将磁带设备分配给了该进程,这时进程就重新变为活跃态。 当进程重新变为执行态时要对新获得的磁带设备进行写操作。这时进程变为挂起态,等待该磁带上当前所进行的写操作完成。这种对等待某一设备的两种不同原因的区别,在操作系统组织其工作时是非常有用的。然而这并不能表明那些进程是换入的,那些进程是换出的。后一种区别是必需的,而且应该在进程状态中以某种形式表现出来。3.3.对于图 3.9 (b)中给出的 7 状态进程模型,请仿照图3.8 (b)画出它的排队图。答:图 9.3 给出了单个阻塞队列的结果。该图可以很容易的推广到多个阻塞队列的情形。3.4.考虑图 3.9 (b)中的状态转换图。

26、假设操作系统正在分派进程,有进程处于就绪态和就绪 / 挂起态,并且至少有一个处于就绪/ 挂起态的进程比处于就绪态的所有进程的优先级都高。有两种极端的策略:(1)总是分派一个处于就绪态的进程,以减少交换; ( 2)总是把机会给具有最高优先级的进程,即使会导致在不需要交换时进行交换。请给出一种能均衡考虑优先级和性能的中间策略。答:对于一个就绪 / 挂起态的进程,降低一定数量(如一或两个)优先级,12从而保证只有当一个就绪 / 挂起态的进程比就绪态的进程的最高优先级还高出几个优先级时,它才会被选做下一个执行。3.5. 表 3.13 给出了 VAX/VMS操作系统的进程状态。a. 请给出这么多种等待状

27、态的理由。b. 为什么以下状态没有驻留和换出方案:页错误等待、也冲突等待、公共事件等待、自由页等待和资源等待。c. 请画出状态转换图,并指出引发状态装换的原因。答:a. 每一种等待状态都有一个单独的队列与其相关联。当影响某一等待进程的事件发生时,把等待进程分成不同的队列就减少了定位这一等待进程所需的工作量。例如,当一个页错误完成时,调度程序就可以在页错误等待队列中找到等待的进程。b. 在这些状态下,允许进程被换出只会使效率更低。例如,当发生页错误等待时,进程正在等待换入一个页从而使其可以执行,这是将进程换出是毫无意义的。c. 可以由下面的进程状态转换表得到状态转换图。当前状态 下一状态当前正在 可 计 算 可 计 算 各种等待 各种等待执行 (驻留) (换出) 状态(驻 状态(换留) 出)当前正在 重调度 等待执行13可 计 算 调度 换出(驻留)可 计 算 换入(换出)各种等待 事件发生 换出状态(驻留)各种等待 事件发生状态(换出)

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1