第三章 内存管理 十一、虚拟内存的基本概念

目录

一、传统存储管理

1、缺点

二、局部性原理

1、时间局部性:

2、空间局部性:

三、虚拟内存的定义和特征

1、结构

​编辑

2、定义

3、特征

(1)多次性:

(2)对换性:

(3)虚拟性:

四、如何实现虚拟内存

五、总结


一、传统存储管理

第三章 内存管理 十一、虚拟内存的基本概念_第1张图片

1、缺点

(1)一次性:作业必须一次性全部装入内存后才能开始运行。

这会造成两个问题:

①作业很大时,不能全部装入内存,导致大作业无法运行;

②当大量作业要求运行时,由于内存无法容纳所有作业,因此只有少量作业能运行,导致多道程序并发度下降。

(2)驻留性:一旦作业被装入内存,就会一直驻留在内存中,直至作业运行结束。

事实上,在一个时间段内,只需要访问作业的一小部分数据即可正常运行,这就导致了内存中会驻留大量的、暂时用不到的数据,浪费了宝贵的内存资源。

二、局部性原理

1、时间局部性:

如果执行了程序中的某条指令,那么不久后这条指令很有可能再次执行;

如果某个数据被访问过,不久之后该数据很可能再次被访问。(因为程序中存在大量的循环)

2、空间局部性:

一旦程序访问了某个存储单元,在不久之后,其附近的存储单元也很有可能被访问。

(因为很多数据在内存中都是连续存放的,并且程序的指令也是顺序地在内存中存放的)

三、虚拟内存的定义和特征

1、结构

第三章 内存管理 十一、虚拟内存的基本概念_第2张图片

2、定义

  1. 虚拟内存是一种计算机操作系统的内存管理技术,它将计算机物理内存和硬盘上的空间结合起来,使得进程能够使用超过物理内存容量的内存。
  2. 虚拟内存将进程所需的部分数据和代码存储到物理内存中,而将不经常使用的数据和代码存储到硬盘上,当需要使用这些数据和代码时,再从硬盘上通过页调度等技术交换到物理内存中。
  3. 虚拟内存可以大大提高计算机的运行速度和多任务处理能力。

3、特征

(1)多次性:

无需在作业运行时一次性全部装入内存,而是允许被分成多次调入内存。

(2)对换性:

在作业运行时无需一直常驻内存,而是允许在作业运行过程中,将作业换入、换出。

(3)虚拟性:

从逻辑上扩充了内存的容量,使用户看到的内存容量,远大于实际的容量。

四、如何实现虚拟内存

虚拟内存一般是通过操作系统来实现的,具体的实现方式如下:

  1. 分页系统:将虚拟地址空间划分为固定大小的页面(称为虚拟页面),并将物理内存也分为相同大小的页面(称为物理页面)。当程序访问一个虚拟地址时,操作系统会将其转换为物理地址,并将相关的物理页面调入内存。

  2. 页面置换算法:当内存不足时,需要选择一些不常用的物理页面来释放,以便新的页面可以被调入内存。常用的页面置换算法包括最近最少使用(LRU)、先进先出(FIFO)等。

  3. 页面缓存:操作系统也会使用一些缓存来优化虚拟内存的访问性能。比如,缓存一些常用的页面,以便快速访问;或者使用预读策略,提前将可能用到的页面缓存到内存中。

  4. 交换空间:当物理内存不足时,操作系统会将一部分内存中的页面写回磁盘,并将它们存储在交换空间中。当需要时,可以将这些页面重新调回内存中。

总的来说,实现虚拟内存需要操作系统提供一系列的管理策略和机制,以便能够有效地管理内存,并提供较好的性能和可靠性。

第三章 内存管理 十一、虚拟内存的基本概念_第3张图片

五、总结

第三章 内存管理 十一、虚拟内存的基本概念_第4张图片

你可能感兴趣的:(操作系统学习,操作系统)