虚拟地址、逻辑地址、线性地址、物理地址。是啥关系
刚学习这个层面的问题时是这么想的:假设源代码中第一个指令占1字节、第二个指令占3字节,第三个指令占1字节。那么编译后的EXE应为5字节,同时第一个指令的地址是0,第二个指令的地址是1,第三个指令的地址是4。我以为这里的0、1、4就是虚拟地址
后来学习王爽的8086汇编,知道了:物理地址 = 段地址 * 16 + 偏移地址。我对物理地址的理解是这样的:去电子市场买电脑,告诉他配个2G内存的电脑,这2G内存就是物理地址,同时也是物理地址上限。
后来又听说了逻辑地址和线性地址,我在想他俩是不是这样的:
假设:段地址:1000(十进制)。。。。。偏移地址:250(十进制)
逻辑地址是不是这样的:1000:【250】(假设运行在32位处理器)
线性地址是不是这样的:1000+250=1250(假设32未处理器)
然后用线性地址通过GDT和LDT查到物理地址