【操作系统】2009年408真题第 46 题

文章目录

    • 题目描述
      • 1)依次访问上述三个虚地址,各需多少时间?给出计算过程
      • 2)基于上述访问序列,虚地址1565H的物理地址是多少?请说明理由
    • 原题 & 官方题解

题目描述

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

页号 页框号 有效位(存在位)
0 101H 1
1 0
2 254H 1
  • 页面大小为4KB
  • 一次内存的访问时间为100ns,一次快表(TLB)的访问时间为10ns,处理一次缺页的平均时间为 1 0 8 10^8 108ns(己含更新TLB和页表的时间)
  • 进程的驻留集大小固定为2,
  • 采用最近最少使用置换算法(LRU)和局部淘汰策略。
  • 假设TLB初始为空;
  • 地址转换时先访问TLB,若TLB未命中,再访问页表(忽略访问页表之后的TLB更新时间)
  • 有效位为0表示页面不在内存中,产生缺页中断,缺页中断处理后,返回到产生缺页中断的指令处重新执行。
  • 设有虚地址访问序列2362H、1565H、25A5H,请问:

1)依次访问上述三个虚地址,各需多少时间?给出计算过程

  • 页表在内存中,TLB 是 cache
  • 页面大小为 4KB,可以得出页内地址占 l o g 2 ( 4 × 2 10 ) = 12 log_2(4\times2^{10}) = 12 log2(4×210)=12 位,而一个 16 进制数占 4 位,可以得出 16 位的虚地址,低 12 位是页内地址,高 4 位是虚页号,如 2362H 的页号应该是 2H
    【操作系统】2009年408真题第 46 题_第1张图片
    【操作系统】2009年408真题第 46 题_第2张图片

2)基于上述访问序列,虚地址1565H的物理地址是多少?请说明理由

【操作系统】2009年408真题第 46 题_第3张图片

  • 再次强调,访问 1565H 时产生缺页,调入的数据会覆盖掉内存块号为 101H 的块(页框)
  • 1565H 对应的页号是 1,对应的页框号是 101H,因此:物理地址 = 页框号 + 页内地址 = 101565H,注意这里的+表示拼接
  • 这也是虚拟内存的本质,明明只给进程提供了 2 个内存块(页),但进程却可以访问逻辑页面{0, 1, 2},正是通过页面置换策略实现的

原题 & 官方题解

【操作系统】2009年408真题第 46 题_第4张图片
【操作系统】2009年408真题第 46 题_第5张图片

你可能感兴趣的:(操作系统)