操作系统之基本分页存储管理

目录

内存与进程的分割

关键名词解释

页表的作用

逻辑地址到物理地址的转换

基本地址变换机构

引入快表

引入二级页表

虚拟存储技术


内存与进程的分割

基本分页存储管理将内存空间和进程分割成大小相等的区域,这些区域分别称为页框(或页帧、内存块、物理块、物理页面)和页。操作系统以页框为单位为进程分配内存空间,每个进程的页面分别放入一个页框中,形成一一对应的关系。

关键名词解释

  • 内存空间分区:页框、页帧、内存块、物理块、物理页面均指内存中的固定大小区域。页框号、页帧号、内存块号、物理块号、物理页号用来唯一标识这些区域。
  • 进程逻辑分区:页或页面是指进程逻辑地址空间中的分区,页号用于标识这些逻辑页面。

页表的作用

为了跟踪进程的每个页面在内存中的位置,操作系统为每个进程建立一张页表。页表通常存储在进程控制块(PCB)中,包含页号和块号的映射关系。

逻辑地址到物理地址的转换

逻辑地址转换为物理地址的过程如下:

  1. 计算页号和页内偏移量

    • 页号 = 逻辑地址 / 页面长度(取整数部分)
    • 页内偏移量 = 逻辑地址 % 页面长度(取余数部分)
  2. 查找页表:通过页号在页表中找到对应的页表项,获取内存块号。

  3. 计算物理地址:物理地址 = 块号 * 块大小 + 页内偏移量

由于页面大小是2的整数幂,计算机硬件可以快速计算页号和页内偏移量,无需进行除法运算。

基本地址变换机构

地址变换机构包括页表寄存器(PTR),它存储页表的起始地址和长度。地址转换步骤如下:

  1. 从逻辑地址中提取页号和页内偏移量。
  2. 检查页号的合法性。
  3. 若页号合法,通过页表找到对应的内存块号。
  4. 计算物理地址并访问内存单元。

如果页号不合法或页表项不存在,系统会产生越界中断或缺页中断。

引入快表

快表(TLB)是一种高速缓存,用于存储最近访问的页表项。在查询页表前,先访问快表,若快表命中,则可跳过页表查询,从而提高地址转换速度。

引入二级页表

当页表变得很大时,可以使用二级页表来减少内存占用。二级页表将页表分页并离散存储,通过页目录表来管理这些页表。二级页表的地址转换步骤如下:

  1. 将逻辑地址拆分为页目录号、页号和页内偏移量。
  2. 查找页目录表以获得二级页表的位置。
  3. 查找二级页表以获得内存块号。
  4. 结合页内偏移量计算物理地址。

虚拟存储技术

通过在页表项中增加标志位,可以实现在需要时才将页面调入内存的虚拟存储技术。如果访问的页面不在内存中,系统会产生缺页中断,并将页面从外存调入内存。

猜你喜欢

转载自blog.csdn.net/song0789/article/details/143193816