第五章 存储管理【操作系统】

1.有作业序列:[A, B, C]分别要求内存大小为[21K30K25K],系统中空闲区(以K为单位)如图所示,请给出最先适配、最佳适配、最差适配三种算法组成的空闲区链表,再分析哪种适配算法合适。(若进程序列[A,B,C]要求的内存大小为A=18KB=25KC=30K,哪种算法更合适?)20分)

第五章 存储管理【操作系统】_第1张图片              

参考答案:

第五章 存储管理【操作系统】_第2张图片

[A:21KB:30KC:25K]最先适配算法和最佳适配无法给C分配内存,但最差适配可以完美给三个进程分配内存。

[A:18KB:25KC:30K]最先适配和最差适配算法无法给C分配内存,但最佳适配可以完美给三个进程分配内存。

2.在某分页存储管理系统中,逻辑地址长度为16位,页面大小为4096B,现有一逻辑地址为2FA6H,且第012页依次存放在物理帧第51011帧中,问相对应的物理地址为多少?(以16进制给出物理地址)(20分)

解答:

4096B页面大小,可知逻辑地址低12位作为页内偏移,逻辑地址总长16位,故高4位用于表示页号,2FA6H的逻辑地址,其虚拟页号为2,对应物理帧为11,因此拼接上页内偏移FA6H,得到物理地址为BFA6H.

3某计算机的逻辑地址空间和物理地址空间均为64KB,按字节编址。若某进程最多需要6页,页的大小为1KB,操作系统采用固定分配局部置换策略为此进程分配4个块,页表如下所示。

第五章 存储管理【操作系统】_第3张图片

当前时刻,要访问逻辑地址为17CAH(十六进制)的数据,请回答下列问题:

1)该逻辑地址对应的页号是多少?(5分)

2)若分别采用先进先出、最近最久未使用、CLOCK置换算法,该逻辑地址对应的物理地址分别是多少(用十六进制表示)?要求给出计算过程。(15分)

解答:

由题地址空间为64KB,页的大小为1K,按字节编址,可知逻辑地址和物理地址均为16位,高6位作为页号,其余10位为页内偏移地址。

117CAH=0001011111001010B,该逻辑地址的页号为000101H=5,其不在内存,页内地址为970

2)采用先进先出,应置换出3号页,对应帧号为9=1001B,则物理地址为1001B1111001010B拼接,得10 0111 1100 1010B=27CAH 9*1024+970=10186);

采用最近最久未使用,应置换出0号页,对应帧号为7=0111B,则物理地址为0111B1111001010B拼接,得01 1111 1100 1010B=1FCAH7*1024+970=8138);

采用改进型Clock算法,应置换出2号页,对应帧号为2=0010B,则物理地址为0010B1111001010B的拼接,得00 1011 1100 1010B=0BCAH2*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]

第五章 存储管理【操作系统】_第4张图片

解答

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),进程运行时,实际访问页面的顺序为1236473214756521。试用FIFOLRU页面置换算法列出各自页面淘汰顺序和缺页中断次数,以及最后留在主存的4页顺序。(采用预调入策略,一开始4个页已经载入内存)

解答:

第五章 存储管理【操作系统】_第5张图片

你可能感兴趣的:(操作系统,操作系统,期末复习,学习)