|
楼主 |
发表于 2003-8-12 08:50:10
|
显示全部楼层
我的工作是基于mips体系结构的,
在load一个elf文件到内核运行的时候,
需要把这个文件map到一个内存空间vma,
将来对文件的访问就成了对内存数组的访问.
但是由于可执行文件在elf文件中大致要分成data段和text段,
这两个段的属性显然不会相同,所以要影射到两个不同的vma.
问题就出在这里:
在影射data段的时候,
内核要检查data段在文件中的偏移,
这个偏移根据elf文件的规范,
是要4k对齐的,
如果内存的页大小是16k,
在do_mmap开始检查offset的偏移时,
必然会出错,而不进行mmap空间的建立.
其实,我觉着这种检查过分严厉,
也许有别的目的,在这里只是出于实验的目的,
我就不再检查.
也许后面还有问题,
不过车到山前必有路.
你说的super page,
我在网上也大体看到过,
它集成在主流内核中了吗?从哪个版本开始?
如果没在主流内核中,你能大致介绍一下,或者给点资料看吗?
谢谢先. |
|