操作系统第五版答案第8章复习题及习题解答
- 格式:doc
- 大小:262.50 KB
- 文档页数:17
精品文档虚拟内存8.1 简单分页与虚拟分页有什么区别?简单分页:一个程序中的所有的页都必须在主存储器中程序才能正常运行,除非使用覆盖技术。
虚拟内存分页:不是程序的每一页都必须在主存储器的帧中来使程序运行,页在需要的时候进行读取。
8.2 解释什么是抖动。
虚拟内存结构的震动现象,在这个过程中处理器大部分的时间都用于交换块,而不是执行指令。
8.3 为什么在使用虚拟内存时,局部性原理是至关重要的?可以根据局部性原理设计算法来避免抖动。
总的来说,局部性原理允许算法预测哪一个当前页在最近的未来是最少可能被使用的,并由此就决定候选的替换出的页。
8.4 哪些元素是页表项中可以找到的元素?简单定义每个元素。
帧号:用来表示主存中的页来按顺序排列的号码。
存在位(P):表示这一页是否当前在主存中。
修改位(M):表示这一页在放进主存后是否被修改过。
8.5 转移后备缓冲器的目的是什么?转移后备缓冲器(TLB)是一个包含最近经常被使用过的页表项的高速缓冲存储器。
它的目的是为了减少从磁盘中恢复一个页表项所需的时间。
8.6 简单定义两种可供选择的页读取策略。
在请求式分页中,只有当访问到某页中的一个单元时才将该页取入主存。
在预约式分页中,读取的并不是页错误请求的页。
8.7 驻留集管理和页替换策略有什么区别?驻留集管理主要关注以下两个问题:(1)给每个活动进程分配多少个页帧。
(2)被考虑替换的页集是仅限在引起页错误的进程的驻留集中选择还是在主存中所有的页帧中选择。
页替换策略关注的是以下问题:在考虑的页集中,哪一个特殊的页应该被选择替换。
8.8 FIFO和Clock页替换算法有什么区别?时钟算法与FIFO算法很接近,除了在时钟算法中,任何一个使用位为一的页被忽略。
8.9 页缓冲实现的是什么?(1)被替换出驻留集的页不久又被访问到时,仍在主存中,减少了一次磁盘读写。
(2)被修改的页以簇的方式被写回,而不是一次只写一个,这就大大减少了I/O操作的数目,从而减少了磁盘访问的时间。
1.1:存储程序式计算机的主要特点是:集中顺序过程控制(1)过程性:模拟人们手工操作(2)集中控制:由CPU集中管理(3)顺序性:程序计数器1.2:a:批处理系统的特点:早期批处理有个监督程序,作业自动过渡直到全部处理完,而脱机批处理的特点:主机与卫星机并行操作。
b:分时系统的特点:(1):并行性。
共享一台计算机的众多联机用户可以在各自的终端上同时处理自己的程序。
(2):独占性。
分时操作系统采用时间片轮转的方法使一台计算机同时为许多终端上同时为许多终端用户服务,每个用户的感觉是自己独占计算机。
操作系统通过分时技术将一台计算机改造为多台虚拟计算机。
(3):交互性。
用户与计算机之间可以进行“交互会话”,用户从终端输入命令,系统通过屏幕(或打印机)将信息反馈给用户,用户与系统这样一问一答,直到全部工作完成。
c:分时系统的响应比较快的原因:因为批量操作系统的作业周转时间较长,而分时操作系统一般采用时间片轮转的方法,一台计算机与许多终端设备连接,使一台计算机同时为多个终端用户服务,该系统对每个用户都能保证足够快的响应时间,并提供交互会话功能。
1.3:实时信息处理系统和分时系统的本质区别:实时操作系统要追求的目标是:对外部请求在严格时间范围内做出反应,有高可靠性和完整性。
其主要特点是资源的分配和调度首先要考虑实时性然后才是效率。
此外,实时操作系统应有较强的容错能力,分时操作系统的工作方式是:一台主机连接了若干个终端,每个终端有一个用户在使用。
用户交互式地向系统提出命令请求,系统接受每个用户的命令,采用时间片轮转方式处理服务请求,并通过交互方式在终端上向用户显示结果。
用户根据上步结果发出下道命。
分时操作系统将CPU 的时间划分成若干个片段,称为时间片。
操作系统以时间片为单位,轮流为每个终端用户服务。
每个用户轮流使用一个时间片而使每个用户并不感到有别的用户存在。
分时系统具有多路性、交互性、“独占”性和及时性的特征。
计算机操作系统第五版答案,操作系统-第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.请简要描述进程的创建、终止和状态切换的过程。
–答案:进程的创建是通过调用系统调用来完成的,系统为新进程分配资源,并设置进程的初始状态。
进程的终止可以是正常终止(调用系统调用进行退出)或异常终止(例如发生错误)。
进程状态之间的切换通过操作系统的调度算法来实现,例如从就绪状态切换到运行状态,或从运行状态切换到阻塞状态。
计算机操作系统每章习题及答案《操作系统》复习题第一章操作系统引论一、单项选择题1、操作系统是一种( B )。
A.应用软件B. 系统软件C.通用软件D. 工具软件2、操作系统是一组( C )。
A.文件管理程序B.中断处理程序C.资源管理程序D.设备管理程序3、现代操作系统的基本特征是( C )、资源共享和操作的异步性。
A.多道程序设计B. 中断处理C.程序的并发执行D. 实现分时与实时处理4、( D )不是操作系统关心的主要问题。
A. 管理计算机裸机B. 设计、提供用户程序与计算机硬件系统的界面C. 管理计算机系统资源D. 高级程序设计语言的编译器5、引入多道程序的目的在于( A )。
A. 充分利用CPU,减少CPU等待时间B. 提高实时响应速度C. 有利于代码共享,减少主、辅存信息交换量D. 充分利用存储器6、( A )没有多道程序设计的特点。
A. DOSB. UNIXC. WindowsD.OS/27、下列操作系统中,为分时系统的是( C )。
A. CP/MB. MS-DOSC. UNIXD. Windows NT8、在分时系统中,时间片一定,( B ),响应时间越长。
A.内存越多B.用户数越多C.后备队列越短D.用户数越少9、批处理系统的主要缺点是( B )。
A.CPU的利用率不高B.失去了交互性C.不具备并行性D.以上都不是10、在下列性质中,( D )不是分时系统的特征。
A. 交互性B. 同时性C. 及时性D. 独占性11、实时操作系统追求的目标是( C )。
A.高吞吐率B.充分利用内存C. 快速响应D. 减少系统开销12、CPU状态分为系统态和用户态,从用户态转换到系统态的唯一途径是( C )。
A. 运行进程修改程序状态字B. 中断屏蔽C. 系统调用D. 进程调度程序13、系统调用的目的是(A )。
A.请求系统服务B.终止系统服务C.申请系统资源D.释放系统资源14、系统调用是由操作系统提供的内部调用,它(B )。
第8章测试题及答案整理注:不保证全部正确,如有错误自行更改一.选择题1.假脱机技术是指。
A.联机同时外围设备操作技术B.对换技术和覆盖技术C.SPOOLing技术D.A和C2.缓冲技术中的缓冲池在中。
A.主存B.外存C.ROMD.寄存器3.引入缓冲的主要目的是。
A.改善CPU和I/O设备之间速度不匹配B.节省内存C.提高的CPU利用率D.高I/O设备的效率4.CPU输出数据的速度远远高于打印机的打印速度,为了解决这一矛盾,可采用。
A.并行技术B.通道技术C.缓冲技术D.虚存技术5.为了使多个进程能同时处理输入和输出,最好使用结构的缓冲技术。
A.缓冲池B.闭缓冲区环C.单缓冲区D.双缓冲区6.通过硬件和软件的功能扩充,把原来独立的设备改造成能为若干用户共享的设备,这种设备称为。
A.存储设备B.系统设备C.用户设备D.虚拟设备7.如果I/O设备与存储设备进行数据交换不经过CPU来完成,这种数据交换方式是。
A.程序查询B.中断C.DMAD.无条件存取8.中断发生后,应保留。
A.缓冲区指针B.关键寄存器内容C.被中断的程序D.页表9.下面的不属于设备管理机构。
A.JCBB.DCTC.COCTD.CHCT解析:JCB作业控制块、DCT设备控制表、COCT控制器控制表、CHCT通道控制表10.大多数低速设备都属于设备。
A.独享B.共享C.虚拟D.Spool11. 是直接存取的存储设备。
A.磁盘B.磁带C.打印机D.键盘显示终端12.以下叙述中正确的为。
A.在现代计算机中,只有I/O设备才是有效的中断源B.在中断处理过程中必须屏蔽中断C.同一用户所使用的I/O设备也可能并行工作D.Spooling是脱机I/O系统13. 是操作系统中采用的以空间换取时间的技术。
A.SpoolingB.虚存技术C.覆盖与交换D.通道解析:时间->空间(虚存)、空间->时间(Spooling)14.Spooling技术,实质是将转化为共享设备的技术。
第1章计算机系统概述1.1 列出并简要地定义计算机的四个主要组成部分。
主存储器,存储数据和程序;算术逻辑单元,能处理二进制数据;控制单元,解读存储器中的指令并且使他们得到执行;输入/输出设备,由控制单元管理。
1.2 定义处理器寄存器的两种主要类别。
用户可见寄存器:优先使用这些寄存器,可以使机器语言或者汇编语言的程序员减少对主存储器的访问次数。
对高级语言而言,由优化编译器负责决定把哪些变量应该分配给主存储器。
一些高级语言,如C语言,允许程序言建议编译器把哪些变量保存在寄存器中。
控制和状态寄存器:用以控制处理器的操作,且主要被具有特权的操作系统例程使用,以控制程序的执行。
1.3 一般而言,一条机器指令能指定的四种不同操作是什么?处理器-寄存器:数据可以从处理器传送到存储器,或者从存储器传送到处理器。
处理器-I/O:通过处理器和I/O模块间的数据传送,数据可以输出到外部设备,或者从外部设备输入数据。
数据处理:处理器可以执行很多关于数据的算术操作或逻辑操作。
控制:某些指令可以改变执行顺序。
1.4 什么是中断?中断:其他模块(I/O,存储器)中断处理器正常处理过程的机制。
1.5 多中断的处理方式是什么?处理多中断有两种方法。
第一种方法是当正在处理一个中断时,禁止再发生中断。
第二种方法是定义中断优先级,允许高优先级的中断打断低优先级的中断处理器的运行。
1.6 存层次的各个元素间的特征是什么?存储器的三个重要特性是:价格,容量和访问时间。
1.7 什么是高速缓冲存储器?高速缓冲存储器是比主存小而快的存储器,用以协调主存跟处理器,作为最近储存地址的缓冲区。
1.8 列出并简要地定义I/O操作的三种技术。
可编程I/O:当处理器正在执行程序并遇到与I/O相关的指令时,它给相应的I/O模块发布命令(用以执行这个指令);在进一步的动作之前,处理器处于繁忙的等待中,直到该操作已经完成。
中断驱动I/O:当处理器正在执行程序并遇到与I/O相关的指令时,它给相应的I/O模块发布命令,并继续执行后续指令,直到后者完成,它将被I/O 模块中断。
虚拟内存8.1 简单分页与虚拟分页有什么区别?简单分页:一个程序中的所有的页都必须在主存储器中程序才能正常运行,除非使用覆盖技术。
虚拟内存分页:不是程序的每一页都必须在主存储器的帧中来使程序运行,页在需要的时候进行读取。
8.2 解释什么是抖动。
虚拟内存结构的震动现象,在这个过程中处理器大部分的时间都用于交换块,而不是执行指令。
8.3 为什么在使用虚拟内存时,局部性原理是至关重要的?可以根据局部性原理设计算法来避免抖动。
总的来说,局部性原理允许算法预测哪一个当前页在最近的未来是最少可能被使用的,并由此就决定候选的替换出的页。
8.4 哪些元素是页表项中可以找到的元素?简单定义每个元素。
帧号:用来表示主存中的页来按顺序排列的号码。
存在位(P):表示这一页是否当前在主存中。
修改位(M):表示这一页在放进主存后是否被修改过。
8.5 转移后备缓冲器的目的是什么?转移后备缓冲器(TLB)是一个包含最近经常被使用过的页表项的高速缓冲存储器。
它的目的是为了减少从磁盘中恢复一个页表项所需的时间。
8.6 简单定义两种可供选择的页读取策略。
在请求式分页中,只有当访问到某页中的一个单元时才将该页取入主存。
在预约式分页中,读取的并不是页错误请求的页。
8.7 驻留集管理和页替换策略有什么区别?驻留集管理主要关注以下两个问题:(1)给每个活动进程分配多少个页帧。
(2)被考虑替换的页集是仅限在引起页错误的进程的驻留集中选择还是在主存中所有的页帧中选择。
页替换策略关注的是以下问题:在考虑的页集中,哪一个特殊的页应该被选择替换。
8.8 FIFO和Clock页替换算法有什么区别?时钟算法与FIFO算法很接近,除了在时钟算法中,任何一个使用位为一的页被忽略。
8.9 页缓冲实现的是什么?(1)被替换出驻留集的页不久又被访问到时,仍在主存中,减少了一次磁盘读写。
(2)被修改的页以簇的方式被写回,而不是一次只写一个,这就大大减少了I/O操作的数目,从而减少了磁盘访问的时间。
第 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:3005->IR;步骤 2:3->AC步骤 3:5940->IR;步骤 4:3+2=5->AC步骤 5:7006->IR:步骤 6:AC->设备 61.2 、本章中用 6 步来描述图 1.4 中的程序执行情况,请使用MAR和 MBR扩充这个描述。
答案: 1. a. PC 中包含第一条指令的地址300,该指令的内容被送入MAR中。
b. 地址为 300 的指令的内容(值为十六进制数1940)被送入 MBR,并且PC增 1。
这两个步骤是并行完成的。
c.MBR中的值被送入指令寄存器 IR 中。
2.a.指令寄存器 IR 中的地址部分( 940)被送入 MAR中。
b.地址 940 中的值被送入 MBR中。
c.MBR中的值被送入 AC中。
3. a. 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。
操作系统教程第 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)空分复用共享资源从空间上分割成更小的单位供进程使用。
虚拟内存8.1 简单分页与虚拟分页有什么区别?简单分页:一个程序中的所有的页都必须在主存储器中程序才能正常运行,除非使用覆盖技术。
虚拟内存分页:不是程序的每一页都必须在主存储器的帧中来使程序运行,页在需要的时候进行读取。
8.2 解释什么是抖动。
虚拟内存结构的震动现象,在这个过程中处理器大部分的时间都用于交换块,而不是执行指令。
8.3 为什么在使用虚拟内存时,局部性原理是至关重要的?可以根据局部性原理设计算法来避免抖动。
总的来说,局部性原理允许算法预测哪一个当前页在最近的未来是最少可能被使用的,并由此就决定候选的替换出的页。
8.4 哪些元素是页表项中可以找到的元素?简单定义每个元素。
帧号:用来表示主存中的页来按顺序排列的号码。
存在位(P):表示这一页是否当前在主存中。
修改位(M):表示这一页在放进主存后是否被修改过。
8.5 转移后备缓冲器的目的是什么?转移后备缓冲器()是一个包含最近经常被使用过的页表项的高速缓冲存储器。
它的目的是为了减少从磁盘中恢复一个页表项所需的时间。
8.6 简单定义两种可供选择的页读取策略。
在请求式分页中,只有当访问到某页中的一个单元时才将该页取入主存。
在预约式分页中,读取的并不是页错误请求的页。
8.7 驻留集管理和页替换策略有什么区别?驻留集管理主要关注以下两个问题:(1)给每个活动进程分配多少个页帧。
(2)被考虑替换的页集是仅限在引起页错误的进程的驻留集中选择还是在主存中所有的页帧中选择。
页替换策略关注的是以下问题:在考虑的页集中,哪一个特殊的页应该被选择替换。
8.8 和页替换算法有什么区别?时钟算法与算法很接近,除了在时钟算法中,任何一个使用位为一的页被忽略。
8.9 页缓冲实现的是什么?(1)被替换出驻留集的页不久又被访问到时,仍在主存中,减少了一次磁盘读写。
(2)被修改的页以簇的方式被写回,而不是一次只写一个,这就大大减少了操作的数目,从而减少了磁盘访问的时间。
8.10 为什么不可能把全局替换策略和固定分配策略组合起来?固定分配策略要求分配给一个进程的帧的数目是确定的,当一个进程中取入一个新的页时,这个进程的驻留页集中的一页必须被替换出来(保持分配的帧的数目不变),这是一种局部替换策略。
8.11 驻留集和工作集有什么区别?一个进程的驻留集是指当前在主存中的这个进程的页的个数。
一个进程的工作集是指这个进程最近被使用过的页的个数。
8.12 请求式清除和预约式清除有什么区别?在请求式清除中,只有当一页被选择用于替换时才被写回辅存;在预约式清除中,将这些被修改的多个页在需要用到它们所占据的页帧之前成批的写回辅存。
习题解答8.1 假设在处理器上执行的进程的也表如下所示。
所有数字均为十进制数,每一项都是从0开始记数的,并且所有的地址都是内存字节地址。
页尺寸为1024个字节。
虚拟页号有效位访问位修改位页帧号0 1 1 0 41 1 1 1 72 0 0 0 —3 1 0 0 24 0 0 0 —5 1 0 1 0 a.描述产生的虚拟地址通常是如何转化成一个物理主存地址的。
b.下列虚拟地址对应于哪个物理地址(不用考略页错误)?(i)1052()2221()5499解答a:由虚拟地址求得页号和偏移量,用虚拟页号作为索引页表,得到页帧号,联系偏移量得到物理地址b:(i)1052=1024+28 查表对应的页帧号是7,因此物理地址为7*1024+28=7196()2221=2*1024+173 此时出现页错误()5499=5*1024+379 对应的页帧号为0 因此物理地址是379 8.2 考虑一个使用32位的地址和1大小的页的分页虚拟内存系统。
每个页表项需要32位。
需要限制页表的大小为一个页。
a.页表一共需要使用几级?b.每一级页表的大小是多少?提示:一个页表的大小比较小。
c.在第一级使用的页较小与在最底下一级使用的页较小相比,那种策略使用最小个数的页?解答a:虚拟内存可以分为232/210= 222页,所以需要22个来区别虚拟内存中的一页,每一个页表可以包含210/4=28项,因此每个页表可以包含22中的8个,所以需要三级索引。
b:第二级页表有28个页表项,第一级页表有26个页表项。
c:如果顶层有26个页表项将会减少使用空间,在这种情况下,中间层页表有26个并且每个都有28个页表项,底层有214个页并且每个都有28个页表项,因此共有1+26+214页=16,449页。
如果中间层有26个页表项,那么总的页数有1+28+214页=16,641页。
如果底层有26个页表项,那么总的页表数是1+28+216页=65,973页。
8.3 a:图8.4中的用户表需要多少内存空间?b:假设需要设计一个哈希反向页表来实现与图8.4中相同的寻址机制,使用一个哈希函数来将20位页号映射到6位哈希表。
表项包含页号帧号和链指针。
如果页表可以给每个哈希表项分配最多3个溢出项的空间,则哈希反向页表需要占用多大的内存空间?解答a:4b:行数:26+2=128项。
每项包含:20(页号)+20(帧号)+8(链索引)=486。
总共:128*6=7688.4 一个进程分配给4个页帧(下面的所有数字均为十进制数,每一项都是从0开始计数的)。
上一次把一页装入到一个页帧的时间,上一次访问页帧中的页的时间,每个页帧中的虚拟页号以及每个页帧的访问位(R)和修改位(M)如下表所示(时间均为从进程开始到该事件之间的时钟时间,而不是从事件发生到当前的时钟值)。
虚拟页号页帧加载时间访问时间R位M位2 0 60 161 0 11 1 130 160 1 00 2 26 162 1 03 3 20 163 1 1当虚拟页4发生错误时,使用下列内存管理策略,哪一个页帧将用于置换?解释原因。
(先进先出)算法(最近最少使用)算法算法d.最佳(使用下面的访问串)算法e.在页错误之前给定上述内存状态,考虑下面的虚拟页访问序列:4,0,0,2,4,2,1,0,3,2如果使用窗口大小为4的工作集策略来代替固定分配,会发生多少页错误?每个页错误何时发生?解答a:页帧3,在时间20加载,时间最长。
b:页帧1,在时间160访问距现在时间最长。
c:清除页帧3的R位(最早加载),清除页帧2的R位,(次最早加载),换出的是页帧0因为它的R位为0。
d:换出的是页帧3中的虚拟页3,因为它将最晚被访问到。
e:一共有6个错误,如下8.5 一个进程访问5页:和E,访问顺序如下:假设置换算法为先进后出,该进程在主存中有三个页帧,开始时为空,请查找在这个访问顺序中传送的页号。
对于4个页帧的情况,请重复上面的过程。
解答分别有9次和10次页错误,这被称之为“′s现象”("a ," , , 1969.)8.6 一个进程在磁盘上包含8个虚拟页,在主存中固定分配给4个页帧。
发生如下顺序的页访问:1,0,2,2,1,7,0,1,2,0,3,0,4,5,1,5,2,4,5,6,7,6,7,2,4,2,7,3,3,2,3a.如果使用替换策略,给出相继驻留在这4个页帧中的页。
计算主存的命中率。
假设这些帧最初是空的。
b.如果使用策略,重复问题(a)。
c.比较使用这两种策略的命中率。
解释为什么这个特殊的访问顺序,使用的效率接近于。
解答:命中率=16/33:命中率=16/33c:这两种策略对这个特殊的页轨迹(执行顺序)是等效的。
8.7 在中,用户页表以系统空间的虚拟地址进行定位。
让用户页表位于虚存而不是主存中有什么好处?有什么缺点?解答最主要的优点是在物理内存空间上的节省。
这主要是两方面的原因:(1)一个用户页表可以仅当使用时才取入内存。
(2)操作系统可以动态的分配用户页表,产生一个页表仅当程序被创建时。
当然,也有一个缺点:地址转换需要多余的工作。
8.8 假设在主存中执行下列程序语句:(1≤)a[i][i][i];页尺寸为1000个字。
令1000。
使用一台具有所有寄存器指令并使用了索引寄存器的机器,写出实现上述语句的一个假想程序,然后给出在执行过程中的页访问顺序。
解答由机器语言编写的程序,在主存中地址4000处开始运行。
运行情况如下:4000 (R1)←1 建立索引记录i4001 (R1)←n 在R2中建立n4002 比较R2,R1 检查i﹥n4003 如果大于则跳转到40094004 (R3)←B(R1)使用索引记录R1到达B[i]4005 (R3)←(R3)(R1)使用索引记录R1加上C[i]4006 A(R1)←(R3)使用索引记录R1将总和存入A[i]中4007 (R1)←(R1)+1 i加一4008 跳到40026000—6999 存储A7000—7999 存储B8000—8999 存储C9000 存储19001 存储n由这个循环产生的参考串为494944(47484649444)1000包括11.000个参考,但仅包括5个不寻常的页8.9 370体系结构使用两级存储器结构,并且分别把这两级称为段和页,这里的分段方法缺少本章所描述的关于段的许多特征。
对于这个基本的370体系结构,页尺寸可以是2或4,段大小固定为64或1。
这种方案缺少一般分段系统的那些优点?370的分段方法有什么好处?解答370分段系统是固定的且对程序员是不可见的,因此没有一个分段系统的优点在370中实现(无保护情况下)每一个段表项的P 位提供整个段表的保护。
8.10 假设页尺寸为4,页表项大小位4字节。
如果要映射一个64位地址空间,并且最顶层的页表对应于一页,则需要几级页表?解答因为每个页表项有4,每个页表有4,所以每个页表可以映射1024=210个页,标识出210×212=222的地址空间。
然而,地址空间是264。
增加一个二层页表,顶层页表指向210个页表,标识出232个页表,将这个过程继续下去就得到:深度地址空间1 2222 2323 2424 2525 2626 272(﹥264)我们可以看到5层是不够表示64位的地址空间,但是6层达到了要求。
但是6层中只有2位被使用,而不是全部的10位。
所以不是使用72位的虚拟地址空间,而是将除了最低两位外的其他位全部屏蔽忽略。
这样将会得到一个64位地址空间,顶层页只有4个页表项。
另外一种方法是修改规则将顶层页做成一个单独的物理页并且让它适合4个页。
这样将会节省一个页。
8.11 考虑一个系统该系统采用基于页的内存映射,并使用一级页表。
假设页表总是在主存中。
a.如果一次存储器访问需要200,那么一次需要调页的存储器访问要多长时间?b.现在增加一个,在命中或未命中时有20的开销。
如果假设有85%的存储器访问命中都在中,那么哪些是有效的存储器访问时间?c.解释命中率如何影响有效的存储器访问时间。
解答a.400。