




已阅读5页,还剩27页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
本章考核知识点 1 重定位2 固定分区存储管理3 可变分区存储管理4 页式存储管理5 段式存储管理6 虚拟存储器自学要求 明确存储管理的职能是对主存储器中的用户区域进行管理 理解在不同的管理方式下如何实现存储保护 地址转换 以及主存空间的分配和回收 比较各种管理方式的特点 掌握虚拟存储器的实现原理和方法 第四章存储管理 重点是 各种管理方式的特点 可变分区方式的主存分配算法以及移动技术 分页式虚拟存储管理的实现以及页面调度算法 分段式虚拟存储管理的实现 概述 本章讨论的是主存储器空间的管理 主存储空间分成系统区和用户区两部分 存储管理的功能包括 主存空间的分配和去配 实现地址转换 主存空间的区享和保护和主存空间扩充 操作系统的存储管理如同一个大地主 管着一个大庄园 当有农户需要租用田地时 地主就给分配一块地让他种 用户区分配 等到地里长出了果实 结果出来后 地主还得来收回这块地 去配 为了管好这片田地 地主还要管好庄园的门 凡是要进去种地的 都得由地主根据他的需要让他到位置确定实际的田地上去干活 把逻辑地址转换成物理地址 庄园里还有一些大家共同可以使用的地方 比如地主的花园 工具房等 大家可以进去 也可以使用 但是不许改变任何现有的东东 还有 每个农户只能在自己的地里刨食吃 如果有人胆敢到别人地里或地主的花园里摘花偷食 可要当心他们养的狼狗跳出来哦 共享和保护 当然 再大的地也是不够多的 地主为了多赚些钱 当所有的地都租出去的时候 他想办法把有些种田人暂时不种的那块地里的东东连地皮一起挖出来放到仓库里先堆着 把地腾出来租给别人种 这一招可够绝的 不过地主说啦 这就是 虚拟存储 你说这个地主是好是坏 一 重定位 领会 1 区分逻辑地址与绝对地址 绝对地址 主存储器以字节为编址单位 容量为n的主存储器中 每个单元有唯一的编号 从0到n 1 这个唯一的编号就是主存储器的物理地址 比如我们现在用的128MB内存条中就有128 1024 1024 134217728字节 所以它的内存绝对地址就是从0到134217727 注意啦 庄园的大地主就是这么给自己的地做上标记的 逻辑地址 在多道程序设计的系统中 操作系统为了方便用户 就允许每个用户都认为自己的作业的程序和数据存放在地址是0开始的连续空间中 这样用户程序中使用的地址就是逻辑地址 2 重定位 地址转换的方式 为了保证作业的正确执行 必须根据分配给作业的主存区域对作业中指令和数据的存放进行重定位 这种把逻辑地址转换成绝对地址的工作称为 重定位 或 地址转换 重定位的方式有 静态重定位 和 动态重定位 两种 1 静态重定位在装入一个作业时 把作业中的指令地址和数据地址全部转换成绝对地址 这种转换工作是在作业开始前集中完成的 在作业执行过程中无需再进行地址转换 所以称为 静态重定位 2 动态重定位在装入一个作业时 不进行地址转换 而是直接把作业装到分配的主区域中 在作业执行过程中 每当执行一条指令时都由硬件的地址转换机构转换成绝对地址 这种方式的地址转换是在作业执行时动态完成的 所以称为动态重定位 动态重定位由软件 操作系统 和硬件 地址转换机构 相互配合来实现 动态重定位的系统支持 程序浮动 而静态重定位则不能 操作系统的存储管理如同一个大地主 管着一个大庄园 当有农户需要租用田地时 地主就给分配一块地让他种 用户区分配 等到地里长出了果实 结果出来后 地主还得来收回这块地 去配 为了管好这片田地 地主还要管好庄园的门 凡是要进去种地的 都得由地主根据他的需要让他到位置确定实际的田地上去干活 把逻辑地址转换成物理地址 庄园里还有一些大家共同可以使用的地方 比如地主的花园 工具房等 大家可以进去 也可以使用 但是不许改变任何现有的东东 还有 每个农户只能在自己的地里刨食吃 如果有人胆敢到别人地里或地主的花园里摘花偷食 可要当心他们养的狼狗跳出来哦 共享和保护 当然 再大的地也是不够多的 地主为了多赚些钱 当所有的地都租出去的时候 他想办法把有些种田人暂时不种的那块地里的东东连地皮一起挖出来放到仓库里先堆着 把地腾出来租给别人种 这一招可够绝的 不过地主说啦 这就是 虚拟存储 你说这个地主是好是坏 种田人不管地主庄园有多少块地 标了什么号 只要记住自己需要多少地 给自己种的地打上标记就是了 地主想 只要你们能干活 不需要知道了我的底细了吧 家财不可外扬哦 庄园主道 静态重定位比较简单 想当初张三来这儿 说要租一百块地 青菜种在第1块地 萝卜种2块地里 土豆得重在第3块地里 然后得在第28块地里养鸭 完了要把28块地里的鸭粪拉到第49块地的鱼塘里喂鱼 我就说 行啦行啦 你进去 庄园的左边101到200号那100块地就分给你吧 以后你要找哪块地养鸭养鱼的 就得按我给你编的号来找 每个地址都已经加上100了 不会找错吧 别说我没讲清楚哦 至于动态重定位 庄主笑道 这个我也能做到 这么实现的 李四来租地时 我也不问他 直接把他带到空闲的一片地方 派人记着这那片地的第一个地址 比如说是 号吧 李四这个笨小子干着干着会叫起来说 老板 现在我要到 号地里抓鱼 旁边人一听 马上告诉他 哎呀 你现在已经分了地啦 起始地块是 号 那你就得到 号地去才对 就这样 李四每一次要找地方时 都叫别人给他重新算一下 这样他才不会找错位置 这样也有一个好处 就是如果有人出价更好 我可以让他搬到别处去干活 反正都是叫别人给他重新算位置 所以他就不用记住搬地方后的物理地址啦 二 固定分区存储管理 领会 分区存储管理是把存储器中的用户区作为一个连续区或分成若干连续区进行管理 早先使用一个分区的存储管理 后发展成多分区的存储管理 多个分区的管理可采用固定分区方式和可变分区方式 1 固定分区存储管理的原理固定分区的意思就是指主存空间划分成若干连续区后 这些分区的大小和个数就固定不变 固定分区管理利用一张 主存分配表 说明各分区的情况 装入和结束作业均通过这个分区表来记录分区使用的变化情况 2 如何实现存储保护固定分区管理可采用静态重定位的方式装入作业 装入程序把作业中的逻辑地址转换为绝对地址 并检查绝对地址是否在指定 装入 的分区内 如果是 就装入这个作业 否则就不能装入 如果装入主存分区的作业占用处理器时 注意 是运行时 进程调度程序 不是装入程序了 必须把作业所在分区的上下限地址存入 下限寄存器 和 上限寄存器 中 这样可以在指令执行中判断其所用到的绝对地址是否越界 达到存储保护的目的 3 怎样提高主存空间的利用率这里有几种办法 1 分区按大小顺序排列 这样可以使作业总是先使用满足要求的最小分区 2 根据经常出现的作业大小和频率划分分区 3 按作业的对主存空间的需求量排成多个队列 规定队列与分区的对应关系 也就是说多大的作业只能放在多大的分区里 就算有更大的分区空着 也不许他进入 三 可变分区的管理 领会 可变就是指分区的大小和位置不是固定的 而是根据作业要求的主存量来分配分区的大小 1 主存的分配和去配 回收 在系统初始化时 主存除了操作系统所占部分外 整个用户区是一个大的空闲区 可以按作业需要的空间大小顺序分配空闲区直到不够时为止 当作业结束时 它的占用分区被收回 这个空闲区又可以根据新作业的大小重新用于分配 所以主存中的已占分区和空闲区的数目和大小都是在变化的 可以用两张表 已分配区表 和 空闲区表 来记录和管理 2 常用的分配算法最先适应分配算法 简单地说 就是在分区表中顺序查找 找到够大的空闲区就分配 但是这样的分配算法可能形成许多不连续的空闲区 造成许多 碎片 使主存空间利用率降低 最优适应分配算法 这种算法总是挑选一个能满足作业要求的最小空闲区 但是这种算法可能形成一些极小的空闲区 以致无法使用 这也会影响主存利用率 最坏适应分配算法 这种算法和上面的正好相反 它总是挑一个最大的空闲区分给作业使用 使剩下的空间不至于太小 3 地址转换与存储保护采用可变分区方式管理时 一般均采用动态重定位方式装入作业 也就是每读一条指令 都要变换一次地址 变换要靠硬件支持 主要是两个寄存器 基址寄存器和限长寄存器 限长寄存器存放作业所占分区的长度 基址寄存器则存放作业所占分区的起始地址 这两个值确定了一个分区的位置和大小 转换时根据逻辑地址与限长值比较 如果不有超过这个值 表示访问地址合法 再加上基址寄存器中的值就得到了绝对地址了 否则形成 地址越界 中断 达到存储保护的目的 对于共享程序 则硬件提供两组限长寄存器和基址寄存器 访问时对访问区享区和作业区的地址分别进行转换 4 移动技术的应用移动技术要 移动 的东东就是主存空间中的作业 把某个作业移到另一处主存空间去 在磁盘整理中我们应用的也是类似的移动技术 这样的最大好处就是可以合并一些空闲区 但是移动技术的应用也要注意以下问题 移动会增加系统开销 所以要尽量减少移动 移动是有条件的 如果作业在执行过程中正等待与外围设备传输信息 就不能移动 因此在移动时首先要判定该作业是否与外设交换信息 四 页式存储管理 领会 1 如何分页和分块页式存储管理中有两个名词 页 和 块 其中的 块 是针对硬件来说的 就是把存储器分成若干相等大小的区 每个区就称为一个块 对应的 在程序中 逻辑地址进行 分页 其大小和每个块相一致 事实上 页面的大小是由块的大小自然决定的 对于程序来说 其逻辑地址还是和原来一样采用连续的地址 只是按照块的位数取其前面数位做为页号 分配空间时 根据作业长度可以确定它的页面数 根据这个页面数在主存中分配相应的块数 只要是空闲块就可以放入 即使不是相邻的 并把分配情况记在 页表 中 根据页表可以找到相对应的页号与块号 就得出绝对地址了 2 采用页式管理 使主存空间充分利用 页不必为了得到连续空间而进行移动 可以提高系统效率 3 页表的构造与作用每个被装入主存的作业都有一张页表 指出该作业逻辑地址中的页号与所占用的主存块号之间的对应关系 页表的长度由作页拥有的页面数决定 行号对应为页号 行中记录的是主存中的块号 页表是硬件进行地址转换的依据 每执行一条指令时按逻辑地址中的页号查找页表并转换成绝对地址 在多道程序设计系统中 进入主存的每个作业都有一张页表 由一个硬件 页表控制寄存器 来记录每个作业的页表所在位置和长度以便作业转换时同时转换页表 4 快表的构造与作用快表就是页表的一部分克隆 每行中有页号及其对应的块号 整个快表存放在一个小容量的高速缓存中 访问时快表和内存同时进行查找 因为快表速度很快 而常用的页都登记在快表中 因此可以大大加快执行速度 5 采用页式管理的地址转换过程6 利用位示图实现页式存储空间的分配和回收页式存储管理把主存空间分成大小固定的许多块 在装业作业时 如何知道主存中哪些块已使用 哪些还未用 可以用位示图来表示 块号 字号 字长 位号字号 i 字长 即块号i除以字长取整 位号 imod字长 即块号i除以字长取余 五 段式存储管理 领会 1 段式存储中段的划分段式管理是根据人们对程序中需要分段编制的要求出发而提供的 它提供给用户编程时使用的逻辑地址由 段号 和 段内地址 两部分组成 其形式和页式管理相同 但是实际上是不同的 页式存储管理提供连续逻辑地址由系统自动分页 段式存储管理中的作业分段是由用户决定的 每段独立编程 因此段间的逻辑地址是不连续的 2 段式存储空间的分配这种分配方法和可变分区管理方式的分配方法相同 所不同的是 可变分区管理方式中是为每个作业分一个区 而段式管理是为一个作业中的每个段分一个连续的空间 段式管理更细 3 段表的构造与作用段表由段号 本段限长和起始地址三部分组成 由于每一行记录的行号可以对应程序的段号 因此段号实际上被省略 不占存储空间 与其他管理方式一样 段表记录的信息用于地址转换和存储保护 段表的表目起到了基址 限长寄存器的作用 4 段式存储管理的地址转换这个转换过程如同可变分区方式的地址转换 但是由段表的表目替代了基址 限长寄存器 绝对地址 根据段号找到段表中的起始地址 段内地址 如果段内地址超过限长则产生 地址越界 程序性中断事件达到存储保护 多道程序设计系统中 每个进入主存的作业都建立了段表 因此还有一个硬件 段表控制寄存器 来记录每个作业的段表在主存中的位置和长度 六 虚拟存储器 领会 1 什么是虚拟存储器虚拟存储器是为 扩大 主存容量而采用的一种设计技巧 它利用作业在只装入部分信息时就可以执行的特性和程序执行中表现出来的局部性特性 借助于大容量的辅助存储器实现小主存空间容纳大逻辑地址空间的作业 虚拟存储器的容量由计算机的地址结构 总线位数 决定 2 虚拟存储器的实现原理它的工作原理如下 首先把作业信息保留在磁盘上 当作业请求装入时 只将其中一部分先装入主存 作业执行中若要访问的信息不在主存中 则再设法将这些信息装入主存 3 分页式虚拟存储器的实现页式虚拟存储管理是在页式存储管理的基础上实现的 首先把作业信息作为副本存放在磁盘上 作业执行时 把作业信息的部分页面装入主存储器 作业执行时若所访问的页面已经在主存中 则进行地址转换 得到绝对地址 否则产生 缺页中断 由操作系统把当前所需的页面装入主存 4 常用的页面调度算法 FIFO LRU LFU当主页中无空闲块时 为了装入一个页面 就必须按某种算法将主存中某个页调出 调入所需装入的页面 这就是页面调度 常用的算法有 先进先出调度算法 FIFO 最近最少使用调度算法 LRU 和最近最不常用调度算法 LFU 特别要注意掌握的就是LRU的算法 如何进行调度 5 缺页中断率如果作页执行中访问页面的总次数为A 其中有F次访问的页面尚未装入主存 则有F次缺页中断 f F A 这里的f就称为缺页中断率 影响缺页中断的因素有 分配给作业的主存块数 块数n f 页面的大小 页面大小 f 程序编制方法 局部化程度 f 页面调度算法6 段式虚拟存储器的实现段式虚拟存储管理以段式存储管理为基础 在磁盘上保留作业的各个分段信息 作业执行时把需要执行的一段或几段装入主存 在实际使用中 也要进行查表和地址转换以及 缺段中断 和调度 包括调出 装入 移动等 工作 七 UNIX系统的存储管理 领会 1 对换 Swapping 技术 这就是前面我们所学的虚拟存储器在UNIX中的应用 磁盘上设置开辟一个足够大的区域 为对换区 当内存中的进程要扩大内存空间 而当前的内存空间又不能满足时 则可把内存中的某些进程暂换出到对换区中 在适当的时候又可以把它们换进内存 因而 对换区可作为内存的逻辑扩充 用对换技术解决进程之间的内存竞争 UNIX对内存空间和对换区空间的管理都采用最先适应分配算法 2 虚拟页式存储管理技术 UNIX把进程的地址空间划分成三个功能区段 系统区段 进程控制区段 进程程序区段 系统区段占用系统空间 系统空间中的程序和数据常驻内存 其余两个区段占用进程空间 是进程中非常驻内存部分 通过页表和硬件的地址转换机构完成虚拟地址和物理地址之间的转换 1 采用动态重定位方式装入的作业 在执行中允许 将其移动 A 用
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 货运领域突发事件应急预案(3篇)
- 隔离点安全事故应急预案(3篇)
- 2025-2030高端轴承材料热处理工艺改进效果评估报告
- 下水改造施工方案(3篇)
- 2025-2030镁合金材料在3C产品中的商业化进程与成本优化分析报告
- 酒店应急预案英文简称为(3篇)
- 土方安全专项施工方案(3篇)
- 测量体系培训课件
- 直播电商中品牌形象的直播塑造对GMV增长的促进研究
- 生物安全柜污染应急预案(3篇)
- 锂离子电池正极材料研究进展
- 二手房屋买卖物品交接清单
- 技师论文 变频器的维修与保养
- 非标自动化设备项目进度表
- 诊断学教学胸部查体
- 桥梁安全事故案例警示
- YY/T 1095-2015肌电生物反馈仪
- SB/T 10460-2008商用电开水器
- GB/T 9124.1-2019钢制管法兰第1部分:PN系列
- GA 1800.2-2021电力系统治安反恐防范要求第2部分:火力发电企业
- 欣旺集团种禽养殖管理制度手册
评论
0/150
提交评论