一、实存管理

存储管理的任务是存储空间的分配与回收。现代操作系统通常有:

  • 单一连续分配方法
  • 固定分区分配方法
  • 可变分区分配方法

在可变分区分配方式中,当新作业申请内存时,有4种分配算法:

  • 最佳适应法:选择等于或最接近作业大小的内存进行分配。可以减少碎片,但同时也可能带来更多小得无法再用的碎片。
  • 最差适应法:选择整个主存中最大的内存自由区进行分配。
  • 首次适应法:从内存低地址开始,寻找第一个可用(即大于等于作业需求的内存)的自由区。这种方法可实现快速分配,缩短查找时间。
  • 循环首次适应算法:是首次适应法的变种,从上次分配的地址继续向下匹配。

二、虚存管理

由于内存的大小总是有限的,如果都采用“实存管理”,那么大于总物理内存的作业就无法运行。为了解决这个问题,可行的方法就是用外存来换取内存,这就是虚拟存储系统。它通过将运行进程访问的地址(逻辑地址,虚拟地址)与主存的物理地址(实地址)分开,使提供大于物理地址的逻辑地址空间成为可能。而建立虚拟地址和实地址之间的对应关系、实现转换的工作就称为“虚存管理”。

1、虚存组织

常见的有分页技术、分段技术、段页式技术三种。

分页管理,页的大小是固定的,不利于程序的共享和管理。
分段管理,段的大小是不固定的,不利于内存的管理。

2、虚存管理

在虚存的管理中涉及载入(调入)、放置(放入分区)和交换(swapping)等问题。

(1)调入策略

即何时将一页或一段从外存调入内存。通常有两种:

  • 请求调入法,即需要使用时才调入;
  • 先行调入法,即将预计要使用的页/段先行调入主存。

例1:假设段页式存储管理系统中的地址结构如图所示,则( 最多有256个段,每个段最大允许有2048个页,页的大小为 8K)。

例2:某进程有4个页面,页号为0~3,页面变换表及状态位、访问位和修改位的含义如下图所示。系统给该进程分配了3个存储块,当采用第二次机会页面替换算法时,若访问的页面1不在内存,这时应该淘汰的页号为( 3 ) 。