欢迎来到Doc100.Net免费学习资源知识分享平台!
您的位置:首页 > 程序异常 >

关于每个进程都有4g空间的有关问题

更新时间: 2014-01-05 03:17:16 责任编辑: Author_N1

 

关于每个进程都有4G空间的问题
我个人以为,所谓的4G,其实是说,看你内存的大小来分配多少个PDE,不是说一定是4G,是最大是4G,接下来因为每个进程进行初始化的时候,它们的ss,es,ds,fs都是gdt表的数据段,所以说它是拥有了全部的内存,当然了,有些部分给系统给占了,或者是分配内存的策略了,所以我觉得的拥有4G是个假设,不是一定,要看情况
--参考方法--
是4gb的地址范围,未必实际有
--参考方法--
 linux/unix这种是页管理内存,32位u寻址范围4G 更老的u 8,16位用段式管理、用的是基地址加偏移的方式
linux下uboot引导内核之前,必须开mmu,也就是是内存管理单元,而且需要建立几级页表,因为页表面至少需要两个字段一个标记是否被使用,一个是索引。所以,如果只有一级页表的话,需要4g条记录,这样占用的空间非常大,是绝对不可能的,用一个全局页表,用一个页目录表,用一个页内偏移,可以这么分配,全局页表用1k条记录,页目录表用1k条记录,页内偏移范围4k,1k*1k*4k可以所以的记录是不是4G范围,这样的话只需要三级页表,占用的空间也小很多.页表需要代码建立,mmu负责翻译虚拟地址对应的物理地址。
上一篇:上一篇
下一篇:下一篇

 

随机推荐程序问答结果

 

 

如对文章有任何疑问请提交到问题反馈,或者您对内容不满意,请您反馈给我们DOC100.NET论坛发贴求解。
DOC100.NET资源网,机器学习分类整理更新日期::2014-01-05 03:17:16
如需转载,请注明文章出处和来源网址:http://www.doc100.net/bugs/t/20399/
本文WWW.DOC100.NET DOC100.NET版权所有。