美文网首页Python
虚拟内存的基本概念

虚拟内存的基本概念

作者: HRADPX | 来源:发表于2019-07-28 15:47 被阅读6次

本文内容

1 传统存储管理方式的特征、缺点

  (1) 一次性:作业必须一次性全部装入内存后才能开始运行。这会导致两个问题:

  1. 作业很大时不能全部装入内存,导致大作业无法运行。
  2. 当大量作业要求运行时,由于内存无法容纳所有作业,因此只有少量作业能运行,导致多道程序并发度下降。

  (2) 驻留性:一旦作业被装入内存,就会一直驻留内存,直到作业运行结束。事实上,在一个时间段内,只要访问作业的一小部分数据即可正常运行,这就导致了内存中会驻留大量的、暂时用不到的数据,浪费了宝贵的内存资源。
  基于上面的问题,引入了虚拟存储技术。

2 局部性原理

回顾之前说的局部性原理:
  (1) 时间局部性:如果执行了程序中的某条指令,那么不久后这条指令很有可能再次执行;如果某个数据被访问过,不久之后该数据很可能再次被访问。(因为程序中可能存在大量的循环)
  (2) 空间局部性:一旦程序访问了某个存储单元,在不久之后,其附近的存储单元也很有可能被访问。(因为很多数据在内存中是连续存放的,如数组,并且程序指令也是顺序地在内存中存放的)。
  基于局部性原理,就有了高速缓冲技术的思想。高速缓冲思想:将近期会频繁访问到的数据放到更高速的存储器中,暂时用不到的数据放在更低速存储器中。

  例如前面说到的快表机构就是讲近期常访问的页表项副本放到更高速的联想寄存器中。

3 虚拟内存的定义和特征

  3.1 虚拟技术的思想

  基于局部性原理,在程序装入时,可以将程序中的很快会用到的部分装入内存,暂时用不到的部分留在外存,就可以让程序开始执行。

  3.2 与传统存储方式的区别

  (1) 在程序执行的过程中,当所访问的信息不在内存时,由操作系统负责将所需的信息从外存调入内存,然后继续执行程序。——操作系统需要提供调页(段)的功能。
  (2) 若内存空间不够,由操作系统负责将内存中暂时用不到的信息换出到外存。——操作系统需要提供置换页(段)的功能。

  3.3 虚拟内存

  在操作系统的管理下,在用户看来似乎有一个比实际内存大得多的内存,这就是虚拟内存。如果计算机内存4GB,而一个软件是10GB,但是我们的计算机仍可以运行的原因。虚拟内存是操作系统的虚拟性的一个体现,实际物理内存大小没有变,只是逻辑上进行了扩充。

  3.4 虚拟内存的特征

  (1) 多次性:无需在作业运行时一次性全部装入内存,而是允许被分多次调入内存。
  (2) 对换性:在作业运行时无需常驻内存,而是允许在作业执行过程中,将作业换入、换出。
  (3) 虚拟性:从逻辑上扩充了内存容量,使用户看到的内存容量,远大于实际容量。

4 如何实现虚拟内存技术

  虚拟内存技术:允许一个作业分多次调入内存。如果采用连续的分配方式,会不方便实现。因此,虚拟内存的实现需要建立在离散分配的内存管理方式基础上。

  两者区别:(1)操作系统要提供请求调页(或请求调段)的功能;(2) 操作系统要提供页面置换(或段置换)的功能。
  具体实现:见下一篇请求分页管理方式

5 小结

  本文完

相关文章

  • MacOS, iOS 内存的基本概念和分析工具

    一些基本概念 Virtual Memory(虚拟内存) 虚拟内存指的是一个程序程序运行时,使用的内存空间。虚拟内存...

  • 虚拟内存

    虚拟内存,分页文件,交换空间等等,它们本质上都是一个东西。 1、硬盘内存基本概念 1.1 什么是虚拟内存 虚拟内存...

  • 操作系统(三)内存管理 3.2 虚拟内存管理

    3.2 虚拟内存管理 3.2.1 虚拟内存的基本概念 3.2.1.1 传统存储管理方式的特征 传统存储管理很多暂时...

  • TLB缓存是个神马鬼,如何查看TLB miss?

    介绍TLB之前,我们先来回顾一个操作系统里的基本概念,虚拟内存。 虚拟内存 在用户的视角里,每个进程都有自己独立的...

  • 虚拟内存的基本概念

    本文内容 1 传统存储管理方式的特征、缺点 (1) 一次性:作业必须一次性全部装入内存后才能开始运行。这会导致两个...

  • vxworks内存管理(一)

    vxworks中内存分配采用最先适配法,提供2种虚拟内存接口。 5.1 基本概念 嵌入式系统的存储器,主要有内部/...

  • iOS启动优化-1

    启动优化基本概念1 虚拟内存 & 物理内存 早期的数据访问是直接通过物理地址访问的,这种方式有以下两个问题: 1、...

  • Java NIO

    基本概念 缓冲区的操作用户空间缓冲区内核空间缓冲区DMA用户空间相对于内核空间的限制 -发散汇聚 虚拟内存物理内存...

  • 操作系统——内存映射

    定义 虚拟内存的目标存储器是磁盘,所以虚拟内存区域是和磁盘中的文件对应的。初始化虚拟内存的内容时,会把虚拟内存区域...

  • 操作系统内存

    Linux 内存 一、虚拟内存 这个虚拟内存指的是“进程的虚拟内存”,或者说是虚拟地址空间,注意与” Linux ...

网友评论

    本文标题:虚拟内存的基本概念

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