-
-
[求助]虚拟内存的疑惑(已解决)
-
发表于:
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直播授课