假设我们有一些x86指令
mov eax, [ebx]
而值[ebx]是一些地址0x123456789.
[ebx]
0x123456789
此地址0x123456789是指虚拟地址还是物理地址?
如果是虚拟的话,这会在执行进程的进程虚拟地址空间,还是内核虚拟地址空间?
阅读每个程序员应该了解的内存,它指出"虚拟地址空间由CPU的内存管理单元(MMU)实现".
那么是否存在独立于操作系统的CPU虚拟地址空间?除了内核虚拟地址空间之外,为什么还需要它?如果没有操作系统,CPU如何执行虚拟到物理转换?
assembly operating-system
assembly ×1
operating-system ×1