操作系统Windows与Linux存储管理课件.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
操作系统(Windows与Linux)5——存储管理;第5章 存储管理 ;5.1 存储管理的基本概念 ;5.1.1 存储管理的功能;地址映射: 把进程地址空间中使用的逻辑地址变换成存储空间中的物理地址的过程。 目标程序限定的地址范围称该程序的地址空间,是程序访问信息时用到的一系列地址单元的集合,地址空间中的地址是逻辑地址。 内存空间是内存中物理地址的集合。 两者不一致。地址映射一般需要硬件或软件的配合。 存储保护: 确保进入主存的每道程序都在自己的内存空间运行,互不干扰。 既要防止一道程序由于错误破坏其他程序,也要防止破坏系统程序。保护一般由硬件和软件配合完成。 扩充主存容量: 借助虚拟存储技术或其他自动覆盖技术,为用户提供比主存空间大的地址空间,实现扩充主存容量的目的。 “提高存储器的利用率”和“更好地满足用户需求”,是存储管理方式不断发展的推动力。;5.1.2 存储器管理方式;2. 离散分配方式 为减少连续分配产生的碎片,提高存储器的利用率,引入离散分配方式。 可将一个用户程序离散地分配到内存中多个不相邻接的区域中。;离散分配方式有三种: ⑴分页存储管理:用户程序的地址空间划分成若干个固定大小的称为“页”的区域,相应将内存空间分成若干个物理块,页和块大小相等。 可将用户程序的任一页放入内存的任一块中,实现离散分配,且内存中的碎片大小不会超过一页。 ⑵分段存储管理:用户程序的地址空间分成若干个大小不等的段,每段可以定义一组相对完整的逻辑信息。存储分配时,以段为单位,这些段在内存中可以不相邻。 ⑶段页式存储管理:分页和分段两种存储管理方式结合的产物,发挥两者优点,既提高存储器利用率,又能满足用户要求。 ;5.1.3 地址重定位;一个程序在装入时分配到的存储空间与其地址空间不一致。 程序运行时要访问的指令、数据的实际地址和地址空间中的地址不同。 若在程序装入或运行时不对有关地址部分加以修改,将导致错误的结果。 把一个相对地址空间的程序装入到物理地址空间时,由于两个空间不一致而需要进行的地址变换,称地址重定位或地址映射。 地址变换过程,把程序地址空间中使用的逻辑地址变换为存储空间中的物理地址的过程。;根据地址变换持续的时间及采用技术的不同,可以把重定位分为静态重定位和动态重定位两类。 ⑴静态重定位 程序运行前,由链接装入程序进行重定位。即:在程序装入主存同时,将程序中逻辑地址转换为物理地址。 特点:无需增加硬件地址变换机构。 要求为每个程序分配一个连续的存储区;程序执行期间不移动,难以做到程序和数据的共享。 ;静态重定位的实现: 操作系统为程序分配一个以某地址为起始地址的连续内存区域,重定位时,将程序中指令或操作数的逻辑地址加上该起始地址,即可得到物理地址。 例:图5-1,程序装到从1000开始的内存区域中,物理地址为逻辑地址值加上1000。;⑵动态重定位 程序执行过程中,每当访问指令或数据,将被访问程序或数据的逻辑地址转换为物理地址。 重定位过程在程序执行期间随指令执行逐步完成。 一种允许程序在执行过程中在内存中移动的技术,必须获得硬件地址变换机构的支持,在系统中增加一个重定位寄存器,用来装入程序在内存中的起始地址。 程序执行时,真正访问内存的地址是有效地址与重定位寄存器中的地址相加形成。;动态重定位的原理:图5-2。 特点: ●可以将程序分配到不连续的存储区中; ●程序运行前,可以只装入部分代码即投入运行; ●程序运行期间,根据需要动态申请分配内存; ●为便于程序段共享,可提供一个比主存空间大得多的地址空间。 动态重定位需要附加的硬件支持,实现存储管理的软件算法比较复杂。;图5-2 动态重定位示意图;关系;5.2 连续分配方式 ;5.2.1 单一连续分配;图5-3 单一连续分配;5.2.2 分区存储管理;表5-1 分区说明表;5.2.2 分区存储管理;优缺点: 进程的大小不一定与某个分区大小相等,绝大多数已分配的分区中都有一部分存储空间被浪费。 固定分区分配管理方法主存不能得到充分利用。 ;5.2.2 分区存储管理;2. 动态分区分配(可变分区分配) 根据进程大小动态划分分区,使分区的大小正好适应进程需要。 各分区大小不定,内存中分区数目不定。 进程进入系统前,根据进程大小申请所需存储容量,由系统实施分配。 为了管理主存分区的分配情况,建立两张表,除分区说明表外,还有内存空闲分区表,登记内存中空闲分区的位置、大小等信息。 有进程申请内存分区时,按一定分配算法从空闲分区表(或空闲分区链)中选出一个大于等于该进程所需容量的分区分配。若该分区大于进程所需容量,剩余的较小空白区仍留在空闲分区表中,并对空闲分区表进行相应修改。 一个进程完成后,所占用的分区释放,变成空白区,并与邻接的空白区合并。;2.

文档评论(0)

173****6081 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档