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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

《现代操作系统第四版》第三章答案Word文档格式.docx

1、读或写32位长的字需要10ns的时间,紧缩128MB大概需要多长时间?为了简 单起见,假设空闲区中含有字 0,内存中最高地址处含有有效数据。 32bit=4Byte= 每字节 10/4=2.5 ns 128MB=1282A20=2A27Byte 对每个字节既要读又要写,22.5*2A27=671ms4.在一个交换系统中,按内存地址排列的空闲区大小是 10MB, 4MB, 20MB,18MB, 7MB, 9MB, 1 2 M B ,和1 5 M B 。对于连续的段请求:(a)12MB(b)10MB(c)9MB 使用首次适配算法, 将找出哪个空闲区?使用最佳适配、 最差适配、 下次适配算 法呢?A

2、: 首次适配算法: 20MB ,10MB ,18MB ; 最佳适配算法: 12MB ,10MB ,9MB; 最差适配算法: 20MB ;18MB ;15MB ; 下次适配算法: 9MB;5.物理地址和虚拟地址有什么区别?实际内存使用物理地址。这些是存储器芯片在总线上反应的数字。虚拟地址是指一个进程的地址空间的逻辑地址。因此,具有 32 位字的机器可以生成高达4GB 的虚拟地址,而不管机器的内存是否多于或少于 4GB。6.对下面的每个十进制虚拟地址,分別使用 4KB页面和8KB页面计算虚拟页号和偏移量: 20000 , 32768, 60000 。 转换为二进制分别为: 010011100010

3、0000 虚拟地址应该是 16 位 1000000000000000 1110101001100000 4KB 页面偏移量范围 0 4027,需要 12位来存储偏移量,剩下4位作为页号;同理8KB页面需要13位来存储偏移 量,剩下 3 位作为页号; 所以, 4KB | 8KB 页号 | 偏移量 | 页号 | 偏移量 20000 | 0100 111000100000 | 010 0111000100000 32768 | 1000 000000000000 | 100 0000000000000 60000 | 1110 101001100000 | 111 01010011000007.使用

4、图 3-9 的页表,给出下面每个虚拟地址对应的物理地址:(a)20(b)4100(c)8300 (a)20+40962=8212 (b) 4100=4096+ (4100-4096 ) =4100 (c)8300=64096+ (8300-4096*2 )=246848.Inlel 8086 处理器不支持虚拟内存,然而一些公司曾经设计过包含未作任何改 动的 8086 CPU 的分页系统。猜想一下,他们是如何做到这一点的。 (提示:考 虑 MMU 的逻辑位置。)他们制作了 MMU,并连接在CPU与地址总线之间,这样从处理器进入 MMU 的地址全部被视为虚拟地址, 并被转换为物理地址, 然后被送到

5、地址总线, 映射 到内存中。9.为了让分页虚拟内存工作,需要怎样的硬件支持?需要一个 MMU 能够将虚拟页面重新映射到物理页面。 此外,当缺页中断时, 需要对操作系统设置陷阱,以便可以获取页面。10.写时复制是使用在服务器系统上的好方法,它能否在手机上起作用。 “写时复制 “技术,也就是只有进程空间的各段的内容要发生变化时, 才会将 父进程的内容复制一份给子进程。 如果智能手机支持多重编程, iPhone 、 Android 和 Windows 手机都支持多重编程,那么支持多个进程。如果进程发出fork() 系统调用和页面在父进程和子进程之间共享,则复制对写是有意义的。智能手机比服务器小,但从

6、逻辑上讲,它并没有什么不同11.考虑下面的 C 程序:int XN;int step = M; /M 是某个预定义的常量for (int i = 0; i N; i += step) Xi = Xi + 1;a)如果这个程序运行在一个页面大小为 4KB且有64个TLB表项的机器上时,M 和 N 取什么值会使得内层循环的每次执行都会引起 TLB 失效 ?b)如果循环重复很多遍,结果会和 a)的答案相同吗?请解释。 a)M必须至少为1024,以确保对X元素的每一次访问都有一个 TLB缺失。因 为 N 只影响 X 访问多少次, N 取大于 M 的任何值都可以。 b)M 应该至少是 1024,以确保对

7、X元素的每次访问都遗漏 TLB。但是现在N应该大于64K,以 便处理TLB,也就是说,X应该超过256KB。12.存储页面必须可用的磁盘空间和下列因素有关: 最大进程数 n ,虚拟地址空间的字节数v,RAM的字节数r,给出最坏情况下磁盘空间需求的表达式。这个数 量的真实性如何?所有进程的整个虚拟地址空间为 nv,这就是页面存储所需的。不过,可以在 RAM中存储量为r,因此需要的磁盘存储量仅为 nv-r。该量比实际所需的要大 得多,因为极少有 n 个进程实际运行, 而且这些进程也极少需要其最大允许的虚拟内存13.如果一条指令执行1ns,缺页中断执行额外的Nns,且每条k指令产生一个缺页,请给出一

