操作系统

为程序分配内存

  • 分两种情况,又不同的技术
  • 一开始程序存储于外存中

程序可以完整的存入物理内存

  • child::

    交换

    • 当程序运行时,把一整个程序调入到内存中,并为其分配一定的内存
      • child::查找空闲内存
      • 大部分进程在运行时都要增长,为减少因内存区域不够而引起的进程交换和移动所产生的开销,为进程分配一些额外的内存
        • 如图:|
    • 当进程空闲时,又将其存入硬盘中
    • 这两个过程会造成内存空洞

    实例

    |

    指向原始笔记的链接

程序所需内存大于物理内存

  • child::

    虚拟内存

    • 虚拟内存作为程序的逻辑地址空间
    • 虚拟内存大于物理内存,只有一部分虚拟内存能映射为物理内存
      • 当需要访问映射表外的虚拟内存时, 卸载一些虚拟内存以及对应的物理内存, 装入新的。
        • 卸载的物理内存的内容存放到外存中
        • 这一过程称为页面置换
    指向原始笔记的链接