第五章 存储管理【操作系统】
1.有作业序列:[A, B, C]分别要求内存大小为[21K,30K,25K],系统中空闲区(以K为单位)如图所示,请给出最先适配、最佳适配、最差适配三种算法组成的空闲区链表,再分析哪种适配算法合适。(若进程序列[A,B,C]要求的内存大小为A=18K,B=25K,C=30K,哪种算法更合适?)(20分)
? ? ? ? ? ? ??
参考答案:
[A:21K,B:30K,C:25K]最先适配算法和最佳适配无法给C分配内存,但最差适配可以完美给三个进程分配内存。
[A:18K,B:25K,C:30K]最先适配和最差适配算法无法给C分配内存,但最佳适配可以完美给三个进程分配内存。
2.在某分页存储管理系统中,逻辑地址长度为16位,页面大小为4096B,现有一逻辑地址为2FA6H,且第0,1,2页依次存放在物理帧第5、10、11帧中,问相对应的物理地址为多少?(以16进制给出物理地址)(20分)
解答:
由4096B页面大小,可知逻辑地址低12位作为页内偏移,逻辑地址总长16位,故高4位用于表示页号,2FA6H的逻辑地址,其虚拟页号为2,对应物理帧为11,因此拼接上页内偏移FA6H,得到物理地址为BFA6H.
3.? 设某计算机的逻辑地址空间和物理地址空间均为64KB,按字节编址。若某进程最多需要6页,页的大小为1KB,操作系统采用固定分配局部置换策略为此进程分配4个块,页表如下所示。
当前时刻,要访问逻辑地址为17CAH(十六进制)的数据,请回答下列问题:
(1)该逻辑地址对应的页号是多少?(5分)
(2)若分别采用先进先出、最近最久未使用、CLOCK置换算法,该逻辑地址对应的物理地址分别是多少(用十六进制表示)?要求给出计算过程。(15分)
解答:
由题地址空间为64KB,页的大小为1K,按字节编址,可知逻辑地址和物理地址均为16位,高6位作为页号,其余10位为页内偏移地址。
(1)17CAH=0001011111001010B,该逻辑地址的页号为000101H=5,其不在内存,页内地址为970。
(2)采用先进先出,应置换出3号页,对应帧号为9=1001B,则物理地址为1001B和1111001010B拼接,得10 0111 1100 1010B=27CAH (9*1024+970=10186);
采用最近最久未使用,应置换出0号页,对应帧号为7=0111B,则物理地址为0111B和1111001010B拼接,得01 1111 1100 1010B=1FCAH(7*1024+970=8138);
采用改进型Clock算法,应置换出2号页,对应帧号为2=0010B,则物理地址为0010B和1111001010B的拼接,得00 1011 1100 1010B=0BCAH(2*1024+970=3018)。
(题目写的是Clock,若有同学用普通Clock得到和第二个一样的答案也算对)
4.一个程序段表如右表所示,写出下列指令在执行时产生的结果。 (20分)
(1)STORE R1,[0,70]
(2)STORE R1,[1,20]
(3)LOAD R1,[3,20]
(4)LOAD R1,[3,100]
(5)JMP [2,100]
解答:
(1)从段表中可知,0号段的存在位为0,表示相应的段没有装入内存,因此产生缺段中断;
(2) 从段表中可知,1号段的存在位为1,且地址合法。但指令对内存的访问方式为写与存取控制字段的只读不符,故产生越权中断;
(3) 从段表中可知,3号段的存在位为1,且地址合法,内存起始地址为8000,段长80,存取控制为读,访问方式也合法。形成物理地址8000+20=8020后,指令把该单元的内容载入到寄存器R1中;
(4) 从段表中可知,3号段的存在位为1,段内地址100>段长80,产生越界中断;
(5) 从段表中可知,2号段的存在位为1,且地址合法,访问权限合法。形成物理地址3000+100=3100,跳转到内存单元3100继续执行。
5.设某进程有7个页,若在主存中只允许装4帧(即驻留集为4),进程运行时,实际访问页面的顺序为1,2,3,6,4,7,3,2,1,4,7,5,6,5,2,1。试用FIFO和LRU页面置换算法列出各自页面淘汰顺序和缺页中断次数,以及最后留在主存的4页顺序。(采用预调入策略,一开始4个页已经载入内存)。
解答:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!