首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 嵌入开发 > 汇编语言 >

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

2013-08-06 
关于每个进程都有4G空间的问题我个人以为,所谓的4G,其实是说,看你内存的大小来分配多少个PDE,不是说一定是

关于每个进程都有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负责翻译虚拟地址对应的物理地址。

热点排行