页面大小和页表项之间有必然的联系么?

如果一个页面的大小为4K,页表项大小为4B,那么为什么可以存2^10个页表项?我的意思就是问为什么要拿4K/4B=2^10?页表项不应该是存在于内存里面的?和页面大小有什... 如果一个页面的大小为4K,页表项大小为4B,那么为什么可以存2^10个页表项?我的意思就是问为什么要拿4K/4B=2^10?页表项不应该是存在于内存里面的?和页面大小有什么关系? 展开
 我来答
gaiement
2019-06-14 · TA获得超过8779个赞
知道答主
回答量:34
采纳率:0%
帮助的人:2.5万
展开全部

一、理解这样一个概念,操作系统为了方便管理内存,将内存划分成很若干个页,每个页表项就代表一个页的地址(页的地址,不是内存地址)。

二、4B大小的页表项,意味着支持最大的页表数是2的32次方=4294967296 (4B=32bit),一个页的大小4K,那么4B大小的页表项,表示操作系统支持4294967296*4K = 16GB大的内存。

三、现在问题是页表占用一定的内存。

(一)现在假设有2GB(一定要小于16GB)内存。

1、那么它一共有2GB/4KB=512K个页,也就是说页表项有512K项,而每个页表项的大小4B,那么页表在内存中占用的大小是:512K*4B=2MB,意味着,只要2MB就可以表示512K个页(每个页是4KB,总内存大小是2G),它页表本身占用了2MB/4K=512个页。

2、这一题 就是问你1个页可以表示多少个页表项,4KB/4B=1024个页表项。页面大小与页表项没有绝对的关系,但它们有这样关系:

