操作系统课件习题答案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
例1:某分页系统,主存容量为64K,页面大小为1K,对一个4页大的作业,其0、1、2、3页分别被分配到主存的2、4、6、7块中。
将十进制的逻辑地址1023、2500、4500转换为物理地址。
1)逻辑地址1023:1023/1K得页号为0,页内地址为1023,查页表找到对应得物理块为2,故物理地址为2*1K+1023=3071。
2)逻辑地址2500:2500/1K得页号为2,页内地址为452,查页表找到对应得物理块为6,故物理地址为6*1K+452=6596。
3)逻辑地址4500:4500/1K得页号为4,页内地址为404,页号大于页表长度,产生越界中断
例2:某系统有224字节的内存,固定分区的大小为216字节,1)进程表中的每个表项至少要用多少位来记录分配给进程的分区?2)界限寄存器必须要有多少位?
1)224字节/ 216字节= 28字节,因此需要8位来存储28个分区中的一个。
2)固定分区的大小为216字节,故最大合法地址是216-1,二进制中216-1是16位,所以界限寄存器有16位。
例3:在某简单分页系统中,有224字节的物理内存,256页的逻辑地址空间,且页的大小为210字节,问逻辑地址有多少位?
答:逻辑地址空间包括了256=28个大小为210字节的页,总的逻辑地址空间是210×28=218字节,因此需要18位的地址来表示218字节地址空间。
例4:某系统的用户空间共有32个页面,每页1KB,主存16KB。
试问:
1)逻辑地址的有效位是多少?
2)物理地址需要多少位?
3)假定某时刻系统为用户的第0,1,2,3页分别分配的物理块号为5,10,4,7,试将虚地址0A5CH和093CH变换为物理地址。
答:1)逻辑地址空间包括了32=25个大小为210字节的页,总的逻辑地址空间是25×210=215字节,因此需要15位的地址来表示215字节地址空间。
2)物理地址=主存16KB=214,因此物理地址需要14位。
3)0A5CH=000101001011100B,前5位为逻辑地址中的页号,为00010B=2,即该地址的物理块号为4,表示为5位的二进制为00100B,因此0A5CH的物理地址是001001001011100,即125CH。
同样的方法求得,093CH对应的物理地址是113CH。
例5:假设一个分页存储系统具有快表,多数活动页表项都可以存在其中。
如果页表放在内存中。
内存访问时间是1us,若快表的命中率是85%,则有效存取时间为多少?若快表的命中率为50%,那么有效存取时间为多少?
解:当快表的命中率为85%时,有效存取时间为:
0.85×1+(1-0.85)×(1+1)=1.15us
当快表的命中率为50%时,有效存取时间为:
0.5×1+(1-0.5)×(1+1)=1.5us
例6:计算[0,430], [1,10], [2,500], [3,400], [4,20], [5,100]的内存地址
答:[0,430]:219+430=649 [1,10]:3300+10=3310
[2,500]:段内地址越界[3,400]:1237+400=1637
[4,20]:1952+20=1972 [5,100]:段号越界
思考题:
1、“整体对换从逻辑上也扩充了内存,因此也实现了虚拟存储器的功能”这种说法是否正确?请说明理由。
这种说法不正确。
整体对换是以整个进程为单位的对换,目的是用来解决内存紧张问题,并可进一步提高内存的利用率。
虚拟存储器是指仅把作业的一部分装入内存便可运行作业的存储器系统,是指具有请求调入功能和置换功能、能从逻辑上对内存容量进行扩充的一种存储器系统。
虚拟存储系统的实现,毫无例外的都是建立在离散分配存储管理方式的基础上的。
虽然整体对换能提高内存利用率,但仅使用交换技术,仍然无法实现仅把作业的一部分装入内存便可运行作业,故交换并不能实现虚拟存储器。
2、某系统采用页式存储管理策略,拥有逻辑空间32页,每页为2KB,拥有物理空间1MB。
1)写出逻辑地址的格式。
2)若不考虑访问权限等,进程的页表有多少项?每项至少有多少位?
3)如果物理空间减少一半,页表结构应相应作怎样的改变?
答:1)逻辑地址格式为:
2)页表只存放块号,所以是一项,每页2KB,1MB物理空间可分为29内存块,所以9位3)如果物理空间减少一半,则页表中页表项数不变,每项长度减少一位
3、已知某系统页面长4KB,每个页表项为4B,采用多层分页策略映射64位的用户地址空间。
若限定最高层页表只占1页,则它可采用几层分页策略?
答:64位虚拟地址的虚拟空间大小为264。
页面长为4KB,即212字节,页表项4字节,所以一个页面可以存放210个表项。
由于最高层页表占一页,也就是说其页表项个数最多为210个,每一项对应一页,每页又可以存放210个页表项,所以采用的分层数最多为int[64/10]=6层。
4、对于表所示的段表,请将逻辑地址(0,137)、(1,4000)、(2,3600)、(5,230)转换
(0,137):137+50=187 (1,4000):段内地址越界
(2,3600):70+3600=3670 (5,230):段号越界
5、在一个请求分页系统中,假如一个作业的页面走向为4、3、2、1、4、3、5、4、3、2、1、5,目前它还没有任何页装入内存,当分配给该作业的物理块数目M分别为3和4时,请分别计算采用OPT、LRU和FIFO页面淘汰算法时,访问过程中所发生的缺页次数和缺页率,并比较所得结果。
(选做括号内的内容:根据本题的结果,请查找资料,说明什么是Belady现象,在哪种置换算法中会产生Belady现象,为什么?)
物理块数目为3时:
OPT:
发生4次置换,7次缺页中断,总访问次数12,缺页率:7/12=58%
发生6次置换,9次缺页中断,总访问次数12,缺页率:9/12=75%
物理块为4时:
发生2次置换,6次缺页中断,缺页率:6/12=50%
发生3次置换,7次缺页中断,缺页率:7/12=58%
6、现有一请求调页系统,页表保存在寄存器中。
若一个被替换的页未被修改过,则处理一个缺页中断需要8ms;若被替换的页已被修改过,则处理一个缺页中断需要20ms。
内存存取时间为1us,访问页表的时间可忽略不计。
假定70%被替换的页被修改过,为保证有效存取时间不超过2us,可接受的最大缺页率是什么?
P*(0.7*20+0.3*8+0.001)+(1-p)*0.001<=0.002
16.4p<=0.001
P<=0.00006
7、有一个二维数组:VAR A:ARRAY(1..100, 1..100)OF integer;按先行后列的次序存储。
对一采用LRU置换算法的页式虚拟存储器系统,假设每页可存放200个整数。
若分配给一个进程的内存块数为3,其中一块用来装入程序和变量i、j,另外两块专门用来存放数组(不作他用),且程序段已在内存,但存放数组的页面尚未装入内存。
请分别就下列程序计算执行过程中的缺页次数。
程序1:程序2:
FOR i:=1 TO 100 DO FOR j:=1 TO 100 DO
FOR j:=1 TO 100 DO FOR i:=1 TO 100 DO A[i, j]:= 0 A[i, j]:= 0
答:
对程序1,首次缺页中断(访问A[0,0]时产生)将装入数组的第1、2行共200个整数,由于程序是按行对数组进行访问的,只有在处理完200个整数后才会再次产生缺页中断;以后每调入一页,也能处理200个整数,因此,处理100×100个整数共将发生50次缺页。
对程序2,首次缺页中断同样将装入数组的第1、2行共200个整数,但由于程序是按列对数组进行访问的,因此在处理完2个整数后又会再次产生缺页中断:以后每调入一页,也只能处理2个整数,因此,处理100×100个整数共将发生5000次缺页。
(资料素材和资料部分来自网络,供参考。
可复制、编制,期待你的好评与关注)。