8、个公式,计算有效指令时间。 (1*(k-1)+(1+N)/k = 1+N/k ns14.一个机器有 32 位地址空间和 8KB 页面,页表完全用硬件实现,页表的每一 表项为一个 32 位字。进程启动时,以每个字 100ns 的速度将页表从内存复制到 硬件中。如果每个进程运行100ms (包含装入页表的时间)用来装人页表的CPU 时间的比例是多少? 32 位地址空间构成 4GB 内存空间, 4GB/8KB=512 个页面,页表项 512 项,页表大小512 32=2X4 bit复制页表的时间=2A14/2A5*10ns = 5120 ns, 时间 比例 5120ns/100ms=5120 -10

9、)A( 100 -3)0=51.2% 8KB 页面大小,需要13 位偏移量,故页号有 19 位,页面有 2A19 个,页表项也是 2A19 个,每项 32位字。 2A19 100ns/100ms=52.4288%15.假设一个机器有 48 位的虚拟地址和 32 位的物理地址。a)假设页面大小是4KB,如果只有一级页表,那么在页表里有多少页表项? 请解释。b)假设同一系统有32个TLB表项,并且假设一个程序的指令正好能放入一个页,并且该程序顺序地从有数千个页的数组中读取长整型元素。 在这种情况下TLB的 效果如何?a)页面大小4KB,偏移量有12位,则页号有36位,有2A36项页表项;b)TLB

10、 访问的命中率达 100%。在指令访问下一个页面之前读取数据的命中率是 100%,一个 4KB 大小的页面包含 1024 个长整型数据, 每访问 1024 个数据就会 有一次 TLB 失效。16.给定一个虚拟内存系统的如下数据:(a)TLB有1024项,可以在1个时钟周期(1ns)内访问。(b)页表项可以在100时钟周期(100ns)内访问。(c)平均页面替换时间是6ms。如果TLB处理的页面访问占99%并且0.01%勺页面访问会发生缺页中断,那么 有效地址转换时间是多少? 99% 1 ns+1% 99.99% 100ns+1% 0.01% 6ms=7.9999 1ns+0.99% 100ns

11、+0 .01% 6ms601.98ns17.假设一个机器有 38 位的虚拟地址和 32 位的物理地址。a)与一级页表比较,多级页表的主要优点是什么?b)若采用二级页表,页面大小为16KB,每个页表项为4字节,应该对第一级页 表域分配多少位 ,对第二级页表域分配多少位?请解释原因 a)避免把全部页表一直保存在内存中。 b) ” 16KB个页 估计是指这个二 级页表的大小是16KB,故页表项有16KB/4B=4K个,二级页表域需要12位, 四字节表项说明页面大小是12页面大小16KB,则偏移量需要14位,每个条目4 字节18.在 3.3.4 节的陈述中,奔腾 Pro 将多级页表中的每个页表项扩展到

12、 64 位,但 仍只能对 4GB 的内存进行寻址。请解释页表项为 64 位时,为何这个陈述正确。虽然页表项扩展了,但是虚拟内存地址依然只有 32位。19.个 32 位地址的计算机使用两级页表。 虚拟地址被分成 9 位的顶级页表域、11 位的二级页表域和一个偏移量,页面大小是多少?在地址空间中一共有多少 个页面?页面大小与偏移量位数有关=2A12Byte=4KB,每个地址对应内存一个字节, 地址空间的页面数量=2八20个。20.一个计算机使用 32 位的虚拟地址, 4KB 大小的页面。 程序和数据都位于最低 的页面(04095 ),栈位于最高的页面。如果使用传统(一级)分页,页表中需 要多少个表

13、项?如果使用两级分页,每部分有 10 位,需要多少个页表项?32 位地址对应 4GB 内存,有 4GB/4KB=2A20 个页面 ,如果使用传统(一级) 分页:需要 2A20 个页表项;如果使用两级分页,顶级页表有 2A10 个页表项, 其中三项指向二级页表 (程序段、 数据段、堆栈段),二级页表每个也有有 2A10 个页表项,总共 2A12 个页表项。21.如下是在页大小为 512 字节的计算机上,一个程序片段的执行轨迹。这个程 序在 1020 地址,其栈指针在 8192(栈向 0 生长)。请给出该程序产生的页面访 问串。每个指令(包括立即常数)占 4 个字节( 1 个字)。指令和数据的访问

14、都要在访问串中计数 将字 6144 载入寄存器 0寄存器 0 压栈调用 5120 处的程序,将返回地址压栈栈指针减去立即数 16比较实参和立即数 4如果相等,跳转到 5152 处程序地址范围10201532。页面访问串:6144-8191 5120 8190 8184 5152. A :每个页面512B , 1020地址属于5121023,即页面1;栈指针 8192 属于 81928704 ,即页面 16,但是栈向 0 生长,故寄存器压 栈到 81918188,属于页面 15;5152 地址属于 51205631,即页面 10. 每 条指令 4 个字节,故第一条指令在地址范围 10201023,属于页面 1;第二条 指令在地址范围 10241027,属于页面 2;第三条指令地址也在页面 2,但是 将数据压栈到页面 15 了。 LOAD 6144,R0 1(I), 12(D) PUSH R0 2(I), 15(D) CALL 5120 2(1), 15(D) JEQ 5152 10(1) 代码(I)指示指令

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

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