【发布时间】:2020-11-09 19:57:21
【问题描述】:
我正在尝试阅读英特尔软件开发人员手册以了解操作系统的工作原理,而这四个寻址术语让我感到困惑。以上是我的理解,如有错误请指正。
线性地址:对于一个孤立的程序来说,一长串从地址 0 开始的内存。该程序的所有段都将从其线性地址寻址。它可能在内存中或磁盘中。
物理地址:出现在 ram 或主存储器引脚中的地址。
逻辑地址:磁盘和内存中交换内存的组合。所有程序的所有线性内存都将保留在逻辑地址空间中。它只能由内核模式使用。从逻辑地址到物理地址的转换由内部硬件完成。
虚拟地址:虚拟地址与线性地址相同。它将仅由操作系统中的用户模式使用。操作系统会从逻辑地址映射虚拟地址。
【问题讨论】:
-
英特尔手册不会直接讨论交换空间。将进程的虚拟地址空间映射到物理页面或 RAM 或将它们分页到磁盘是操作系统的事情,AFAIK 将物理 RAM + 交换的组合作为单个地址空间讨论并不典型。
标签: assembly x86 operating-system ram memory-address