分区式存储管理最大的缺点就是碎片化问题严重,内存利用率低,究其原因,主要在于内存连续分配的限制。
分页存储管理的思想:把内存分为一个个相等的小分区,再按照分区大小把进程拆分为一个个小部分。
分页存储管理分为:实分页存储管理和虚分页存储管理。

一、实分页式存储管理

实分页式存储最大的优点是内存利用率高,与目前流行的虚分页存储管理相比,具有实现简单程序运行快的优点。

1. 基本原理

  1. 将整个系统的内存空间划分为一系列大小相等的块,每一块称为一个物理块,物理页或实页,页架或页帧,可简称为,所有的块按物理地址递增顺序连续编号为0、1、2、……。
  2. 每个作业的地址空间也划分成一系列与内存块一样大小的块,每一块称为一个逻辑页或虚页,也有人叫页面,可简称为。所有的页按照逻辑地址递增顺序连续编号为0、1、2、……。
  3. 一个作业,只要它的总页数不大于内存中的可用块数,系统就可以对它实施分配,系统装入作业时,以页为单位分配内存,一页分配一个块,作业所有的页所占用的块可以不连续,系统同时为这个作业建立一个页号与块号的对照表,称为页表。
  4. 每个块的大小是固定的,一般是1/2KB~4KB之间的数值,而且必须是2的幂次。

2. 页表

系统为每一个进程建立一个页表,用于记录页与块之间的对应关系,地址空间有多少页,页表就有多少行,且按照逻辑页中的顺序排列。
页表的划分完全是一种系统硬件的行为,一个逻辑地址放到这种地址结构中,自然就分成了页号和页内地址两部分。
在这里插入图片描述
在分页系统中,允许将作业(进程)的任一页装入到内存中的任一可用的物理块中,但进程的地址空间本来是连续的,若把它分页后装入到不相邻的物理块中,要保证系统仍能正确运行,就要实现从进程的逻辑地址变换为内存的物理地址。
在这里插入图片描述

3. 地址映射

在系统中设置地址变换机构,能将用户进程地址空间中的逻辑地址变为内存空间中的物理地址。
由于页面和物理块的大小相等,页面偏移地址和块内偏移地址是相同的,无需进行从页面地址到块内地址的转移。
页表的作用就是从页号到物理块号的转移,所以地址变换的任务借助于页表来完成的。
在这里插入图片描述
页号 = 逻辑地址 / 页面长度
页内偏移量 = 逻辑地址 % 页面长度

4. 快表

因为页表是存放在内存中的,CPU要存取一个数据,需要访问主存两次。

  • 第一次访问:访问内存中的页表,找到该页的物理块号,将此块号与页内地址拼接形成物理地址;
  • 第二次访问:真正访问物理地址,存取其中的内容。

为了提高存取速度,在地址变换机构中增设一组寄存器,用来存放访问的哪些页表。
快表是一种访问和存储速度比内存快很多的高速缓冲器。
当进程访问一页时,系统将页号与快表中的所有项进行并行比较,若访问的页在快表中,即可立即进行地址转换。当被访问的页不在快表中时,去内存中查询页表,同时将页表找到的内存块号与虚页号填入快表中。

在这里插入图片描述

5. 两级和多级页表

页表如果占用相当大的内存空间,可采用两个方法来解决这一问题:

  • 采用离散分配方式来解决难以找到一块连续的大内存空间的问题;
  • 只将当前需要的部分页表项调入内存,其余的页表项仍驻留在磁盘中,需要时再调入。
    在这里插入图片描述

    6. 页的分配与回收

二、虚拟存储器

引入虚拟存储技术的好处

  • 可以在较小的可用内存中执行较大的用户程序;
  • 可以提供给用户可用的虚拟内存空间通常大于物理内存;
  • 可在内存中容纳更多程序并发执行;

虚拟存储技术的特征

  • 不连续性:物理内存分配的不连续性,虚拟地址空间使用的不连续性;
  • 部分交换:与交换技术相比较,虚拟存储的调入和调出是对部分虚拟地址空间进行的;
  • 大空间:通过物理内存与快速外存相结合,提供大范围的虚拟地址空间;

本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!

设计模式之单例模式 Previous
HTTPS核心知识点 Next