现代操作系统 第三章 内存管理 习题答案

  1. 首先,需要使用特殊的硬件进行比较,而且必须快速,因为它用于每个内存引用。第二,使用4位密钥,一次只能在内存中存储16个程序(其中一个是操作系统)。

  2. 这是个意外。基址寄存器是16384,因为程序恰好加载在地址16384。它本来可以放在任何地方。限界寄存器是16384,因为程序包含16384字节。它可以有任何长度。加载地址恰好与程序长度匹配是纯粹的巧合。

  3. 几乎整个存储器都必须被复制,这需要读取每个字,然后在不同的位置重写。 读取4个字节需要4 nsec,因此读取1个字节需要1 nsec,写入需要另外2 nsec,每个字节紧缩总共2 nsec。 这是500,000,000字节/秒的速率。 要复制4 GB(232字节,大约4. 295×109字节),计算机需要232 / 500,000,000秒,大约859毫秒。 这个数字有点麻烦,因为如果内存底部的初始孔是k字节,则不需要复制那些k字节。 但是,如果有许多孔和许多数据段,则孔将很小,因此k将很小并且计算中的误差也会很小。

  4. 首次适配20 MB,10 MB,18 MB。 最佳适配12 MB,10 MB和9 MB。 最差适配20 MB,18 MB和15 MB。 下次适配20 MB,18 MB和9 MB。

  5. 真实内存使用物理地址。 这些是存储器芯片对总线作出反应的数字。 虚拟地址是引用进程地址空间的逻辑地址。 因此,无论机器是否具有比4 GB更多或更少的内存,具有32位字的机器都可以生成高达4 GB的虚拟地址。

  6. 对于4 KB的页面大小,(页面,偏移)对是(4,3616),(8,0)和(14,2656)。 对于8 KB的页面大小,它们是(2,3616),(4,0)和(7,2656)。

  7. (a) 8212. (b) 4100. © 24684.

  8. 他们建立了一个MMU,并将其插入8086和总线之间。因此,所有8086个物理地址作为虚拟地址进入MMU。然后,MMU将它们映射到物理地址上,并发送到总线上。

  9. 需要有一个可以将虚拟页面重新映射到物理页面的MMU。 此外,当引用当前未映射的页面时,需要存在操作系统的陷阱,以便它可以获取页面。

  10. 如果智能手机支持iPhone,Android和Windows手机都支持的多道程序设计,则支持多个进程。 如果父进程和子进程之间共享进程分支和页面,则写入时复制绝对有意义。 智能手机比服务器小,但逻辑上并没有那么不同。

  11. 对于这些尺寸
    (a)M必须至少为4096才能确保每次访问X元素时TLB未命中。由于N仅影响X的访问次数,因此N的任何值都可以。
    (b)M应该至少为4,096,以确保每次访问X元素时TLB未命中。但是现在N应该大于64K以使TLB抖动,即X应该超过256 KB。

  • 8
    点赞
  • 57
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值