(二)页面大小 * 2 ^(页表项大小)=操作系统最大支持内存大小(虚拟内存

1、本题是 4K * 2^(4B) = 16GB

2、页表占用内存 = 操作系统内存/页面大小 * 页表项大小,本题是,假设操作系统内存为2GB。 2GB/4KB*4B = 2MB
3、页表占用的页数是=页表占用内存/页面大小,这题同上假设2MB/4K=512个页。

扩展资料

一、地址结构

1、逻辑地址:CPU所生成的地址。CPU产生的逻辑地址被分为 :p (页号) 它包含每个页在物理内存中的基址,用来作为页表的索引;d (页偏移),同基址相结合,用来确定送入内存设备的物理内存地址。

2、物理地址:内存单元所看到的地址。逻辑地址空间为2^m,且页大小为2^n,那么逻辑地址的高m-n位表示页号,低n位表示页偏移。

3、逻辑地址空间:由程序所生成的所有逻辑地址的集合。

4、物理地址空间:与逻辑地址相对应的内存中所有物理地址的集合,用户程序看不见真正的物理地址。

5、注:用户只生成逻辑地址,且认为进程的地址空间为0到max。物理地址范围从R+0到R+max,R为基地址,地址映射-将程序地址空间中使用的逻辑地址变换成内存中的物理地址的过程。由内存管理单元(MMU)来完成。

6、分页逻辑地址 =P(页号).d(页内位移)

7、分页物理地址=f(页帧号).d(同上)

8、P = 线性逻辑地址/页面大小

9、d= 线性逻辑地址-P*页面大小

二、基本分页存储管理方式

用固定大小的页(Page)来描述逻辑地址空间,用相同大小的页框(Frame)来描述物理内存空间,由操作系统实现从逻辑页到物理页框的页面映射,同时负责对所有页的管理和进程运行的控制。

三、分级页表

1、一个32位逻辑地址空间的计算机系统,页大小为4KB,那么页表有一百万条目。假设每个条目占4B,则需要4MB物理地址空间来存储页表本身。利用多级页表,可以减少页表所占用的空间。

2、一个逻辑地址(32位系统,页大小 4K) 可以被分为 :一个20位的页号 +一个12位的偏移。如果对页表进行再分页,那么页号分解为:一个10位的页号 +一个10位的偏移。因此,一个逻辑地址表示如下 :p1 是用来访问外部页表的索引, p2 是外部页表的页偏移。

参考资料来源:百度百科-页表

ZESTRON
2024-09-04 广告
表界面分析在材料科学及化学领域占据核心地位,它深入探索物质表面与界面的微观结构、化学组成及相互作用。通过电商平台射线光电子能谱(电商平台PS)、扫描电子显微镜(SEM)及原子力显微镜(AFM)等先进技术手段,我们Dr. O.K. Wack ... 点击进入详情页
本回答由ZESTRON提供
帐号已注销
推荐于2017-11-02 · TA获得超过2326个赞
知道小有建树答主
回答量:419
采纳率:83%
帮助的人:218万
展开全部
理解这样一个概念,操作系统为了方便管理内存,将内存划分成很若干个页,每个页表项就代表一个页的地址(页的地址,不是内存地址)。
4B大小的页表项,意味着支持最大的页表数是2的32次方=4294967296 (4B=32bit),一个页的大小4K,那么4B大小的页表项,表示操作系统支持4294967296*4K = 16GB大的内存。

现在问题是页表占用一定的内存。
现在假设有2GB(一定要小于16GB)内存。
那么它一共有2GB/4KB=512K个页,也就是说页表项有512K项,而每个页表项的大小4B,那么页表在内存中占用的大小是:512K*4B=2MB,意味着,只要2MB就可以表示512K个页(每个页是4KB,总内存大小是2G),它页表本身占用了2MB/4K=512个页。

这一题 就是问你1个页可以表示多少个页表项,4KB/4B=1024个页表项。页面大小与页表项没有绝对的关系,但它们有这样关系:
1.页面大小 * 2 ^(页表项大小)=操作系统最大支持内存大小(虚拟内存),本题是 4K * 2^(4B) = 16GB
2.页表占用内存 = 操作系统内存/页面大小 * 页表项大小,本题是,假设操作系统内存为2GB。 2GB/4KB*4B = 2MB
3.页表占用的页数是=页表占用内存/页面大小,这题同上假设2MB/4K=512个页。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
帐号已注销
2019-12-21 · TA获得超过6580个赞
知道答主
回答量:3.2万
采纳率:26%
帮助的人:2137万
展开全部
一、理解这样一个概念,操作系统为了方便管理内存,将内存划分成很若干个页,每个页表项就代表一个页的地址(页的地址,不是内存地址)。

二、4B大小的页表项,意味着支持最大的页表数是2的32次方=4294967296 (4B=32bit),一个页的大小4K,那么4B大小的页表项,表示操作系统支持4294967296*4K = 16GB大的内存。

三、现在问题是页表占用一定的内存。

(一)现在假设有2GB(一定要小于16GB)内存。

1、那么它一共有2GB/4KB=512K个页,也就是说页表项有512K项,而每个页表项的大小4B,那么页表在内存中占用的大小是:512K*4B=2MB,意味着,只要2MB就可以表示512K个页(每个页是4KB,总内存大小是2G),它页表本身占用了2MB/4K=512个页。
2、这一题 就是问你1个页可以表示多少个页表项,4KB/4B=1024个页表项。页面大小与页表项没有绝对的关系,但它们有这样关系:

(二)页面大小 * 2 ^(页表项大小)=操作系统最大支持内存大小(虚拟内存)

1、本题是 4K * 2^(4B) = 16GB

2、页表占用内存 = 操作系统内存/页面大小 * 页表项大小,本题是,假设操作系统内存为2GB。 2GB/4KB*4B = 2MB
3、页表占用的页数是=页表占用内存/页面大小,这题同上假设2MB/4K=512个页。

扩展资料

一、地址结构

1、逻辑地址:CPU所生成的地址。CPU产生的逻辑地址被分为 :p (页号) 它包含每个页在物理内存中的基址,用来作为页表的索引;d (页偏移),同基址相结合,用来确定送入内存设备的物理内存地址。

2、物理地址:内存单元所看到的地址。逻辑地址空间为2^m,且页大小为2^n,那么逻辑地址的高m-n位表示页号,低n位表示页偏移。

3、逻辑地址空间:由程序所生成的所有逻辑地址的集合。

4、物理地址空间:与逻辑地址相对应的内存中所有物理地址的集合,用户程序看不见真正的物理地址。

5、注:用户只生成逻辑地址,且认为进程的地址空间为0到max。物理地址范围从R+0到R+max,R为基地址,地址映射-将程序地址空间中使用的逻辑地址变换成内存中的物理地址的过程。由内存管理单元(MMU)来完成。

6、分页逻辑地址 =P(页号).d(页内位移)

7、分页物理地址=f(页帧号).d(同上)

8、P = 线性逻辑地址/页面大小

9、d= 线性逻辑地址-P*页面大小

二、基本分页存储管理方式

用固定大小的页(Page)来描述逻辑地址空间,用相同大小的页框(Frame)来描述物理内存空间,由操作系统实现从逻辑页到物理页框的页面映射,同时负责对所有页的管理和进程运行的控制。

三、分级页表

1、一个32位逻辑地址空间的计算机系统,页大小为4KB,那么页表有一百万条目。假设每个条目占4B,则需要4MB物理地址空间来存储页表本身。利用多级页表,可以减少页表所占用的空间。

2、一个逻辑地址(32位系统,页大小 4K) 可以被分为 :一个20位的页号 +一个12位的偏移。如果对页表进行再分页,那么页号分解为:一个10位的页号 +一个10位的偏移。因此,一个逻辑地址表示如下 :p1 是用来访问外部页表的索引, p2 是外部页表的页偏移。

参考资料来源:百度百科-页表
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友ed189f9
2019-05-28
知道答主
回答量:9
采纳率:0%
帮助的人:4177
展开全部

首先,我认为页面大小和页表项之间没有必然联系。

页表项确实存在于内存里,而内存也要按照页框大小分页。

注意,页面大小等于页框大小。

故这里用4K/4B=2^10实际上是指用页框大小除以页表项大小,得到每一个页框可以保存的页表项数量。

参考资料:网页链接

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
就爱寒maih
2017-11-02
知道答主
回答量:1
采纳率:0%
帮助的人:941
展开全部
不能这样理解么?
存放页表项的也是一个页面,其大小肯定也是4kb,一个页表项的大小为4b,总量除以一个的大小不就是个数么?
根据四则运算后面所带单位的意义也可以推出来啊。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(8)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式