如果 : 一个任务中 , 有两个逻辑地址 , 如果他分别经LDT , GDT 映射后的 线性地址 相同 , 那么他们的物理地址也一样吗?

zerocool_08 2007-09-27 10:04:40
rt
...全文
116 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
a857472271 2007-10-20
  • 打赏
  • 举报
回复
`是一样....
smartgotodo 2007-10-20
  • 打赏
  • 举报
回复
同一个任务,使用相同的页表,线性地址相同,则物理地址也相同。现代待操作系统都使用flat内存模式,所有段都是覆盖的。
Jiessie 2007-10-11
  • 打赏
  • 举报
回复
这样是可以的。段覆盖的情况用得很多。但Windows从来不用LDT。
大熊猫侯佩 2007-09-27
  • 打赏
  • 举报
回复
如果cr3没有变换(同一个任务),则相同
zerocool_08 2007-09-27
  • 打赏
  • 举报
回复
我是这个意思 , 如果任务中 一个逻辑地址 g1:p1 , ( g1是GDT中的段选择符 ,假设这个段的基址为 0 , p1 是偏移地址 , 假设为 100 . 那么这个逻辑地址对应的 线性地址就是 : 0 + 100 = 100 ) ;
而任务中另一个 一个逻辑地址 g2:p2 ( g2是LDT中的段选择符 ,假设这个段的基址为 50 , p2 是偏移地址 , 假设为 50 . 那么这个逻辑地址对应的 线性地址就是 : 50 + 50 = 100 ) ;

这样 这两个逻辑地址 所对应的线性地址就相同了 , 那么他们经过相同的CR3变换成物理地址后也相同吗?( 当然 , 这里好像是段覆盖了, 这样可以吗) ,
glietboys 2007-09-27
  • 打赏
  • 举报
回复
不一样。
逻辑地址由段地址和偏移地址组成,在段页管理下,逻辑地址=线性地址。
LDT和GDT是管理段地址的。
线性地址还由CR3寄存器来管理的。

21,458

社区成员

发帖
与我相关
我的任务
社区描述
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
社区管理员
  • 汇编语言
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