第五章-存储管理要点详解.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第5章存储管理存储管理的功能5.1.1虚拟存储器内存:速度快,价格昂贵;外存:速度较慢,但价格便宜,适于存放大量信息;CPU所能直接访问的存储器只有内存和处理器内的寄存器。机器指令可以用内存地址作为参数,而不能用磁盘地址作为参数。因此,执行指令以及指令使用的数据必须在这些直接可访问的存储设备上。如果数据不在内存中,那么CPU使用前必须先把数据移到内存中。在一个进程的执行过程中,大部分程序和数据并不经常被访问。存储管理系统把进程中那些不经常被访问的程序段和数据放入外存中,待需要访问时才将它们调入内存。用户程序在执行前,需要经过几个步骤。在这些步骤中,地址有不同的表示形式。源程序中的地址通常用符号来表示(如count)。编译器通常将这些符号地址绑定在可重定位的地址(如“从本模块开始的第14字节”)。链接程序或加载程序再将这些可重定位的地址绑定成绝对地址(如74014)。5.1.1虚拟存储器每个进程都拥有一个空间。每个指令或数据单元都在这个虚拟空间中拥有确定的地址,这个地址称为虚拟地址。虚拟存储器:将进程中的目标代码、数据等的虚拟地址组成的虚拟空间。虚拟存储器,是指具有请求调入功能和置换功能,能从逻辑上对内存容量加以扩充,使得把程序的一部分装入内存便可运行,用户看起来内存容量比实际内存容量大得多的一种存储器系统。虚拟空间的划分虚拟空间的划分:与计算机系统结构有关图5.2VAX-11虚拟空间的划分5.1.1虚拟存储器图5.1地址变换与物理存储器5.1.1虚拟存储器虚拟存储器到物理存储器的变换是操作系统必须解决的问题。要实现这个变换,必须要有相应的硬件支持。5.1.1虚拟存储器通常,将指令与数据绑定到内存地址有以下几种情况:编译时:如果在编译时就知道进程将在内存中的驻留地址,那么就可以生成绝对代码。如果将来开始地址发生变化,就必须重新编译代码。MS-DOS的.COM格式程序就是在编译时绑定成绝对代码的。加载时:若编译时不知道进程将驻留在内存的什么位置,编译器就必须生成可重定位代码。此时,最后绑定会延迟到加载时才进行。若开始地址发生变化,只需重新加载用户代码。执行时:若进程在执行时可以从一个内存段移到另一个内存段,绑定就必须延迟到执行时才进行。采用这种方案需要特定的硬件,绝大多数通用计算机操作系统采用这种方法。5.1.2地址变换——程序的装入把虚拟空间中已链接和划分好的内容装入内存。将虚拟地址映射为内存地址,称为地址重定位或地址映射。1、绝对装入编译后,装入前已产生了绝对地址(内存地址),装入时不再做地址重定位。绝对地址的产生:(1)由编译器完成,(2)由程序员编程完成。对(1)而言,编程用符号地址。5.1.2地址变换——程序的装入2、静态地址重定位是在虚拟空间程序执行之前由装配程序完成,主要工作是对相对地址中的指令和数据地址的调整过程优缺点:不需要硬件支持,无法实现虚拟存储器,必须占用连续的内存3.动态地址重定位是在程序执行过程中,在CPU访问内存之前,将要访问的程序或数据地址转换成内存地址。优点:可以对内存进行非连续分配,可实现虚拟存储器,有利于程序段的共享缺点:需要硬件支持5.1.2地址变换地址重定位机构需要一个(或多个)基地址寄存器BR和一个(或多个)程序虚拟地址寄存器VR。指令或数据的内存地址MA与虚拟地址的关系为:MA=(BR)+(VR)。其中(BR)和(VR)分别表示寄存器BR与VR中的内容。动态重定位的过程:设置基地址寄存器BR,虚拟地址寄存器VR;将程序段装入内存,且将其占用的内存区首地址送BR中。例如(BR)=1000.在程序执行过程中,将所要访问的虚拟地址送入VR中。例如执行LOADA500语句时,将所要访问的虚拟地址500放入VR中。地址变换机构把VR和BR的内容相加,得到实际访问的物理地址。5.1.2地址变换图5.3动态地址重定位5.1.2地址变换动态重定位的优点:可以对内存进行非连续分配。对于同一进程的各分散程序段,只要把各程序段在内存中的首地址统一存放在不同的BR中,则可以由地址变换机构变换得到正确的内存地址。提供了实现虚拟存储器的基础。可以在进程执行时部分地、动态地分配内存。有利于程序段的共享。5.1.4内存的分配与回收设计内存分配和回收方法时需考虑因素分配结构:登记内存使用情况,供分配程序使用的表格与链表。例如内存空闲区表、空闲区队列等。放置策略:确定调入内存的程序和数据在内存中的位置。这是一种选择内存空闲区的策略。交换策略:在需要将某个程序段和数据调入内存时,如果内存中没有足够的空闲区,由交换策略来确定把内存中的哪些程序段和数据段调出内存,以便腾出足够的空间。调入策略:外存中的程序段和数据段什么时间、按照何种控制方式进入内存。回收策略:回收策略包括两点,一是回收的时机,二是对所回收的内存空闲区和已存在的

文档评论(0)

南非的朋友 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档