首页 > 试题广场 >

某计算机采用二级页表的分页存储管理方式,按字节编址,页面大小

[单选题]
某计算机采用二级页表的分页存储管理方式,按字节编址,页面大小为1024B,每个页表项占2B,
逻辑地址结构为:
若逻辑地址空间的大小为 64K 个页面,则表示整个逻辑地址空间的页目录表中包含的表项的个数至
少为_______
  • 64
  • 128
  • 256
  • 512
页面大小为2^10B, 页表项大小2B,那么一页最多可以放2^9个页表项,要映射64K=2^16个页面,至少需要2^7=128个页表,所以是128
发表于 2018-06-19 10:38:33 回复(2)
更多回答
在解决这个问题前,我们用类比的方式来举一个例子。
1. 假设有一本书,这本书每一页固定大小,最多一页有 1000 个字(页面大小);
2. 每一页对应有一个目录中的条目,这个条目用 2 个字表示(页表项大小);
3. 那么我 一页纸 就可以写下 1000/2 = 500 个目录条目;
4. 现在我整本书有 1000 页(逻辑地址空间大小),我们说了每一页对应一个目录条目,所以有 1000 个目录条目
5. 所以我需要 1000 个目录条目/ 500 个目录条目 = 2 页(注意前面说到了,一页可写 500 个条目。所以我需要 2 个页面来保存目录条目。

回到题目本身,对应的含义用黑体在上面标识出来了。
其计算过程如下:
页面大小 210B,页表项大小为 2B,所以一页可以写  210B/2B=29B 个页表项。
逻辑地址空间大小为 216 页,就是说需要 216 个与之对应的页表项,因此需要 216B/29B=27=128 个页面存放页表项。

PS:关于分页存储管理,你完全可以和现实中的书本结合理解,把一页的大小理解为书本一页固定写多少多少字,页表项就是书本前面的目录。
发表于 2019-10-13 16:46:02 回复(15)

页表,页表项,页面,页面大小,物理块

这里是真的有点混乱的说法,在操作系统中,我们知道一级页表不会有这么多称呼,但是多级页表就有了。我们知道一级页表中,就只有页号和位移量了(也就是所说的物理块块号),这里不会出现页表项,
但是二级页表乃至多级页表时就会出现页表项了,页表项我们知道是有一个“项”的字的尾缀,那么很明显,这里是类似于一个整体的意思,也就是二级页表中外层页表每一项表示第二层的一页,也就是页表项了,直截了当的说就是页表项就是一个二级页(次级页)。通俗的说页表项就是页表中的每一项,外层页表每一项指向的是次级页表的表头地址(代指次级页表一张),次级页表依次这样,如果是二级的话,次级页表项指的就是(页号对应一个页面,一个页面对应一个物理块)物理块了。
那么此题我们能从题目中分析出的是规定了,一个页面时1024B大小,那么可以分配以2B为大小的页表项(次级页)个数就是1024B/2B
了,也就是2^9个了,也就是说有2^9个最终用于直接映射存储的二级页表,此时总共需要映射的是64K个页面-->物理块,也就是2^6*2^10个页面,此时就是2^16/2^9=2^7个外层页表项了,也就是所说的页目录表中包含多少项了,针对此图而言。
编辑于 2019-01-07 12:08:45 回复(0)
页大小为210B,页表项大小为2B,采用二级页表,一页可存放29个页表项,逻辑地址空间大小为216页,要使表示整个逻辑地址空间的页目录表中包含的个数最少,则需要216/29=27=128个页面保存页表项,即页目录表中包含的个数最少为128。
发表于 2017-06-16 20:28:27 回复(3)
我总感觉这道题有问题

发表于 2020-06-17 22:17:58 回复(1)
最终要求的是什么? 二级页表的项数。 二级页表中的项是什么? 是一级页表。 一级页表的项数是什么? 是物理块。 那么显然总共映射的物理块=一级页表的项数*二级页表的项数。 现在我们知道些什么? 逻辑地址空间+页面的大小=页面的总个数,即物理块的总个数。 那么我们还需要知道些什么? 一级页表的项数。 怎么求一级页表的项数? 一级页表里存的是直接映射的物理块,一个物理块需要 2B,一个页面有 1KB,所以一个页面一共可以存 512 个物理块。 最终二级页表的项数=总的物理块个数/一个页面能存的物理块个数。
编辑于 2021-05-20 20:34:33 回复(0)
这个题目有问题,上面的解释也是乱七八糟
发表于 2020-06-11 18:03:01 回复(3)
哪位大神可以解释下呢?
发表于 2017-07-05 07:45:18 回复(0)
注意看题目中逻辑地址空间的大小为 64K(2^16) 个页面,单位是页面,而一个页面是1024B(2^10),
所有真正的逻辑地址是2^26字节,即由26位二进制表示。
一个页表项2B,那一个页面能装2^9个页表项
26个二进制分布为:7位一级页表,9位二级页表,10位页内偏移。
所以表示整个逻辑地址空间的页目录表中包含的表项的个数至少为:2^7即128
发表于 2023-06-18 14:57:02 回复(2)
在解决这个问题前,我们用类比的方式来举一个例子。
1. 假设有一本书,这本书每一页固定大小,最多一页有 1000 个字(页面大小);
2. 每一页对应有一个目录中的条目,这个条目用 2 个字表示(页表项大小);
3. 那么我 一页纸 就可以写下 1000/2 = 500 个目录条目;
4. 现在我整本书有 1000 页(逻辑地址空间大小),我们说了每一页对应一个目录条目,所以有 1000 个目录条目
5. 所以我需要 1000 个目录条目/ 500 个目录条目 = 2 页(注意前面说到了,一页可写 500 个条目。所以我需要 2 个页面来保存目录条目。

回到题目本身,对应的含义用黑体在上面标识出来了。
其计算过程如下:
页面大小 210B,页表项大小为 2B,所以一页可以写  210B/2B=29B 个页表项。
逻辑地址空间大小为 216 页,就是说需要 216 个与之对应的页表项,因此需要 216B/29B=27=128 个页面存放页表项。

PS:关于分页存储管理,你完全可以和现实中的书本结合理解,把一页的大小理解为书本一页固定写多少多少字,页表项就是书本前面的目录。
发表于 2022-07-22 15:12:22 回复(1)
页最多1024/2个页面,总64k页面,则页表项至少64k/512=128
发表于 2022-09-28 16:44:30 回复(0)
每个页面大小为1024B,一个页表项占2B ,也就是说一个页面能存512个页表项,即0.5K个页表项。总共需要64K个页面,所以一级页表对应的页表项个数为128。
发表于 2020-09-02 15:37:48 回复(1)