操作系统
2009-46
(8分)请求分页管理系统中,假设某进程的页表内容见下表。

页面大小为 4KB,一次内存的访问时间为 100ns,一次快表(TLB)的访问时间为 10ns,处理一次缺页的平均时间为 108 ns(已含更新 TLB 和页表的时间),进程的驻留集大小固定为 2,采用最近最少使用置换算法(LRU)和局部淘汰策略。假设①TLB 初始为空;②地址转换时先访问 TLB,若 TLB 未命中,再访问页表(忽略访问页表之后的 TLB 更新时间);③有效位为 0 表示页面不在内存中,产生缺页中断,缺页中断处理后,返回到产生缺页中断的指令处重新执行。设有虚地址访问序列 2362H、1565H、25A5H,请问:
1)依次访问上述三个虚地址,各需多少时间?给出计算过程。
2)基于上述访问序列,虚地址 1565H 的物理地址是多少?请说明理由。
答案
1)访问时间:
- 访问2362H:页号2,TLB未命中(10ns),访问页表得页框号(100ns),访问内存(100ns),总时间210ns。
- 访问1565H:页号1,TLB未命中(10ns),访问页表无效(100ns),缺页中断处理(108 ns),更新TLB后重新访问,TLB命中(10ns),访问内存(100ns),总时间100000220ns。
- 访问25A5H:页号2,TLB命中(10ns),访问内存(100ns),总时间110ns。
2)虚地址1565H的物理地址是101565H。
理由:访问1565H时页号1缺页,驻留集固定为2,采用LRU算法,淘汰当前内存中的页号0(最近最少使用),将页号1装入并分配页框号101H,页内位移565H,故物理地址为101565H。