Memory management 映像基址、虚拟地址和相对虚拟地址之间的区别是什么?

Memory management 映像基址、虚拟地址和相对虚拟地址之间的区别是什么?,memory-management,operating-system,kernel,reverse-engineering,Memory Management,Operating System,Kernel,Reverse Engineering,映像基址、虚拟地址和相对虚拟地址之间的区别是什么 我所知道的是,在请求分页中,CPU生成一个虚拟地址,其中包含页码地址和偏移量,从中我们检查页表,然后映射到主内存中的相应帧。我们通过计算:(第1帧)*页面大小+偏移量来找到物理地址 但我读到的关于物理可执行文件(PE)格式的内容非常不同。 我发现虚拟地址=映像基+相对虚拟地址偏移量 这两个有什么不同?图像基址到底是什么? 映像基址、虚拟地址和相对虚拟地址之间的区别是什么? 什么时候使用映像基址?在PE文件格式中,映像基址用于二进制虚拟地址本身。应

映像基址、虚拟地址和相对虚拟地址之间的区别是什么

我所知道的是,在请求分页中,CPU生成一个虚拟地址,其中包含页码地址和偏移量,从中我们检查页表,然后映射到主内存中的相应帧。我们通过计算:(第1帧)*页面大小+偏移量来找到物理地址

但我读到的关于物理可执行文件(PE)格式的内容非常不同。 我发现虚拟地址=映像基+相对虚拟地址偏移量

这两个有什么不同?图像基址到底是什么? 映像基址、虚拟地址和相对虚拟地址之间的区别是什么?
什么时候使用映像基址?

在PE文件格式中,映像基址用于二进制虚拟地址本身。应在环境中加载映像的地址。

虚拟地址是为函数/标签(或更具体的符号)地址定义的。
相对地址是指当前上下文中的相对地址,可以是当前父符号地址或段。

什么是PE文件格式?PE代表可移植可执行格式,这是基于windows NT平台的默认可执行机器代码文件格式。从这里阅读更多关于它的信息