首页
课程
问答
CTF
社区
招聘
看雪峰会
发现
排行榜
知识库
工具下载
看雪20年
看雪商城
证书查询
登录
注册
首页
社区
课程
招聘
发现
问答
CTF
排行榜
知识库
工具下载
看雪峰会
看雪商城
证书查询
社区
编程技术
发新帖
0
0
[讨论]创建一个进程到底需要多少内存开销??
发表于: 2008-12-9 00:49
4868
[讨论]创建一个进程到底需要多少内存开销??
hackself
2008-12-9 00:49
4868
我是这么计算页表所花的内存的:
每个进程有4GB的地址空间 内存管理的最小单位是4KB
那个也就是说有4*1024*1024 / 4 =1MB 的个表项
如果每个表项占用 10 个字节(这是我个假设的,有可能更多)
那个每创建一个进程,光 页表就花去了10*1MB=10MB的内存????
不知道我这样认为对不对????我十分困惑,求高人指点迷津!!!!!!
[课程]Linux pwn 探索篇!
收藏
・
0
免费
・
0
支持
分享
分享到微信
分享到QQ
分享到微博
赞赏记录
参与人
雪币
留言
时间
查看更多
赞赏
×
1 雪花
5 雪花
10 雪花
20 雪花
50 雪花
80 雪花
100 雪花
150 雪花
200 雪花
支付方式:
微信支付
赞赏留言:
快捷留言
感谢分享~
精品文章~
原创内容~
精彩转帖~
助人为乐~
最新回复
(
3
)
妖精飞鸟
雪 币:
200
活跃值:
(10)
能力值:
( LV2,RANK:10 )
在线值:
发帖
0
回帖
1
粉丝
0
关注
私信
妖精飞鸟
2
楼
首先,页表是由页目录和页表项组成,页目录每个条目4B,共1024个,每个页表目录项指向1024个页表项,而每个页表项占用4B,所以按你的假设,应该是共4KB+4MB的内存~
但是呢,每个进程不会用到4GB那么多内存,所以也不会存在那么多的页表,应该是随着进程需要的内存大小增加,而增加页表大小~
2008-12-9 22:51
0
hackself
雪 币:
267
活跃值:
(10)
能力值:
( LV3,RANK:20 )
在线值:
发帖
16
回帖
52
粉丝
0
关注
私信
hackself
3
楼
但是呢,每个进程不会用到4GB那么多内存,所以也不会存在那么多的页表,应该是随着进程需要的内存大小增加,而增加页表大小~
老兄,首先谢谢你的回答!!!可是,有资料证明你的说法吗????还是自己这么想的???
因为事关 学习,所以不敢贸然相信...
我知道应用程序是不可能得到4GB的物理内存的,但是,进程访问4GB虚拟内存中的任何一个地址都是有可能的...如果不先做好页表项以提供地址映射,程序如何运行??
如果是动态增加页表大小 的话???那系统是如何管理 所有页表所占的那部分内存???那不还得建数据结构对这部分内存进程管理??我实在是想不通啊???
2008-12-9 23:37
0
hackself
雪 币:
267
活跃值:
(10)
能力值:
( LV3,RANK:20 )
在线值:
发帖
16
回帖
52
粉丝
0
关注
私信
hackself
4
楼
没有回复??顶起来!!!!!!!
2008-12-10 18:40
0
游客
登录
|
注册
方可回帖
回帖
表情
雪币赚取及消费
高级回复
返回
hackself
16
发帖
52
回帖
20
RANK
关注
私信
他的文章
[求助]让Button 响应 MouseMove 消息
6412
[求助]幸运28 辅佐工具 的编写
4093
[求助]如何得到进程的图标(像360那样)
4464
[求助]关于核区地址空间的访问问题??
3826
[讨论]创建一个进程到底需要多少内存开销??
4869
关于我们
联系我们
企业服务
看雪公众号
专注于PC、移动、智能设备安全研究及逆向工程的开发者社区
看原图
赞赏
×
雪币:
+
留言:
快捷留言
返回
顶部