存储管理中的设计问题

本文探讨了存储管理中的页式和段式存储,重点在工作集模型和页面分配策略。工作集是进程当前使用的页集合,局部和全局页面置换算法影响缺页率。动态调整内存分配可降低抖动,而页面大小的选择需平衡内碎片和效率。虚拟存储接口实现了页面共享和分布式共享存储器,提供高效的消息传递。段式管理则通过分段实现代码和数据的独立与共享,但引入外碎片问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

光了解Page的基本原理还不够,还需要知道如何设计存储才能达到一个更好的性能。

页式存储管理

工作集模型

在虚拟页存储管理中,当一个进程被启动,其所有页面都还在外存。当CPU取第一条指令时,就会引发缺页中断。因此,在程序启动一开始,很容易发生缺页中断,工作一段时间后再维持稳定,如图所示:

52820057159

这种工作方式被称为demand paging:页面不是预先被装入内存,而是根据需要随时调整。

访存的局部性与工作集

  • 访存的局部性(locality):在进程运行的任何阶段,它都只访问它的页面中较小的一部分
  • 工作集(working set):一个进程当前使用的页的集合
  • 抖动:分配给进程的物理页面数太小,无法包含其工作集,频繁地在内存和外存间换页
  • 工作集模型:页式存储管理系统跟踪进程的工作集,并保证在进程运行以前它的工作集就已经在内存中了。在进程运行之前预先装入页面也叫做预先调页(prepaging)。

分配策略

当发生缺页时,页面置换算法作用的范围不同,对应不同的分配策略:

  • 局部页面置换算法:在进程所分配的页面范围内选取将被置换的页面
    • 每个进程分配固定大小的内存空间
  • 全局页面置换算法:在内存中所有的页面范围内选取被置换的页面 <
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值