Memory 当我们有逻辑内存时,为什么需要虚拟内存?

Memory 当我们有逻辑内存时,为什么需要虚拟内存?,memory,memory-management,virtual-memory,Memory,Memory Management,Virtual Memory,以下是我的理解: 逻辑内存:没有实际的逻辑内存空间。它包括CPU在执行进程时允许生成的地址。逻辑内存的页面映射到物理内存的帧(与页面大小相同) 要执行进程,在开始执行之前,必须将其所有页面加载到物理内存(即帧中)。在执行该过程之后,将释放帧 我说得对吗?虚拟内存是如何工作的?关于amd64体系结构,请参见:第54页 它们定义: 逻辑地址位于分段地址空间内的地址(实际上,通常不使用该模式)。通过将段基址添加到偏移量,可以将逻辑地址转换为线性地址 线性地址是程序员看到的实际上是64位的地址,因此比可

以下是我的理解:

逻辑内存:没有实际的逻辑内存空间。它包括CPU在执行进程时允许生成的地址。逻辑内存的页面映射到物理内存的帧(与页面大小相同)

要执行进程,在开始执行之前,必须将其所有页面加载到物理内存(即帧中)。在执行该过程之后,将释放帧


我说得对吗?虚拟内存是如何工作的?

关于amd64体系结构,请参见:第54页

它们定义: 逻辑地址位于分段地址空间内的地址(实际上,通常不使用该模式)。通过将段基址添加到偏移量,可以将逻辑地址转换为线性地址

线性地址是程序员看到的实际上是64位的地址,因此比可用的物理内存多得多。操作系统可能会根据使用情况管理从硬盘到硬盘的内存页交换。程序员对此一无所知

物理地址是程序员从未见过的内存地址。 在读写内存之前,分页系统被授权将线性地址与物理地址相关联

与上述定义相比,您使用术语逻辑地址而不是线性(虚拟)地址。 并非所有帧都应加载。可以根据需要加载

虚拟内存是一种向程序员显示巨大线性地址空间(2^64字节=16EBytes=~1000000 TB)的技术,而物理内存则受到更大的限制,并根据需要将该内存映射到作为硬盘的外部存储设备

我说得对吗?虚拟内存是如何工作的

一点也不

有三种类型的地址转换:

  • 物理->直接物理地址
  • 逻辑->逻辑地址通过页表重新映射到物理地址
  • 虚拟->物理内存使用辅助存储进行模拟
  • 除非有逻辑内存转换,否则虚拟转换不起作用。当存在未映射到物理页面框架的有效逻辑页面时,虚拟转换将接管。在这种情况下,虚拟转换将接管查找辅助存储中的数据

    在计算机文档的许多方面,虚拟和逻辑与虚拟相结合。在虚拟地址空间比物理地址空间大(例如4GB虚拟地址空间和8MB物理地址空间)的日子里,这种融合并不显著

    现在,当物理内存增长到GB范围时,在保留逻辑转换的同时,对虚拟转换的需求越来越少。这意味着两者之间的区别变得越来越明显