博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
页面大小和页表项之间有必然的联系么?【转】
阅读量:7015 次
发布时间:2019-06-28

本文共 892 字,大约阅读时间需要 2 分钟。

转自:

如果一个页面的大小为4K,页表项大小为4B,那么为什么可以存2^10个页表项?我的意思就是问为什么要拿4K/4B=2^10?页表项不应该是存在于内存里面的?和页面大小有什么关系?
 
| 浏览 13070 次 |
我有更好的答案
推荐于2017-11-02 20:44:25 最佳答案
 
理解这样一个概念,为了方便管理内存,将内存划分成很若干个页,每个页表项就代表一个页的地址(页的地址,不是)。 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个页。
【作者】
【出处】
【博客园】
【新浪博客】
【知乎】
【我的作品---旋转倒立摆】
【我的作品---自平衡自动循迹车】
【新浪微博】 张昺华--sky
【twitter】 @sky2030_
【facebook】 张昺华 zhangbinghua
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利.
你可能感兴趣的文章
006-统一沟通-部署-基础-环境
查看>>
大金空调自动关机常见四种原因
查看>>
solr5.5安装
查看>>
【CSS】CSS垂直居中:父层宽高不固定子层固定 和 父层宽高固定子层不固定
查看>>
逆向思维 寻找适合seo推广的产品
查看>>
C/C++入门易错点及常用小技巧
查看>>
2019年大数据发展将走向何方
查看>>
安装hcl时遇到的问题
查看>>
My Space:一个时代的终结
查看>>
smobiler介绍(一)
查看>>
【面试题】数字翻转相关
查看>>
html5+css3+js开发APP实例教程1 -- 文字列表
查看>>
shell编程之正则表达式基础
查看>>
Android之图片
查看>>
Edittext 各种属性
查看>>
Cisco BGP后门路由解析
查看>>
NDK问题 之一: Javah 生成.h文件
查看>>
Kafka 源码剖析(一)
查看>>
cocos2d-x游戏例子01:是男人就坚持20秒(WIN32)
查看>>
初识html5 File API实现带有进度提示的文件上传
查看>>