美文网首页
第九章《虚拟内存》

第九章《虚拟内存》

作者: ShawnIsACoder | 来源:发表于2019-01-13 21:13 被阅读0次

    什么是虚拟内存

    虚拟内存的出现是为了更有效的管理内存、减少出错。它提供了3个非常重要的能力:

    • 它将主存看做是一个存储在磁盘上的地址空间的高速缓存
    • 它为每个进程提供了一致的地址空间,从而简化了内存管理
    • 它保护了每个进程的地址空间不被其它进程破坏

    物理寻址

    计算机系统的主存被组织成一个连续字节大小的数组,每个字节都有一个唯一的物理地址,类似于下标通过物理地址来访问内存的方式称为物理寻址

    虚拟寻址

    计算机CPU通过一个虚拟地址来访问主存,这种方式称为虚拟寻址虚拟地址终将会被转换为物理地址,这个过程被称为地址翻译,由CPU中的内存管理单元完成

    虚拟页

    VM系统将虚拟内存分割为大小固定的块,称作虚拟页

    在任意时刻,虚拟页面的集合都分为三个不相交的子集:

    • 未分配的:VM系统还未分配或创建的页。未分配的块没有任何数据和它们相关联,因此也就不占用任何磁盘空间
    • 缓存的:当前已缓存在物理内存中的已分配页
    • 未缓存的:未缓存在物理内存中的已分配页

    内存映射

    Linux通过将一个虚拟内存区域与一个磁盘上的对象关联起来,以初始化这个虚拟内存区域的内容,这个过程称为内存映射,虚拟内存区域可以映射到两种类型的对象中的一种:

    • Linux文件系统中的普通文件
    • 匿名文件

    相关文章

      网友评论

          本文标题:第九章《虚拟内存》

          本文链接:https://www.haomeiwen.com/subject/teoldqtx.html