Skip to content

Chapter 9. Virtual Memory

约 346 个字 预计阅读时间 2 分钟

虚拟地址本质是在物理地址和 CPU 间增加一个中间层

虚拟内存供软件使用,CPU 通过虚拟地址访问数据时,由 MMU 转换成对应物理地址

Why Virtual Memory?

物理空间地址对应着系统中实际拥有的 DRAM 容量,而系统上运行的所有进程都具有相同的虚拟空间地址,因此,虚拟空间地址通常比物理空间地址大得多。

之前的章节中我们提到,虚拟地址空间分为 Kernel SpaceUser Space ,其中只有 kernel 代码可以访问 Kernel Space 。实际上,由于所有进程的 Kernel Space 内容都相同,每个进程的地址空间的 Kernel Space 都映射到同一个物理内存上。

  • 第一,将 DRAM 视为虚拟空间地址的一个缓存,仅仅将虚拟地址空间的一部分实际存储在物理存储器中,能够更有效使用内存
    • 虚拟地址中未被缓存的内容仍然存储在磁盘中,但不在 DRAM 上
  • 第二,大大简化了内存管理
  • 第三,对访存进行保护,每个进程有其单独的地址空间

有关虚拟内存,具体内容在大三秋冬学期操作系统课上有所讲解,此处我懒得深入研究了😂

Comments: