大学操作系统原理《内存管理》案例教学课件_第1页
大学操作系统原理《内存管理》案例教学课件_第2页
大学操作系统原理《内存管理》案例教学课件_第3页
大学操作系统原理《内存管理》案例教学课件_第4页
大学操作系统原理《内存管理》案例教学课件_第5页
已阅读5页,还剩22页未读, 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

案例教学操作系统原理《内存管理》案例教学地址空间·分配算法·分页分段·虚拟内存·置换策略汇报人课程主讲教师日期2026年课程导览01内存管理引论地址空间与重定位,明确管理目标02连续分配方式碎片困境与经典分配算法03分页与分段机制离散分配的地址映射框架04虚拟内存与置换突破容量瓶颈的核心技术05综合案例实战完整场景串联全部知识点章节01内存管理引论理解内存,从理解地址开始程序眼中的地址与物理内存的真实位置内存管理的核心目标程序跑不起来,往往不是CPU的问题,而是内存没安排好空间分配与回收为进程分配内存,结束后及时回收地址转换把程序用的逻辑地址映射为物理地址空间扩充借助虚拟内存让程序突破物理容量限制内存保护防止进程越界访问他人存储区域从逻辑地址到物理地址同一个变量,在程序里和在硬件里是两个不同的位置。地址空间——进程所有逻辑地址的集合程序并不知道自己会被装入哪里,因此必须有一套机制在运行时完成两者之间的转换。逻辑地址程序编译后使用的相对地址从

0

开始编号物理地址内存单元的真实编号由硬件直接寻址运行时转换机制是内存管理当之无愧的核心VS地址绑定的三个时机现代操作系统普遍采用

运行时绑定,支撑进程换入换出、虚拟内存等灵活机制。重定位寄存器

在每次访存时将逻辑地址加上基址,得到物理地址。编译时编译时绑定编译期确定驻留位置程序一旦移动就要重新编译装入时装入时绑定装入内存时确定地址换位后同样需重定位运行时运行时绑定程序执行中动态确定允许运行时移动章节02连续分配方式碎片是连续分配的宿命从首次适应到最佳适应的取舍之道早期连续分配的两种方式分区一旦划定就无法移动,作业大小与分区大小很难刚好吻合。单一连续分配内存分为系统区与用户区同一时刻只允许一道程序驻留实现简单,但资源利用率极低固定分区分配把用户区分成若干大小固定的分区,每个分区装一道程序大小相等:适合控制多个相同程序,但大程序装不下、小程序浪费空间大小不等:按常见作业尺寸划分,相对灵活动态分区分配与空闲链动态分区不再预先划分,而是按作业实际大小现场切割。“动态分区解决了大小僵化的问题,但随之而来的是更复杂的分配决策——究竟该挑哪一块空闲区。”动态分区解决了大小僵化的问题,但随之而来的是更复杂的分配决策——究竟该挑哪一块空闲区。装入与回收2项作业装入时从空闲区中划出所需大小,剩余部分仍作为空闲区作业撤离时回收分区并检查能否与相邻空闲区合并两种管理数据结构2项空闲分区表每个表目记录分区号、起始地址、大小、状态空闲分区链每个空闲块头部存放前向与后向指针,便于快速查找与合并四种分配算法如何取舍算法空闲区排列挑选策略首次适应按地址递增从头找第一个够用的最佳适应按容量递增挑最小够用的最坏适应按容量递减挑最大的循环首次适应按地址递增从上次位置往后找没有绝对最优,算法选择取决于作业尺寸分布与系统负载特征。挑选空闲区的规则不同,性能表现差异明显。首次适应开销小,低地址区易积累小碎片最佳适应看似浪费最少,实则留下大量微小碎片最坏适应减少小碎片,但大分区被迅速耗尽循环首次适应分配更均衡,兼顾开销与碎片碎片问题与紧凑技术连续分配始终绕不开碎片这个宿敌。碎片是连续分配的两副面孔:一个藏在分区内部,一个散落在分区之间。紧凑治标不治本,真正跳出碎片泥潭要靠离散分配。内内碎片定义分配给作业的分区内部未被用满的部分典型固定分区最典型外外碎片定义空闲分区太小而无法被利用典型动态分区反复分配后大量出现紧凑:外碎片的对策也称拼接需要移动大量数据,开销可观必须依赖运行时绑定支持重定位移动期间系统通常要暂停相关作业章节03分页与分段机制化整为零,映射为王页表与段表如何完成地址翻译分页管理的基本原理系统维护一张页表,记录每个页号对应的物理块号:用页号查出块号,再拼上页内偏移既然连续摆放必然产生碎片,那就把程序切开分散放页面与物理块3项页面把逻辑地址空间切成大小相等的片物理块把物理内存切成同样大小的块一一对应页面与物理块一一对应,允许不连续存放逻辑地址结构2项页号标记当前是第几页,用于查表页内偏移页内相对位置,可直接沿用地址变换与快表加速分页很优雅,但朴素实现会拖慢访存速度。一次访存需要两次读内存1步骤01先访问页表查出物理块号2步骤02再访问目标物理单元取出数据快表加速命中快表直接拿到块号,只需一次访存未命中快表仍查内存页表,并将该行填入快表程序访存具有局部性,快表命中率通常很高,绝大多数访问都能享受一次访存的待遇分段管理的逻辑视角优势:便于共享与便于保护,每个逻辑单位有明确边界代价:段长不一,内存分配管理更复杂,同样面临外碎片分页从物理角度被动切分,分段则从程序逻辑出发主动划分分段核心特征3项段按程序逻辑单位划分,如主程序段、子程序段、数据段长度不等每段长度不等,起始地址从0开始编号逻辑地址由段号与段内偏移组成地址变换三步流程3步1查基址用段号查出该段基址2查越界检查段内偏移是否越界3算地址基址加偏移得到物理地址段页式的融合之道融合优势:既保留分段的逻辑清晰,又继承分页的无外碎片优势,代价是地址变换更耗时,通常需快表配合。分段便于逻辑管理,分页便于物理分配,二者能否兼得逻辑地址结构3项段号定位逻辑单位段内页号定位段内的某一页页内偏移定位页内位置两级查表流程3步1查段表用段号查段表,得到该段页表的起始地址2查页表用段内页号查页表,得到物理块号3拼偏移拼上页内偏移,得到物理地址章节04虚拟内存与置换让程序以为自己拥有全部内存缺页中断与置换算法的博弈虚拟内存与局部性原理“按需调页之所以可行,根基在于局部性原理。”程序往往远大于可用内存,却能正常运行,靠的就是虚拟内存核心思想:按需装入只把当前用到的部分调入内存,其余留在外存扩充逻辑内存容量支持更大程序提高内存利用率局部性原理时间局部性刚被访问的数据,很快可能再次被访问空间局部性访问了某地址,其邻近地址很快也会被访问因程序在一段时间内只集中在少数页面上,真正需要驻留内存的只是一小部分请求分页与缺页中断请求分页是虚拟内存最常见的实现方式,其关键动作是缺页中断。→→→当访问的页面不在内存时,系统按以下流程处理,关键动作是缺页中断01硬件发出缺页中断转入操作系统02系统检查访问是否合法非法则终止进程03在内存中寻找空闲块若无则触发页面置换04从外存把所需页面调入内存05更新页表,重新执行被中断的指令页表项标志位状态位标记是否在内存访问位记录近期是否被访问修改位标记是否被写过外存地址指明页面在外存的位置缺页处理开销远高于一次普通访存,降低缺页率是核心追求页面置换算法对比同一引用串下三种置换算法缺页次数对比三种算法特性OPT淘汰未来最久不用的页面,理论最优但需预知未来,无法真正实现LRU淘汰最久未被访问的页面,性能接近OPT,但硬件开销大FIFO淘汰最先进入的页面,实现最简单,却可能出现缺页不减反增的异常实际系统常用时钟算法等折中方案,在开销与效果之间取得平衡。抖动现象与工作集置换算法用得太激进,会引发一个恶性循环——抖动。抖动:刚淘汰的页面马上又被访问,频繁缺页让CPU利用率骤降,内存管理必须协同分配与置换。抖动现象、根源与工作集对策3段现象刚淘汰的页面马上又被访问,频繁缺页导致系统大量时间耗在换入换出上,CPU利用率骤降。根源分配的物理块太少,不足以容纳进程当前的活跃页面。对策:工作集模型工作集:某段时间窗口内进程实际访问的页面集合操作系统动态监测工作集大小,为其分配足够物理块若内存不足,宁可挂起部分进程,也不让系统陷入抖动进程分配的物理块数应略大于其工作集大小,才能稳定运行。章节05综合案例实战把知识装进一个真实系统从地址翻译到缺页处理的完整链路案例背景与系统参数现在把前面所有知识放进一个具体场景,走通全过程。下面分步演示这条链路。页面大小4KB页表项长度4字节逻辑页面8个物理块3个置换算法LRU1步骤01地址翻译给定一个逻辑地址,完成从中断到物理地址的翻译2步骤02缺页处理当页面不在内存时,走通缺页处理流程3步骤03置换评估根据访问序列,评估置换效果一次地址翻译的完整旅程以具体逻辑地址为例,演示分页地址翻译的分步过程。1地址结构页面大小

4KB=2的12次方→2页内偏移占用低

12位,最大取值

4095→3页号高位部分,直接对应页表索引→4翻译完成经页表索引得物理地址快表命中是性能关键变量缺页处理的决策链路假设这次访问的页面恰好不在内存,缺页中断被触发。LRU的选择依赖访问位的维护,写回判断依赖修改位——页表标志位不是装饰,而是缺页决策的直接依据01合法性检查确认页号在进程地址空间范围内02寻找空闲块三个物理块若未占满,直接分配03触发置换块已满,按

LRU

选出最久未用的页面淘汰04判断写回被淘汰页若

修改位为1,先写回外存05调入新页从外存读入所需页面,更新页表06恢复执行重新执行刚才被中断的指令性能评估与调优启示把案例走完,回头评估系统的几个关键维度。从地址翻译到缺页处理,内存管理的每一环都在回答同一个问题——如何用有限资源,稳定地支撑无限的程序世界。快表命中率命中率越高,平均访存时间越接近一次访存缺页率直接决定系统开

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论