操作系统页表问题。。。。。。

如图,怎么理解啊?... 如图,怎么理解啊? 展开
 我来答
edward4144
推荐于2017-09-24 · 超过30用户采纳过TA的回答
知道答主
回答量:50
采纳率:0%
帮助的人:57万
展开全部

1).数组,可以按照C语言里面的数组来类似理解,例如a[100],在内存分配时,采取连续的分配方式,如下图所示:

在内存里面连续排放,只是这里指的是页表的分配;

2).虚拟存储空间到物理存储空间的映射是以内存块为单位进行的,也就是说虚拟存储空间中一块连续的存储空间被映射成物理存储空间中同样大小的一块连续存储空间,根据不同的情况有不同大小存储块的划分,例如1MB、64KB、4KB、1KB,举例是用了4KB,这里物理块大小等于4KB。你截的图那句话只是笼统的表达这么一个原则;

3).地址长度为32位,那么最大的虚拟地址空间为2^32(2的32次方)=4GB;因为计算机内采用2进制,32位表示的最大数位2^32 = 4G= 4*1024M = 4 * 1024 *1024K,计算机内部存储单位用字节(Byte)表示;

4).假设每个页需要4KB的内存空间,那么最大的4GB(4*1024*1024KB)可以有最多4GB/4KB=1*1024*1024=1M个页,这个页就是把虚拟地址空间划分为一个一个大小固定的块,每一块称为一页。这里的块大小为4KB,其实物理地址也被划分成大小为4KB的块,有时称为页帧;

5).页表里面的每个页表项占用4Byte,每个页表项就代表一个页的存储地址,系统最多有1M个页,则此时页表最大长度即为页的个数*每个页的存储地址大小:1M*4Byte = 1024*1024*4Byte=4MB,即用这4MB的页表长度即可以表示4GB的存储空间了,页表采用的连续分配;

6).如果系统支持的逻辑地址(Linux下等同于虚拟地址)增加,那么页的个数增加,那么需要的页表长度也增加,计算为:逻辑地址/页大小*页表项大小=页表长度;

7).现代计算机操作系统都采用多级分页机制,可以更好地利用系统资源达到很好的存储映射;

大概就是这个意思。

追问
图中4G/4K是怎么算的?他只说出了页表大小为4KB啊,没给出页大小啊,1M个页怎么得出来的?
追答
这里应该是页的大小,虚拟存储器空间被划分为大小4KB的页,物理存储空间被划分为大小4KB的页帧,页和页帧大小是相等的。页的最大个数当然是虚拟存储总的空间大小除以页的大小了;页表是保存页表项的,相当于表格的东西,里面一项一项的页表项存储的就是页的存储地址,页表大小应该是页表项的个数乘上每个页表项的大小。
MCE 中国
2025-03-12 广告
以下是虚拟筛选的简要流程图说明:1. **调研靶点**:确认是否有参考药物与结合模式信息。2. **建立模型**:基于靶点蛋白结构,参考已有药物结合信息或预测药物结合模式。3. **选择库源**:从多样性化合物库、上市药物分子库等中挑选合适... 点击进入详情页
本回答由MCE 中国提供
流浪的乞丐nQ
2014-07-10 · TA获得超过3200个赞
知道大有可为答主
回答量:4256
采纳率:82%
帮助的人:2013万
展开全部
晚点复回答你,很好理解的,上面所说的页表按照微软系统说法叫簇,目前32位系统默认分配单元都是4KB。分区叫卷。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式