操作系统内存管理之分页分段管理

文章目录

  • 1.分页存储管理定义
  • 2.分页存储管理地址的转换
  • 3.页表
  • 4.基本地址变换机构
  • 5.具有快表的地址变换机构
  • 6.单级页表
    • 6.1 单级页表访问时间
    • 6.2 单级页表存在的问题
  • 7.两级页表
    • 7.1 两级页表原理图
    • 7.2 两级页表逻辑地址转换成物理地址
    • 7.3 两级页表访问次数分析(假设没有快表)
  • 8.反置页表
    • 8.1 反置页表引入目的
    • 8.2 反置页表实现
    • 8.3 反置页表地址转换
    • 8.4反置页表基于关联内存实现
    • 8.5反置页表基于哈希算法实现
  • 9.分段的引入目的
  • 10.分段存储管理结构
  • 11.分段存储管理地址变换机构
  • 12.分页和分段
    • 12.1 分页和分段对比
    • 12.2 分页和分段优缺点
  • 13.段页式存储管理
    • 13.1 段页式存储管理结构
    • 13.2 段页式存储管理地址变换机构
  • 14.分页存储管理的相关面试题
  • 15.分段存储管理的相关面试题
    • 1.分段的共享和保护怎么实现

1.分页存储管理定义

  • 分页存储管理系统将进程的逻辑地址空间分为若干页面,并加以编号;同时,把内存地址空间分为若干内存块,并加以编号。
  • 页面大小:当页面过小时,虽然可以减少内存碎片,有利于提高内存利用率,但会造成每个进程占用过多页面,从而导致页表过长,占用大量内存空间;当页面过大时,虽然可以减小页表的长度,提高页面换出换入速度,但页内碎片变大。因此,页面大小应该适中,而且页面大小为2的整数幂,通常为1KB-8KB。
  • 操作系统以内存块为单位为每个进程分配内存空间,进程中的每个页面与内存块对应,每个页面没有必要连续存放,也没有必要按顺序存放

2.分页存储管理地址的转换

  • 算出逻辑地址对应的页号页号=逻辑地址/页面长度
  • 要知道该页号对应页面在内存中的起始位置
  • 算出逻辑地址对应偏移量页面偏移量=逻辑地址%页面长度
  • 物理地址=页面起始地址地址+页面偏移量。
  • 总结:如果每个页面的大小为2的k次方,用二进制表示逻辑地址,则末尾k位表示页内偏移量,前面部分表示页号。因此一般页面大小为2的整数幂。

3.页表

  • 作用:实现从逻辑地址物理地址的映射。
  • 一个进程对应一张页表,每个页表项的长度相同,页号是隐藏的。
  • 进程中的每一页面对应一个页表项,每个页表项有页号和内存块号组成。
  • 页表记录页面内存块之间的对应关系。

4.基本地址变换机构

  • 图解
    操作系统内存管理之分页分段管理_第1张图片

5.具有快表的地址变换机构

  • 具有快表的地址变换机构是基础地址变换机构的改进版
  • 快表:一种访问速度比内存快得多的高速缓存器,用来存放当前访问的若干页表项,可以加快地址变换的过程。
  • 依据特性&#x

你可能感兴趣的:(计算机操作系统)