第08讲_存储管理_1.ppt

  1. 1、本文档共58页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第08讲_存储管理_1

装入分区 0 100 200 300 . . . . . . str 5 [200] ldr R1, [200] add R2,R1,3 str R2, [204] 逻辑地址空间 204 x y 1000 . . . . . . 1100 1200 1300 物理地址空间 str 5 [1200] ldr R1,[1200] add R2,R1,3 str R2,[1204] 1204 x y 动态地址映射(动态重定位):当用户程序被装 入内存时,不对指令代码做任何修改。而是在程 序运行过程中,当需要访问内存单元时再来进行 地址转换(即在逐条执行指令时完成转换)。 为提高效率,此工作一般由硬件地址映射机 制来完成,通常的做法是设置一个基地址寄 存器(重定位寄存器)。当一个进程被调度 运行时,把它所在分区的起始地址装入到该寄存器当中; 在程序运行过程中,当需要访问内存单元时,硬件就自动地将其中的相对地址加上基地址 寄存器的内容,形成实际的物理地址,然后按该地址去执行; 适合于固定分区和可变分区。 装入 分区 0 100 200 300 . . . . . . str 5 [200] ldr R1, [200] add R2,R1,3 str R2, [204] 逻辑地址空间 204 x y 1000 . . . . . . 1100 1200 1300 物理地址空间 str 5 [200] ldr R1, [200] add R2,R1,3 str R2, [204] 1204 x y + 基地址寄存器 相对地址 1000 200 为了防止一个用户程序去访问其他用户程序的内存 区域,保护操作系统免受用户程序的破坏,须进行 存储保护。最简单的做法:在基地址寄存器的基础 上,再增加一个限长寄存器,记录分区的长度。 操作系统 进程A 进程B 100K 100K 基地址寄存器 限长寄存器 逻辑地址必须 小于限长寄存 器的值。硬件 保护这两个寄 存器,用户程 序不能修改。 2. 存储保护 0 100K 200K 300K 4.3 页式和段式存储管理 页式存储管理 段式存储管理 页式管理与段式管理的比较 段页式存储管理 4.3.1 页式存储管理 分区存储管理方案的一个特性是连续性,即系统对 每个程序都分配一片连续的内存区域。这种连续性 导致了碎片问题(内碎片和外碎片),降低了内存 资源的利用率。对于内碎片,难以避免;对于外碎 片,用于合并碎片的内存紧缩技术又需要花费大量 的CPU时间。为了有效地解决这些问题,人们又提 出了页式存储管理方案,其基本出发点是打破存储 分配的连续性,使得一个程序的逻辑地址空间可以 分布在若干个离散的内存块上,从而达到充分利用 内存,提高内存利用率的目的。 1. 基本原理 把物理内存划分为许多个固定大小的内存块,称 为物理页面,或页框(page frame); 把逻辑地址空间划分为大小相同的块,称为逻辑 页面,或简称页面(page); 页面大小为2n,一般在512字节到8K字节之间; 当一个用户程序装入内存时,以页面为单位进行分配。若要运行一个大小为n个页面的程序,需要有n个空闲的物理页面把它装入,这些页面不必是连续的。 操作系统 操作系统 进程2 第0页 进程2 第1页 进程1 第0页 进程1 第1页 进程2 第2页 进程3 第0页 0K 1K 2K 3K 4K 5K 6K 7K 8K 9K 10K 0K 1K 2K 进程1 地址空间 进程2 地址空间 0K 1K 2K 3K 0K 1K 进程3 地址空间 内存 用于存储管理的数据结构是什么? 当一个进程到来时,如何给它分配内存? 当一个进程运行结束,释放它所占用的内存空间后,如何回收内存? 当一个进程被加载到内存以后,它如何正确运行(地址重定位)? 页式存储管理要解决如下问题: 2. 数据结构 页表:系统为每一个进程都建立了一个页表,页表给出了逻辑页面号和具体内存块号(物理页面号)之间的对应关系。 逻辑页号 内存块号 页表 0 1 n-1 (本图摘自Silberschatz, Galvin and Gagne: “Operating System Concepts”) 逻辑 地址空间 页表 物理内存 物理页面号 物理页面表:在系统中设立一张物理页面表,用来描述内存空间当中,各个物理页面的分配使用状况。具体实现:位示图,空闲页面链表。 0 31 0/1 0/1 0/1 0/1 0/1 0 1 7 …… 空闲页数 …… 位示图 内存中共有 256个物理 页面,可以 用字长为32 位的8个字 来构成位示 图。 3. 内存的分配与回收 内存的分配与回收算法与物理页面表的具体实现方法有关。这里以位示图为例。 内存的分配: 计算一个进

文档评论(0)

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

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

1亿VIP精品文档

相关文档