title: 内存空间的扩充
tags: 操作系统
date: 2021-12-27 21:28:11
覆盖技术
将程序分为多个段(多个模块),常用的段常驻内存,不常用的段在需要时调入内存。覆盖主要在同一个作业或同一个进程内进行。覆盖技术中,内存被分为一个“固定区” 和若干个“覆盖区”,“固定区” 包含常用的段,“覆盖区”主要是不常用的段;覆盖结构必须由程序员声明,并且覆盖只能覆盖那些与覆 盖程序段无关的程序段。
交换技术
将内存中某些进程暂时换出外存。把外存中某些已经具备运行条件的进程换入内存,即进程在内存与磁盘间动态调度。
虚拟存储技术
基于局部性原理,在程序装入时,可以将程序中很快会用到的部分装入内存,暂时不用的部分留在外存,就可以让程序开始执行。在程序执行过程中,当所访问的信息不在内存时,由操作系统负责将所需信息从外存调入内存,然后继续执行程序。 (请求调页功能) 若内存空间不够,又由操作系统负责将内存中暂时用不到的信息换入到外存中去(页面置换功能)。
虚拟内存技术,允许一个作业分多次调入内存。如果采用连续分配方式,会不方便实现,因此,虚拟内存实现要建立在离散分配的内存管理方式的基础上。
虚拟存储器基本特征包括:
- 虚拟扩充:从逻辑上扩充了容量;使用户看到的内存容量远大于实际的容量;
- 部分装入:每个作业不是全部一次性地装入内存,而是只装入一部分;
- 离散分配: 不必占用连续的内存空间;
- 多次兑换:所需的全部程序和数据要分成多次调入内存;
局部性原理
- 时间局部性: 如果执行了程序中的某条指令,那么不久后这条指令很有可能再次执行;如果某个数据被访问过,不久之后该数据很可能再次被访问。(程序存在大量循环)
- 空间局部性:一旦程序访问了某个存储单元,在不久后,其附近的存储单元也很有可能被访问。(数据在内存中连续存放,程序指令也是顺序存放)
- 高速缓存技术:使用频繁的数据放入到更高速的存储器中。
不错不错,我喜欢看 https://www.jiwenlaw.com/
怎么收藏这篇文章?
看的我热血沸腾啊https://www.ea55.com/
想想你的文章写的特别好www.jiwenlaw.com