发新话题
打印

急求各位大侠指导菜鸟,先行谢过了!

急求各位大侠指导菜鸟,先行谢过了!

linux设计人员通过使段的基地址为0,而段的界限为4GB,从而绕过了分段机制,那么会使得同一进程的不同段,如数据段和代码段使用完全相同的线性地址空间(0~4GB),它们会互相覆盖,如果再经过分页机制转换后,它们同属一个进程,共有一个页表,是不是会有些线性地址映射为相同的物理地址?如何保证互相不修改???!!

TOP

引用:
原帖由 zzfzyrzyj 于 2007-3-11 22:01 发表
它们会互相覆盖
LZ你的这个判断不知道从何而来啊?

我觉得LZ所说的“会互相覆盖”的情况不可能出现,连接器ld在连接程序的时候不可能让代码段和数据段的虚拟地址有互相覆盖的情况出现,从而经过页表的映射之后也不可能映射到相同的物理地址上。

[ 本帖最后由 jarodwang 于 2007-3-12 11:11 编辑 ]
The limits of my language mean the limits of my world.

TOP

回复 #2 jarodwang 的帖子

我是从一本linux教程上看到的.
那应该是同一进程的不同段,如数据段和代码段"公用"相同的线性地址空间(0~4GB),而不是重叠,对不对?
非常感谢您及时的指导!

TOP

发新话题