操作系统第七章主存管理详解.pptx

  1. 1、本文档共85页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第七章 主存管理 在多道批处理系统或分时系统中,要求在主存中同时存放多个作业或用户程序,这就需要引入存储管理。 7.2主存管理的功能 为方便用户使用,系统必须为每个用户提供0~n-1的一组逻辑地址,即用户编译时,程序访问的地址为虚地址或逻辑地址,而主存单元的地址为实地址或物理地址。 如图所示: 0 Mov r1,[500] : : 01EFH : : 逻辑地址 程序1 物理地址 m Mov r1,[500] : : 01EFH : 内存 m+500 思考:为什么用户编程时不直接使用物理地址? 主存管理的主要功能: 逻辑地址到物理地址的映射 主存的分配和回收 存储保护:保护进入主存的各道作业都在自己的存储空间内运行,互不干扰,防止一道作业由于发生错误而破坏其他作业或系统程序。 提高主存利用率:使多道程序能动态共享主存中的信息。如段式系统中,代码段是可共享的。 “扩大”主存容量:借助虚拟存储技术,为用户提供比主存空间大的地址空间。 7.3分区存储管理 分区:是指主存的某一连续空间 分区存储管理是将内存划分为若干分区,除OS占用一个分区外,其余每一个分区容纳一个作业或进程。 固定分区:将内存用户区划分为若干固定大小的区域,每个区域中驻留一道程序。 动态分区:根据用户程序的大小,动态的对内存进行划分,可以提高内存的利用率。 作业1 作业2 作业3 作业1 作业2 作业3 固定分区 活动分区 7.3.1 分区存储管理概述 可以从一下几个方面讨论分区存储管理技术: 存储保护 ①上、下界限保护 ②基址、限长保护 作业 (4KB) 20K → 24K-1 → 20K 下界寄存器 24K-1 上界寄存器 当物理地址D应该满足:20K ≦D <24K或20K ≦D ≦24K-1 ①上、下界限保护 7.3.1 分区存储管理概述 可以从一下几个方面讨论分区存储管理技术: 存储保护 ①上、下界限保护 ②基址、限长保护 作业 (4KB) 20K → 24K-1 → 20K 基址寄存器 4K 限长寄存器 当物理地址D应该满足:20K ≦D <20K+4K或20K ≦D ≦20K+4K-1 ②基址、限长保护 2、地址映射 (基址寄存器)+逻辑地址→物理地址 其中(基址寄存器)存放一个作业在主存所占分区的首地址。 0 Mov r1,[500] : : 01EFH : : 逻辑地址 程序1 物理地址 m Mov r1,[500] : : 01EFH : 内存 m+500 逻辑地址 (500) + 基址寄存器(m) → 物理地址 m+500 7.3.3分区的分配和回收 空闲区队列(自由主存队列)可以按照某种分类方法进行排序。 按分区地址的大小排序 按空闲区的大小排序 1、首次适应算法 空闲区队列中空闲区按地址从小到大排序。 例如: OS 空闲区(30KB) 作业1 空闲区(20KB) 作业2 空闲区(5KB) 作业3 空闲区(46KB) 作业A 申请18KB 自由主存队列(空闲区队列)如下:每个结点记录空闲区的大小和下一个空闲区的 首地址(指针)。 head 30KB 5KB 20KB 46KB 12KB 1、分配一个空闲区: { 扫描空闲区队列; If 申请块﹥所有空闲块,则无法分配(或拼接); If 申请块≤某一空闲块 {①则从空闲块的底部向上分配空闲区; //可以只修改空闲区的大小,而不修改空闲区队列的指针 ②如果分配之后剩余的空闲块<门限值,则将整个空闲块分配出去; } } 2、回收一个空闲块: 设r为回收区,f为空闲区 ①上邻空闲区 ②下邻空闲区 ③上、下邻空闲区 ④上、下不相邻空闲区 f r 作业 作业 r f f1 r f2 作业1 r 作业2 ① ② ③ ④ 空闲区总数不变: ①② 空闲区总数-1: ③ 空闲区总数+1: ④ 2、最佳适应算法 空闲区队列中空闲区按大小从小到大排序 例如: OS 空闲区(30KB) 作业1 空闲区(20KB) 作业2 空闲区(5KB) 作业3 空闲区(46KB) 作业A 申请18KB 自由主存队列(空闲区队列)如下: head 5K

文档评论(0)

shuwkb + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档