操作系统第五版答案复习题及习题解答.docx
- 文档编号:1780103
- 上传时间:2022-10-24
- 格式:DOCX
- 页数:11
- 大小:23.86KB
操作系统第五版答案复习题及习题解答.docx
《操作系统第五版答案复习题及习题解答.docx》由会员分享,可在线阅读,更多相关《操作系统第五版答案复习题及习题解答.docx(11页珍藏版)》请在冰豆网上搜索。
操作系统第五版答案复习题及习题解答
虚拟内存
8.1简单分页与虚拟分页有什么区别?
简单分页:
一个程序中的所有的页都必须在主存储器中程序才能正常运行,除非使用覆盖技术。
虚拟内存分页:
不是程序的每一页都必须在主存储器的帧中来使程序运行,页在需要的时候进行读取。
8.2解释什么是抖动。
虚拟内存结构的震动现象,在这个过程中处理器大部分的时间都用于交换块,而不是执行指令。
8.3为什么在使用虚拟内存时,局部性原理是至关重要的?
可以根据局部性原理设计算法来避免抖动。
总的来说,局部性原理允许算法预测哪一个当前页在最近的未来是最少可能被使用的,并由此就决定候选的替换出的页。
8.4哪些元素是页表项中可以找到的元素?
简单定义每个元素。
帧号:
用来表示主存中的页来按顺序排列的号码。
存在位(P):
表示这一页是否当前在主存中。
修改位(M):
表示这一页在放进主存后是否被修改过。
8.5转移后备缓冲器的目的是什么?
转移后备缓冲器()是一个包含最近经常被使用过的页表项的高速缓冲存储器。
它的目的是为了减少从磁盘中恢复一个页表项所需的时间。
8.6简单定义两种可供选择的页读取策略。
1/17
在请求式分页中,只有当访问到某页中的一个单元时才将该页取入主存。
在预约式分页中,读取的并不是页错误请求的页。
8.7驻留集管理和页替换策略有什么区别?
驻留集管理主要关注以下两个问题:
(1)给每个活动进程分配多少个页帧。
(2)被考虑替换的页集是仅限在引起页错误的进程的驻留集中选择还是在主存中所有的页帧中选择。
页替换策略关注的是以下问题:
在考虑的页集中,哪一个特殊的页应该被选择替换。
8.8和页替换算法有什么区别?
时钟算法与算法很接近,除了在时钟算法中,任何一个使用位为一的页被忽略。
8.9页缓冲实现的是什么?
(1)被替换出驻留集的页不久又被访问到时,仍在主存中,减少了一次磁盘读写。
(2)被修改的页以簇的方式被写回,而不是一次只写一个,这就大大减少了操作的数目,从而减少了磁盘访问的时间。
8.10为什么不可能把全局替换策略和固定分配策略组合起来?
固定分配策略要求分配给一个进程的帧的数目是确定的,当一个进程中取入一个新的页时,这个进程的驻留页集中的一页必须被替换出来(保持分配的帧的数目不变),这是一种局部替换策略。
8.11驻留集和工作集有什么区别?
一个进程的驻留集是指当前在主存中的这个进程的页的个数。
一2/17
个进程的工作集是指这个进程最近被使用过的页的个数。
8.12请求式清除和预约式清除有什么区别?
在请求式清除中,只有当一页被选择用于替换时才被写回辅存;在预约式清除中,将这些被修改的多个页在需要用到它们所占据的页帧之前成批的写回辅存。
习题解答
8.1假设在处理器上执行的进程的也表如下所示。
所有数字均为十进制数,每一项都是从0开始记数的,并且所有的地址都是内存字节地址。
页尺寸为1024个字节。
虚拟页号有效位访问位修改位页帧号
40110
71111
—2000
20103
—0040
0
0
1
5
1
描述产生的虚拟地址通常是如何转化成一个物理主存地址a.的。
下列虚拟地址对应于哪个物理地址(不用考略页错误)?
b.(i)1052
()2221
()5499
解答
a:
由虚拟地址求得页号和偏移量,用虚拟页号作为索引页表,得到页帧号,联系偏移量得到物理地址
3/17
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.3a:
图8.4中的用户表需要多少内存空间?
4/17
b:
假设需要设计一个哈希反向页表来实现与图8.4中相同的寻址机制,使用一个哈希函数来将20位页号映射到6位哈希表。
表项包含页号帧号和链指针。
如果页表可以给每个哈希表项分配最多3个溢出项的空间,则哈希反向页表需要占用多大的内存空间?
解答
a:
4
b:
行数:
26+2=128项。
每项包含:
20(页号)+20(帧号)+8(链索引)=486。
总共:
128*6=768
8.4一个进程分配给4个页帧(下面的所有数字均为十进制数,每一项都是从0开始计数的)。
上一次把一页装入到一个页帧的时间,上一次访问页帧中的页的时间,每个页帧中的虚拟页号以及每个页帧的访问位(R)和修改位(M)如下表所示(时间均为从进程开始到该事件之间的时钟时间,而不是从事件发生到当前的时钟值)。
虚拟页号页帧加载时间访问时间R位M位
106020161
0111130160
001216226
1
3
163
3
1
20
当虚拟页4发生错误时,使用下列内存管理策略,哪一个页帧将用于置换?
解释原因。
(先进先出)算法
(最近最少使用)算法
5/17
算法
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个页帧的情况,请重复上面的过程。
解答
6/17
分别有9次和10次页错误,这被称之为“′s现象”(
1969.a,,)
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,3
a.如果使用替换策略,给出相继驻留在这4个页帧中的页。
计算主存的命中率。
假设这些帧最初是空的。
b.如果使用策略,重复问题(a)。
c.比较使用这两种策略的命中率。
解释为什么这个特殊的访问顺序,使用的效率接近于。
解答
:
命中率=16/33
:
命中率=16/33
c:
这两种策略对这个特殊的页轨迹(执行顺序)是等效的。
8.7在中,用户页表以系统空间的虚拟地址进行定位。
让用户页7/17
表位于虚存而不是主存中有什么好处?
有什么缺点?
解答
最主要的优点是在物理内存空间上的节省。
这主要是两方面的原因:
(1)一个用户页表可以仅当使用时才取入内存。
(2)操作系统可以动态的分配用户页表,产生一个页表仅当程序被创建时。
当然,也有一个缺点:
地址转换需要多余的工作。
8.8假设在主存中执行下列程序语句:
(1≤)
a[i][i][i];
页尺寸为1000个字。
令1000。
使用一台具有所有寄存器指令并使用了索引寄存器的机器,写出实现上述语句的一个假想程序,然后给出在执行过程中的页访问顺序。
解答
由机器语言编写的程序,在主存中地址4000处开始运行。
运行情况如下:
4000(R1)←1建立索引记录i
4001(R1)←n在R2中建立n
4002比较R2,R1检查i﹥n
4003如果大于则跳转到4009
4004(R3)←B(R1)使用索引记录R1到达B[i]
4005(R3)←(R3)(R1)使用索引记录R1加上C[i]
4006A(R1)←(R3)使用索引记录R1将总和存入A[i]中
8/17
4007(R1)←(R1)+1i加一
4008跳到4002
6000—6999存储A
7000—7999存储B
8000—8999存储C
9000存储1
9001存储n
由这个循环产生的参考串为
494944(47484649444)1000
包括11.000个参考,但仅包括5个不寻常的页
8.9370体系结构使用两级存储器结构,并且分别把这两级称为段和页,这里的分段方法缺少本章所描述的关于段的许多特征。
对于这个基本的370体系结构,页尺寸可以是2或4,段大小固定为64或1。
这种方案缺少一般分段系统的那些优点?
370的分段方法有什么好处?
解答
370分段系统是固定的且对程序员是不可见的,因此没有一个分段系统的优点在370中实现(无保护情况下)每一个段表项的P位提供整个段表的保护。
8.10假设页尺寸为4,页表项大小位4字节。
如果要映射一个64位地址空间,并且最顶层的页表对应于一页,则需要几级页表?
9/17
解答
因为每个页表项有4,每个页表有4,所以每个页表可以映射1024=210个页,标识出210×212=222的地址空间。
然而,地址空间是264。
增加一个二层页表,顶层页表指向210个页表,标识出232个页表,将这个过程继续下去就得到:
深度地址空间
2221
2322
2423
2524
2625
2726
(﹥264)
我们可以看到5层是不够表示64位的地址空间,但是6层达到了要求。
但是6层中只有2位被使用,而不是全部的10位。
所以不是使用72位的虚拟地址空间,而是将除了最低两位外的其他位全部屏蔽忽略。
这样将会得到一个64位地址空间,顶层页只有4个页表项。
另外一种方法是修改规则将顶层页做成一个单独的物理页并且让它适合4个页。
这样将会节省一个页。
8.11考虑一个系统该系统采用基于页的内存映射,并使用一级页表。
假设页表总是在主存中。
a.如果一次存储器访问需要200,那么一次需要调页的存储器访问要多长时间?
b.现在增加一个,在命中或未命中时有20的开销。
如果假设有85%的存储器访问命中都在中,那么哪些是有效的存储器访问时间?
10/17
c.解释命中率如何影响有效的存储器访问时间。
解答
a.400。
200用来得到页表项,200用来到达存储位置
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 操作系统 第五 答案 复习题 习题 解答