操作系统第4章练习题.. 下载本文

内容发布更新时间 : 2024/5/13 14:32:20星期一 下面是文章的全部内容请认真阅读。

操作系统常见题解析及模拟题内容

第4章 存储器管理

4.1 典型例题解析

【例1】某系统采用动态分区分配方式管理内存,内存空间为640K,高端40K用来存放操作系统。在内存分配时,系统优先使用空闲区低端的空间。对下列的请求序列:作业1申请130K、作业2申请60K、作业3申请100K、作业2释放60K、作业4申请200K、作业3释放100K、作业1释放130K、作业5申请140K、作业6申请60K、作业7申请50K、作业6释放60K,请分别画图表示出使用首次适应算法和最佳适应算法进行内存分配和回收后内存的实际使用情况。 动作 首次适应算法 最佳适应算法 空闲分区 已分配分区 己分配分区 空闲分区 (始址,大(作业,始址,大小) (作业,始址,大小) (始址,大小) 小) 130,470 190,410 l,O,130 1,O,130 2,130,60 1,O,130 2,130,60 3,190,100 l,0,130 3,190,100 l,0,130 3,190,100 4,290,200 l,0,130 4,290,200 4,290,200 4,290,200 5,0,140 4,290,200 5,0,140 6,490,60 4,290,200 5,O,140 6,490,60 7,550,50 4,290,200 5,0,140 7,550,50 130,470 190,410 l,0,130 2,130,60 作业1申请130K l,0,130 作业2申请60K 1,0,130 作业3申请100K 2,130,60 3,190,100 作业2释放60K l,0,130 3,190,100 290,310 130,60 290,310 130,60 490,1lO 130,160 490,110 0,290 490,110 140,150 490,110 200,90 490,110 290,310 130,60 290,310 130,60 490.110 490,110 130,160 490,110 0,290 490,110 140,150 550,50 140,150 1,O,130 作业4申请200K 3,190,100 4,290,200 作业3释放100K 作业l释放130K 作业5申请140K l,0,130 4,290,200 4,290,200 4,290,200 5,0,140 4,290,200 5,O,140 6,140,60 4,290,200 5,0,140 6,140,60 7,200,50 4,290,200 5,0,140 7,200,50 作业6申请60K 作业7申请50K 250,40 490,110 140,60 250,40 490,110 140,150 作业6释放60K

490,60 140,150 1

操作系统常见题解析及模拟题内容

答:使用首次适应算法和最佳适应算法进行上述内存的分配和回收后,内存的实际使用情况分别如图(a)和(b)所示。 0 作业5 140K 200K 作业7 250K 290K 作业4 490K 600K OS 640K 0 作业5 140K 290K 作业4 490K 550K 作业7 600K OS 640K (b) (a)

【例2】对一个将页表存放在内存中的分页系统:

(1)如访问内存需要0.2μs,有效访问时间为多少?

(2)如果加一快表,且假定在快表中找到页表项的机率高达90%,则有效访问时间又是多少(假定查快表需花的时间为0)? 答:(1)有效访问时间为:2×0.2=0.4μs (2)有效访问时间为:0.9×0.2+(1—0.9)×2×0.2=0.22 ps。

【例3】某系统采用页式存储管理策略,拥有逻辑空间32页,每页2K,拥有物理空间1M。 (1)写出逻辑地址的格式。

(2)若不考虑访问权限等,进程的页表有多少项?每项至少有多少位? (3)如果物理空间减少一半,页表结构应相应作怎样的改变? 答:(1)该系统拥有逻辑空间32页,故逻辑地址中页号必须用5位来描述:而每页为 2K,因此,页内地址必须用11位来描述,这样可得到它的逻辑地址格式如下: 15 11 10 0 页号 页内地址 (2)每个进程最多有32个页面,因此,进程的页表项最多为32项;若不考虑访问权限等,则页表项中只需给出页所对应的物理块块号,1M的物理空间可分成29个内存块,故每个页表项至少有9位

(3)如果物理空间减少一半,则页表中页表项数仍不变,但每项的长度可减少1位。 【例4】已知某分页系统,主存容量为64K,页面大小为1K,对一个4页大的作业,其0、l、2、3页分别被分配到主存的2、4、6、7块中。

(1)将十进制的逻辑地址1023、2500、3500、4500转换成物理地址。 (2)以十进制的逻辑地址1023为例画出地址变换过程图。

答:(1)对上述逻辑地址,可先计算出它们的页号和页内地址(逻辑地址除以页面大小,得到的商为页号,余数为页内地址),然后通过页表转换成对应的物理地址。

①逻辑地址1023:1023/1K,得到页号为0,页内地址为1023,查页表找到对应的物

2

操作系统常见题解析及模拟题内容

理块号为2,故物理地址为2×1K+1023=3071。

②逻辑地址2500:2500/1K,得到页号为2,页内地址为452,查页表找到对应的物理块号为6,故物理地址为6×IK+452=6596。

③逻辑地址3500:3500/IK,得到页号为3,页内地址为428,查页表找到对应的物理块号为7,故物理地址为7×1K+428=7596。 ④逻辑地址4500:4500/1K,得到页号为4,页内地址为404,因页号不小于页表长度,故产生越界中断。

(2)逻辑地址1023的地址变换过程如下图所示,其中的页表项中没考虑每页的访问 权限。

【例5】已知某系统页面长4KB,页表项4字节,采用多层分页策略映射64位虚拟地址空间。若限定最高层页表占1页,问它可以采用几层分页策略。(浙江大学2000年考题) 答:由题意,64位虚拟地址的虚拟空间大小为264.页面长为4KB,页表项4字节,所以一个页面可存放1K个表项。由于最高层页表占1页,也就是说其页表项个数最多为1K个,每一项对应一页,每页又可存放1K个页表项,依次类推可知,采用的分页层数为:6层。 【例6】对于下表所示的段表,请将逻辑地址(0,137),(1,4000),(2,3600),(5,230)转换成物理地址。

段号 O l 2 3 4 内存始址 50K 60K 70K 120K 150K 段长 10K 3K 5K 8K 4K 段表

答:(1)段号0小于段表长5,故段号合法;由段表的第0项可获得段的内存始址为 50K,段长为10K;由于段内地址137,小于段长10K,故段内地址也是合法的,因此可得 出对应的物理地址为50K+137=5l337。 (2)段号l小于段表长,故段号合法;由段表的第l项可获得段的内存始址为60K,段长为3K:经检查,段内地址4000超过段长3K,因此产生越界中断。

3