首页
社区
课程
招聘
[求助]虚拟内存的疑惑(已解决)
发表于: 2013-7-25 01:08 5309

[求助]虚拟内存的疑惑(已解决)

2013-7-25 01:08
5309
最近在看Windows内存管理机制,想弄清楚一些概念,刚才百度了一下虚拟内存:

虚拟地址:4G虚拟地址空间中的地址,程序中使用的都是虚拟地址。
如果CPU寄存器中的分页标志位被设置,那么执行内存操作的机器指令时,CPU会自动根据页目录和页表中的信息,把虚拟地址转换成物理地址,完成该指令。
比如 mov eax,004227b8h ,这是把地址004227b8h处的值赋给寄存器的汇编代码,004227b8这个地址就是虚拟地址。

其中我感到困惑的是004227b8h竟然是虚拟地址,所以有下面三个问题
1.是不是用分析工具如od调试程序所显示的汇编代码中的地址(如上面的004227b8h)都是虚拟地址,需要cpu自动转换为物理地址?
2.那如果用ce分析一个进程的话,那我们直观看到的所有内存地址都是虚拟地址?
3.最后是,是不是在Windows保护模式下借助任何工具看到的地址都是虚拟地址(什么都是假的,程序都被骗了)?

请大侠们多多指导,解除疑惑,本人第一次发帖...因为有些概念必须理解清楚,才能更好的学习下去,先谢谢了...当然大家也可以谈谈自己对虚拟地址或是内存管理机制的看法..

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 0
支持
分享
最新回复 (4)
雪    币: 524
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
1.windows保护模式下的都是虚拟地址然后需要MMU组件转换成物理地址。mmu也是查询页表
2.都是虚拟地址
3.是的

只要知道虚拟地址就行了,至于虚拟地址转物理地址都是计算机硬件(MMU)自动完成
2013-7-25 07:57
0
雪    币: 2155
活跃值: (29)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
3
你要是想看实际地址,估计要在芯片上飞线了。。。
2013-7-25 08:51
0
雪    币: 100
活跃值: (26)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
十分感谢解答
2013-7-25 09:04
0
雪    币: 100
活跃值: (26)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
嗯,谢谢了
2013-7-25 09:05
0
游客
登录 | 注册 方可回帖
返回
//