问答题 某操作系统采用动态分区存储管理技术。操作系统在低地址占用了100KB的空间,用户区主存从100KB处开始占用512KB。初始时,用户区全部为空闲,分配时截取空闲分区的低地址部分作为已分配区。在执行以下申请、释放操作序列后:请求300KB、请求100KB、释放300KB、请求150KB、请求50KB、请求90KB,进行以下回答。
问答题 采用首次适应算法时,主存中有哪些空闲分区?画出主存分布图,并指出空闲分区的首地址和大小。
【正确答案】采用首次适应算法时,其内存分配过程如图所示。产生的空闲分区有:块1(首地址为390KB,大小为10KB),块2(首地址为500KB,大小为112KB)。 [*]
【答案解析】
问答题 采用最佳适应算法时,主存中有哪些空闲分区?画出主存分布图,并指出空闲分区的首地址和大小。
【正确答案】采用最佳适应算法时,其内存分配过程如图所示。产生的空闲分区有:块1(首地址为340KB,大小为60KB),块2(首地址为550KB,大小为62KB)。 [*]
【答案解析】
问答题 若随后又要请求80KB,针对上述两种情况会产生什么后果?说明了什么问题?
【正确答案】若随后又要请求80KB,采用首次适应算法时,由于存在112KB的空闲分区,即块2,则在其中分配空间,这样可以分配。采用最佳适应算法时,由于块1和块2的空间都不够,所以无法分配。 说明:首次适应算法的优点在于优先分配低地址部分的空闲分区,保留高地址部分的空闲分区,使得当需要大分区时可以找到。
【答案解析】
问答题 已知一个采用了LRU置换算法的请求分页存储管理系统中,页面大小为4KB,内存访问速度为100ns/次,快表访问速度为20ns/次,缺页中断处理时间为25ms/次。现有一个长度为30KB的进程P进入系统,分配给P的存储块有3块,进程的所有页面都是在该进程运行中动态装入。若访问快表的命中率为20%,对应于下述页面访问序列: 1、4、3、1、2、5、1、4、2、1、4、5 请计算12个页面的平均有效访问时间。
【正确答案】采用LRU置换算法时的页面置换情况见表。
{{B}}采用LRU置换算法时的页面置换情况{{/B}}
页面走向 1 4 3 1 2 5 1 4 2 1 4 5
按最后访问时间排
序,越早排越后
1 4 3 1 2 5 1 4 2 1 4 5
1 4 3 1 2 5 1 4 2 1 4
1 4 3 1 2 5 1 4 2 1
缺页
访问这12个页面时,缺页次数为8,缺页率为8/12=2/3。
一次内存访问时间t为100ns。
一次快表访问时间ε为20ns。
快表命中率α为20%。
缺页率f为2/3,
一次缺页处理时间t1=25ms。
有效访问时间用EAT表示
EAT=ε+αt+(1-β)[t+f(t1+ε+t)+(1-f)(ε+t)]
=20ns+20%×100ns+(1-20%)[100ns+2/3(25ms+20ns+100ns)+(1-2/3)(20ns+100ns)]
≈13333549ns
求解方法提示:请求分页管理方式中的有效时间计算法。
归纳起来,简化的请求分页访问过程如图所示,其中方框表示的操作都要花费访问时间。
[*]
1)不考虑命中率和缺页率的有效访问时间计算。
从图可以看到,访内操作共有以下三种情况。
①访问的页在主存中,且访问页的页表项在快表中(若访问页的页表项在快表中,则一定不会缺页)。
EAT=查找快表时间+形成物理地址并访问内存数据的时间
=ε+t
②访问的页在主存中(不缺页),且访问页的页表项不在快表中。
EAT=查找快表时间+查找页表时间+修改快表时间+形成物理地址并访问内存数据的时间
=ε+t+c+t
=2(ε+t)
③访问的页不在内存中(缺页),设处理缺页中断的时间为t1(产生缺页中断并将该页调入内存,更新快表和页表的时间)。
EAT=查找快表时间+查找页表时间+处理缺页中断的时间t1+查找快表时间+形成物理地址并访问内存数据时间
=ε+t+t1+ε+t=t1+2(ε+t)
2)考虑命中率和缺页率的有效访问时间计算。
从图可以看出,共有3条路径(当产生缺页中断后,页表项会放入快表中),则:
ENT=查找快表时间+α×形成物理地址并访问内存数据时间+(1-α)×[查找页表时间+f×(处理缺页中断的时间t1+查找快表时间+形成物理地址并访问内存数据时间)+(1-f)×(修改快表时间+形成物理地址并访问内存数据时间)]
=ε+αt+(1-α)[t+f(t1+ε+t)+(1-f)(ε+t)]
3)处理缺页中断的时间t1的计算。
如果题目中没有给出被置换的页面修改和不修改两种情况,则将缺页中断处理时间看成t1。如果题目中给出被置换页面修改和不修改两种情况,前者的概率为β,处理时间为ta,后者处理的时间为tb,则t1=β×ta+(1-β)×tb。
4)推论。
如果题目中没有给出快表等,也就是说,ε=0,α=0,则有效访问时间为:
EAT=c+f(t1+t)+(1-f)t
如果f等于0,则不存在缺页中断处理,其计算过程同基本分页管理方式。从有效时间的计算可以看到,考生必须牢固掌握请求分页中的访问过程。
【答案解析】