【问题标题】:Diff. between Logical memory and Physical memory差异。逻辑内存和物理内存之间
【发布时间】:2014-11-12 16:07:40
【问题描述】:

在理解内存管理中分页的概念时,我通过了“逻辑内存”和“物理内存”这两个术语。谁能告诉我差异。两者之间 ??? 物理内存=硬盘 和逻辑内存 = RAM

【问题讨论】:

  • RAM 也是物理可用的。你的意思是“逻辑地址”和“物理地址”吗?你能引用一些完整的句子吗?您是否自己进行过搜索和研究 (stackoverflow.com/help/how-to-ask)?
  • 谷歌搜索“逻辑和物理内存”给出:“大约 20,500,000 个结果”。我真的不喜欢吸血鬼指挥的谷歌奴隶。否决票和近距离投票。
  • @xmojmr 书中的一句话:-“实现分页的基本方法包括将'物理内存'分成称为帧的固定大小的块并破坏'逻辑内存' 分成相同大小的块,称为 Pages。"

标签: operating-system


【解决方案1】:

这里有三个相关的概念:

  1. 物理 -- 实际设备

  2. 逻辑 -- 到物理设备的转换

  3. 虚拟——物理设备的模拟

很少使用术语“逻辑内存”,因为我们通常使用术语“虚拟内存”来涵盖内存的虚拟和逻辑转换。

在地址转换中,我们有一个页面索引和一个指向该页面的字节索引。

进程中第N个路径的页索引可以称为逻辑内存。操作系统将序数页码重定向到某个任意物理地址。

这很少被称为逻辑内存的原因是页面使用分页模拟,成为虚拟地址。

地址转换是逻辑和虚拟的结合。正常的用法是将整个事物称为“虚拟内存”。

我们可以想象,在未来,随着内存的增长,分页将完全消失。我们将拥有逻辑内存系统,而不是虚拟内存系统。

【讨论】:

    【解决方案2】:

    到目前为止还不是很清楚,这里是:

    物理内存是 CPU 在其地址总线上的地址。这是软件可以达到的最低级别。物理内存被组织成一个 8 位字节序列,每个字节都有一个物理地址。

    每个应用程序都必须在物理级别管理其内存显然是不可行的。因此,从早期开始,CPU 就引入了统称为“内存管理”的内存抽象。 这些都是由内核管理的可选但无处不在的 CPU 功能:

    线性内存是用户级程序在其代码中寻址的内容。它被视为一个连续的地址空间,但在幕后每个线性地址都映射到一个物理地址。这允许用户级程序以通用方式寻址内存,并将物理内存的管理留给内核。

    然而,事情没那么简单。用户级程序使用不同的内存模型来寻址线性内存。您可能听说过的一种是分段记忆模型。在此模型下,程序使用逻辑地址寻址存储器。每个逻辑地址指的是映射到线性地址空间的表条目。通过这种方式,o/s 可以将应用程序分解为内存的不同部分作为安全功能(此处不详)

    在 Intel 64 位(IA-32e,64 位子模式)中,从不使用分段内存,而是每个程序都可以使用 平面内存模型来寻址所有 2^64 字节的线性地址空间强>。顾名思义,所有线性内存都可以在字节访问级别上使用。这是最直接的。

    最后我们来到了虚拟内存。这是由 MMU 促进的 CPU 的一项功能,用户级程序完全看不到它,并由内核管理。它允许将物理地址映射到虚拟地址,组织为页表(“页表”)。当启用虚拟内存(“分页”)时,可以将表加载到 CPU 中,从而将程序引用的内存地址透明地转换为物理地址。当运行不同的程序时,内核会动态地换入和换出页表。这允许在进程/内存管理中进行优化和安全性(此处不详)

    请记住,线性和虚拟内存是可以协同工作的独立功能。如果分页被禁用,线性地址将与物理地址一一对应。启用后,线性地址将映射到虚拟内存。

    注意事项:

    【讨论】:

      【解决方案3】:

      物理内存是 RAM;其实属于主存。逻辑地址是CPU生成的地址。在分页中,借助页表将逻辑地址映射到物理地址。逻辑地址包含页码和偏移地址。

      【讨论】:

        【解决方案4】:

        CPU 生成的地址通常称为逻辑地址,而内存单元看到的地址(即加载到内存的内存地址寄存器中的地址)通常称为物理地址地址

        【讨论】:

          【解决方案5】:

          我想在这里添加一个简单的答案。

          • 物理内存:这是实际存在的内存,每个进程都需要空间来执行它们的代码。
          • 逻辑内存: 对于用户程序来说,内存似乎是连续的,假设一个程序需要 100 MB 的内存空间,对于这个程序来说,虚拟地址空间/逻辑地址空间从 0 开始,一直到某个有限的数字。这个地址是由 CPU 生成的,然后MMU 然后通过一些页表或任何其他实现映射的方式将此虚拟地址映射到实际物理地址。

          请更正我或在此处添加更多内容。谢谢!

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2022-10-16
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2013-09-09
            • 1970-01-01
            相关资源
            最近更新 更多