保护模式问题

njtzj 2007-07-23 09:45:42
有两个程序,他们相同虚拟地址映射的物理内存肯定是不同的,可是如果是DLL的话为什么两程序的虚拟地址可以映射相同的物理内存?
...全文
179 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
hkbyest 2007-07-23
  • 打赏
  • 举报
回复
这样吧,njtzj(天之迹)你去看下《Win32汇编语言程序设计 第二版》的p403页,或许那里说得明白点。
njtzj 2007-07-23
  • 打赏
  • 举报
回复
还是不是很清楚,多谢楼上几位
!
hkbyest 2007-07-23
  • 打赏
  • 举报
回复
还有就是当链接dll时使用 /section选项将某个节区设为共享的话也是可以使不同程序装载dll时位于同一物理地址
dxcnjupt 2007-07-23
  • 打赏
  • 举报
回复
操作系统会设置,让两个不同页表的高内存区指向同样的物理地址
hkbyest 2007-07-23
  • 打赏
  • 举报
回复
我的理解是动态加载dll时,该dll映射到一段共享空间,两程序皆可使用这段空间。跟不同程序打开同一文件一样的道理。
settingsun86 2007-07-23
  • 打赏
  • 举报
回复
每个进程有4GB的虚拟地址空间,一半是私有空间,另一半是共享空间。共享库就映射在共享空间中。
大熊猫侯佩 2007-07-23
  • 打赏
  • 举报
回复
//可是如果是DLL的话为什么两程序的虚拟地址可以映射相同的物理内存?

对应位置页表项设置成相同的不就行了
njtzj 2007-07-23
  • 打赏
  • 举报
回复
难道两个线性地址可以表示同一个物理地址?

21,459

社区成员

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

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