408考研逐题详解:2010年第29题——分页管理

2010年第29题

某计算机采用二级页表的分页存储管理方式,按字节编址,页大小为 2102^{10}210B,页表项大小为 2B,逻辑地址结构为

在这里插入图片描述

逻辑地址空间大小为 2162^{16}216页,则表示整个逻辑地址空间的页目录表中包含表项的个数至少是( )

A. 64 \qquad B. 128 \qquad C. 256 \qquad D. 512

解析

本题考查计算机内存管理中的二级页表分页存储管理机制,涉及到如下知识点:

  1. 分页存储管理:分页存储管理将逻辑地址空间划分为固定大小的页,物理地址空间划分为相同大小的帧(物理块、页框)。逻辑地址由页号和页内偏移量组成。页表用于映射逻辑页号到物理帧号。

  2. 二级页表:二级页表用于减少大地址空间下单级页表的内存占用。逻辑地址分为三部分:页目录号、页号、页内偏移量。

    • 页目录表是顶级表,每个表项指向一个页表;
    • 页表是二级表,每个表项指向物理帧。
    • 页目录表项数和页表项数由各自的地址位数决定。
  3. 逻辑地址:逻辑地址的位数由逻辑地址空间大小决定。地址各部分位数分配如下:

    • 页内偏移量位数由页大小决定(2k2^k2k 字节页需要 kkk 位偏移)。

    • 剩余位数用于页索引(页目录号和页号),在二级页表中需划分为两部分。

    • 对于本题而言,题目一直逻辑地址空间大小为 2162^{16}216 页,此处特别注意,是以“页”为单位给出的逻辑地址空间。每个页大小为 2102^{10}210 B,因此总地址空间为 216×210=2262^{16} \times 2^{10} = 2^{26}216×210=226 B。所以,逻辑地址总位数为 26 位。

  4. 页表项大小与页大小约束:

    • 在分页系统中,页表本身也存储在内存中,通常设计为不超过一页大小,以避免页表本身需要分页(即避免多级页表退化)。页表大小由页表项大小和项数决定:页表大小 = 页表项数 ×\times× 页表项大小。若页表大小超过页大小,则需更多级页表,但本题指定为二级页表,因此每个页表必须适应一页。
    • 本题中页的大小为 2102^{10}210 B,页表项大小为 2 B,因此每个页表最大可容纳项数为 2102=29=512\frac{2^{10}}{2} = 2^9 = 5122210=29=512

由以上知识点 3 可得到逻辑地址总位数为 26 位,由页大小可知内偏移量占 10 位,则剩余 16 位用于页目录号和页号。

又由于一张页表将来也要装入内存的一个页框,即页表最大容量就是一个页的大小,即每个页表 ≤210\leq 2^{10}210 B。每个页表项大小为 2 B,所以每个页表中最大项数为 512(292^929),由此可知,页号部分至少占 9 位。

为了最小化页目录表项数,需最大化每个页表项数(即最大化页号位数)。由上述分析已知,最大页号位数为 9 位,因此页目录号位数最小为 16−9=716 - 9 = 7169=7 位,对应页目录表项数 27=1282^7 = 12827=128

本题答案:B

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

CS创新实验室

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值