Hello World

Your description here.

内存空间的扩充

默认分类 0 评

title: 内存空间的扩充
tags: 操作系统

date: 2021-12-27 21:28:11

覆盖技术

​ 将程序分为多个段(多个模块),常用的段常驻内存,不常用的段在需要时调入内存。覆盖主要在同一个作业或同一个进程内进行。覆盖技术中,内存被分为一个“固定区” 和若干个“覆盖区”,“固定区” 包含常用的段,“覆盖区”主要是不常用的段;覆盖结构必须由程序员声明,并且覆盖只能覆盖那些与覆 盖程序段无关的程序段。

交换技术

​ 将内存中某些进程暂时换出外存。把外存中某些已经具备运行条件的进程换入内存,即进程在内存与磁盘间动态调度。

虚拟存储技术

​ 基于局部性原理,在程序装入时,可以将程序中很快会用到的部分装入内存,暂时不用的部分留在外存,就可以让程序开始执行。在程序执行过程中,当所访问的信息不在内存时,由操作系统负责将所需信息从外存调入内存,然后继续执行程序。 (请求调页功能) 若内存空间不够,又由操作系统负责将内存中暂时用不到的信息换入到外存中去(页面置换功能)

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

虚拟存储器基本特征包括:

  • 虚拟扩充:从逻辑上扩充了容量;使用户看到的内存容量远大于实际的容量;
  • 部分装入:每个作业不是全部一次性地装入内存,而是只装入一部分;
  • 离散分配: 不必占用连续的内存空间;
  • 多次兑换:所需的全部程序和数据要分成多次调入内存;

局部性原理

  • 时间局部性: 如果执行了程序中的某条指令,那么不久后这条指令很有可能再次执行;如果某个数据被访问过,不久之后该数据很可能再次被访问。(程序存在大量循环)
  • 空间局部性:一旦程序访问了某个存储单元,在不久后,其附近的存储单元也很有可能被访问。(数据在内存中连续存放,程序指令也是顺序存放)
  • 高速缓存技术:使用频繁的数据放入到更高速的存储器中。
Git拉取,推送资料
快来做第一个评论的人吧~