操作系统概念第八章部分作业题答案

操作系统概念第八章部分作业题答案题目一:试说明内部碎片和外部碎片之间的差别解答:内部碎片是指进程所分配的内存可能比进程所需要的大外部碎片是指由于进程的大小不一导致内存被分成小片段且不连续,造成空间浪费。题目二:考虑一个页表在内存中的内存分页系统:(1)如果内存访问的时间为200ns,试问访问页表中的一个数据需要多长时间?(2)如果增加TLB,其中90%的页引用被TLB命中,TLB的访问时间为10n…

大家好,又见面了,我是你们的朋友全栈君。

题目一:

试说明内部碎片和外部碎片之间的差别
解答:
内部碎片是指进程所分配的内存可能比进程所需要的大
外部碎片是指由于进程的大小不一导致内存被分成小片段且不连续,造成空间浪费。

题目二:

考虑一个页表在内存中的内存分页系统:
(1)如果内存访问的时间为 200ns,试问访问页表中的一个数据需要多长时间?
(2)如果增加 TLB,其中 90% 的页引用被 TLB 命中,TLB 的访问时间为 10ns,请问有效内存访问时间是多少?。
解答:
(1)由于内存访问的时间为200ns,访问数据首先需要访问页表,页表在内存中,也就是说需要200ns的时间;而从页表中找到物理地址后,再去找到数据,又需要访问一次内存,也就是需要200ns的时间,总共为200+200=400ns。
(2)首先,TLB的使用方法有两种:
①TLB与页表同时进行访问,这个时候,如果TLB命中,那么就可以终止对页表的访问,而通过TLB找到的物理地址去找数据,相当于一次TLB访问+一次内存访问=10+200=210ns;如果TLB不命中,那么继续对页表进行访问,再通过物理地址去找数据,仍旧是两次内存访问的时间,为400ns。此时,再计算命中率,可以得到公式:21090%+40010%=229ns
②TLB先于页表进行访问,这个时候,会有10ns的时间,如果TLB命中,就只需要一次内存访问的时间,为200ns;如果TLB不命中,那么需要对页表进行访问,再通过物理地址去找数据,需要400ns,此时,我们可以得到公式:10+20090%+40010%=230ns。

题目三:

考虑表1中所示段表:
请给出下列逻辑地址对应的物理地址。
(1)0,120
(2)1,120
(3)2,120
(4)3,120
(5)4,120
在这里插入图片描述
解答:
(1):通过段号0找到第0段,此时的基址219,这一段的长度为600,我们想要第120位的地址,在段内,由此得到对应的物理地址为219+120=339
(2):通过段号1找到第1段,此时的基址2300,这一段的长度为14,我们想要第120位的地址,不在段内,非法
(3):通过段号2找到第2段,此时的基址90,这一段的长度为100,我们想要第120位的地址,不在段内,非法
(4):通过段号3找到第3段,此时的基址1327,这一段的长度为580,我们想要第120位的地址,在段内,由此得到对应的物理地址为580+120=700
(5):通过段号4找到第4段,此时的基址1952,这一段的长度为96,我们想要第120位的地址,不在段内,非法

题目四:

试按要求设计多级分页系统:(1)逻辑地址为 48 位;(2)物理地址为 48 位;(3)页大小为 1M;(4)各级页表中的页表项均不得超过 1K 项;
请给出设计的要点,包括地址划分,各级页表项数,逻辑地址到物理地址的转换方法等。
解答:
通过页大小为1M,我们可以得到页偏移d=20
我们可以得到逻辑地址为:p=48-20=28,d=20
我们可以得到物理地址为:f=48-20=28,d=20
此时我们如果直接进行分页,我们的页表将会包含2^28项,远远超过1K
所以,我们需要进行层次化
由于我们页表项最大为1K,所以我们至少需要三级页表,如:10,10,8,效果如下:
在这里插入图片描述
而同样的,我们此时的逻辑地址会划分为:p1=10,p2=10,p3=8,d=20
首先,通过第二级外部页表的第p1项,找到相应的外部页表的指针(或者说首地址,这里需要根据实现方法,总之是找到外部页表)
然后,通过找到的外部页表的第p2项,找到相应的内部页表的指针(或者说首地址,这里需要根据实现方法,总之是找到内部页表)
最后,通过找到的内部页表的第p3项,找到相应的物理地址的f片段,再根据找到的f片段与页偏移d片段组合,得到我们的物理地址。
这种三级页表方法,第二级外部页表有210项,每一项对应一个外部页表;每一个外部页表有210项,每一项对应一个内部页表;每一个内部页表有2^8项,每一项对应一个帧的首地址的物理地址的f片段
转换方法如上所示。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/159060.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号