操作系统内存管理一(3)基本分页存储管理

操作系统:内存管理一(3)基本分页存储管理

根据王道2024在这里插入图片描述

一、基本概念:

将主存空间划分为大小相等且固定的块,块相对较小,作为主存的基本单位。

  • 不会产生外部碎片

  • 只会在为最后一个不完整的块申请主存空间时,才产生内部碎片(少量页内碎片)

  • 提高内存利用率,提升计算机性能,硬件实现,对用户完全透明

页面(页):

进程中的块

页框(页帧):

内存中的块

块(盘块):

外存中的块

页面大小:

应为2的整数幂。太小,占用大量内存,增加地址转换开销;太大,使页内碎片增多,降低内存利用率

地址结构:

在这里插入图片描述

0~11位为页内地址,即每页大小为4KB;

12~31位为页号,最多允许2^20页

页表:

实现从页号到物理块号的地址映射

  • 页表项(页号,块号)

在这里插入图片描述

二、基本地址变换机构

将逻辑地址转换为物理内存中的物理地址

在这里插入图片描述

页表寄存器(PTR),未执行时,页表始址和页表长度存放在PCB中,进程被调度执行时才运行时装入页表寄存器

过程硬件自动完成(页面大小L,逻辑地址A,物理地址E):
  1. 计算页号(P=A/L)和页内偏移量(W=A%L

  2. 比较页号P和页表长度M,若P≥M,产生越界中断;反之继续执行

  3. 页表项地址=页表始址F+页号P*页表项长度,取出该页表项内容为b,即为物理块号

  4. 计算E=b*L+W,用得到的物理地址E去访问内存

问题:

  • 每次访存都需要地址转换,对转换速度要求高

  • 每个进程引入页表,页表不能太大,不然内存利用率降低

  • 存取数据或指令至少需要访问两次内存

    • 访问页表,找到对应的物理地址

    • 根据该物理地址存取数据或指令

三、具有快表的地址变换机构

快表(相联存储器、TLB):

具有并行查找能力的高速缓冲存储器,存放若干页表项

主存中的页表常称为慢表

在这里插入图片描述

过程:
  1. CPU给出逻辑地址,由硬件进行地址转换,将页号送入快表并比较

  2. 若找到匹配,则直接取出对应的页框号,与页内偏移量拼接成物理地址

  3. 若未找到匹配,则继续访问主存中的页表,读出页表项后,存入快表中

  4. 若快表已满,则按特定算法淘汰一个旧页表项

特点:
  • 快表命中率可达90%以上,分页速度损失低

  • 若找到匹配项,只需访问一次主存

  • 快表的有效性基于局部性原理

四、两级页表

构造页表的页表(二级页表或多级页表)来存储索引表

顶级页表最多只能由一个页面

结构:

在这里插入图片描述

在这里插入图片描述

  • 15
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值