《存储器的层次结构.ppt》由会员分享,可在线阅读,更多相关《存储器的层次结构.ppt(25页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、存储器的层次结构,500GB 200MB/S,18GB 12GB/S,512KB8MB 400GB/S,重定位及其方式,1 逻辑地址(空间相对地址) 符号名字空间 int a,b; a=10; 逻辑地址空间(编译后目标程序的地址范围) 2 存储空间(绝对地址) 存储空间:所有物理存储单元的集合/物理地址的集合,源 程 序,目标 代码,目标 代码,名空间,逻辑地址空间,存储空间,os,重定位的概念,举例:教学计划及其实施, Load R1,106 Add R1,108 Store R1,110 234 128 ,程序A的代码,000 100 102 104 106 108 , Load R1,1
2、06 Add R1,108 Store R1,110 234 128 ,1106 1108 1110,逻辑地址,重定位分类:静态重定位, Load R1,106 Add R1,108 Store R1,110 234 128 ,程序A的代码,000 100 102 104 106 108 , Load R1,1106 Add R1,1108 Store R1,1110 234 128 ,静态重定位特点,优点 无需硬件支持,OS装载时由软件实现 缺点 需要分配一个连续的存储空间 用户需要事先确定所程序所需的存储量 装载后不能在内存中移动,重定位分类:动态重定位, Load R1,106 Add
3、R1,108 Store R1,110 234 128 ,程序A的代码,000 100 102 104 106 108 , Load R1,106 Add R1,108 Store R1,110 234 128 ,重定位寄存器 (位于CPU中),+,1000,动态重定位特点,优点 不要求分配连续的存储空间,可按页或段分配 用户作业可动态申请附加的存储空间,并可在内存中移动 有利于程序段的共享 缺点 需要硬件的支持 实现存储管理的软件算法比较复杂,存储器管理的功能,内存的分配和回收 记录内存使用情况 存储的按需分配 存储的回收 内存容量的“扩充” 地址转换 常采用动态重定位,需要硬件支持 存储保
4、护 为了保护区域内信息不被破坏,必须实现存储保护。存储保护的工作必须由硬件和软件配合来实现。,存储分配方式,静态分配 采用静态重定位方式 装入时确定其在内存中的位置 运行中不能再申请内存 运行中不能在内存中移动 动态分配 采用动态重定位方式 装入时确定其在内存中的位置 运行中可申请内存 可在内存中移动,存储管理中的分配技术,连续分区管理,一,页式管理,段式管理,段页式管理,连续分区管理,存储管理: 连续分配,一道作业的全部内容(程序和数据)装入到内存的一个连续存储区中,作业在执行过程中不会发生内存与外存交换的现象,作业的容量要受到物理内存容量的限制。 属于实存管理技术 四种方案 单道连续区管理
5、 多道固定分区管理 多道可变分区管理 多道可重定位分区管理,1.单道连续区管理,存储管理:连续分配,0000 20KB 100KB 256KB,OS,用户程序 需80KB存储空间,空闲区,一次只能装入一个作业,2.多道固定分区管理,存储管理:连续分配,0000 20KB 28KB 44KB 76KB 140KB 256KB,OS,分区大小不等,分区大小相等,0000 20KB 40KB 60KB 80KB 100KB 120KB . 256KB,OS,.,16KB,8KB,作业1 需14KB,32KB,64KB,作业2 需60KB,116KB,2.多道固定分区管理(续),存储管理:连续分配,需
6、建立固定分区说明表,作业J1 需14KB,内零头(碎片)问题,作业J2 需60KB,作业J1 14KB,作业J2 60KB,作业J1 14KB,作业J2 60KB,物理内存,3.多道可变分区管理(概念),存储管理:连续分配,内存地址 0000 20KB 256KB,OS,J1 需14KB,J2 需30KB,空闲区,已分配区,J3 需60KB,区大小 14KB 30KB 60KB 132KB,J4 需60KB,J5 需20KB,J1 14KB J2 30KB J3 60KB J4 60KB J5 20KB,外零头(碎片),3.多道可变分区管理(数据结构),存储管理:连续分配,0000 20KB
7、256KB,OS,J1 需14KB,J2 需30KB,J3 需60KB,J4 需60KB,J5 需20KB,方案一:设置两张存储管理表,已分分区表UBT,空闲分区表FBT,3.多道可变分区管理(数据结构),存储管理:连续分配,方案二:空闲存储区链,Free指针,3.多道可变分区管理(回收与合并),回收可能出现的四种情况,存储管理:连续分配,3.多道可变分区管理(分配算法),最佳适应算法 总是找最接近作业大小的区分配 需按分区大小排序 最差适应算法 总是找能装下作业的最大的区分配 易发生大作业不能装入的情况 首次适应算法 按分区起始地址排序 顺序找到第一个满足要求的分区就分 下次适应算法 按分区
8、起始地址排列并构成一个环 每次都从上次分配位置向后找到满足要求的分区分配,存储管理:连续分配,4.多道可重定位分区管理,避免出现“内零头”与“外零头” 通过移动已分配区收集零头(需要耗费处理资源) 采用动态重定位方式, 作业在内存中移动后,只要改动重定位寄存器的值即可 分配算法与可变分区基本相同,区别在于“拼接” 拼接的时机 回收时拼接(拼接较频繁) 不能满足分配时拼接(拼接次数较少) 缺点 需要硬件支持 耗费处理机时间,存储管理:连续分配,分区的存储保护,界限寄存器方式 处理机中设置上界和下界寄存器,处理机对每一条访存指令中的地址与界限寄存器比较,若不在上/下界间则产生越界中断,禁止访问。
9、也可用基址/限长寄存器方式实现,OS,Job,80KB 168KB,80KB,168KB,上界寄存器,下界寄存器,PSW,分区的存储保护,存储保护键 可实现存/或取的单独保护 可实现多个用户程序间更好的共享内存,内存,存储键,取保护位,CPU,程序状态字PSW,虚拟存储器,虚拟存储器是一种存储管理技术,用以完成用小的内存实现在大的虚拟空间中程序的运行工作。 为了给大作业用户提供方便,使它们摆脱对主存和辅存的分配和管理问题,由操作系统把多级存储器统一管理起来,实现自动覆盖。 一个大作业在执行时, 其一部分地址空间在主存,另一部分在辅存.因此,从效果来看,这样的系统,好象用户提供了存储容量比实际主存大得多的存储器,人们称这样的存储器为虚拟存储器。 因为这样的存储器实际上并不存在而只是系统增加自动覆盖功能,给用户造成的一种幻觉,仿佛它有一个很大的主存供它使用。这是虚拟存储器的最初概念。,虚拟存储器(续),限制 受CPU地址宽度的限制( 32位地址可访问4GB的内存) 受外存容量大小的限制 硬件支持 高速,大容量外存(如硬盘) 一定容量的内存(若内存小,会频繁与外存交换,性能低) 需要虚地址到实地址动态转换的硬件机构,