()静态重定位 在装入一个作业时把作业中的指令地址和数据地址全部转换成绝对地址这种转换工作是在 作业开始前集中完成 的在作业执行过程中无需再进行地址转换所以称为静态重定位 ()动态重定位 在装入一个作业时不进行地址转换而是直接把作业装到分配的主区域中在作业执行过程中每当执行一条指令时都由硬件的地址转换机构转换成绝对地址这种方式的地址转换是在 作业执行时动态完成 的所以称为动态重定位 动态重定位由软件(操作系统)和硬件(地址转换机构)相互配合来实现动态重定位的系统支持程序浮动而静态重定位则不能 二固定分区存储管理( 领会 ) 分区存储管理是把存储器中的用户区作为一个连续区或分成若干连续区进行管理早先使用一个分区的存储管理后发展成多分区的存储管理多个分区的管理可采用固定分区方式和可变分区方式 固定分区存储管理的原理 固定分区 的意思就是指主存空间划分成若干连续区后这些分区的 大小和个数 就 固定 不变 固定分区管理利用一张 主存分配表 说明各分区的情况装入和结束作业均通过这个分区表来记录分区使用的变化情况 如何实现存储保护 固定分区管理 可采用 静态重定位 的方式装入作业装入程序把作业中的逻辑地址转换为绝对地址并检查绝对地址是否在指定(装入)的分区内如果是就装入这个作业否则就不能装入如果装入主存分区的作业占用处理器时(注意是运行时)进程调度程序(不是装入程序了)必须把作业所在分区的上下限地址存入下限寄存器和上限寄存器中这样可以在指令执行中判断其所用到的绝对地址是否越界达到存储保护的目的 怎样 提高主存空间的利用率 这里有几种办法 ()分区按大小顺序排列这样可以使作业总是先使用满足要求的最小分区 ()根据经常出现的作业大小和频率划分分区 ()按作业的对主存空间的需求量排成多个队列规定队列与分区的对应关系也就是说多大的作业只能放在多大的分区里就算有更大的分区空着也不许他进入 三可变分区的管理( 领会 ) 可变就是指分区的 大小和位置不是固定 的而是根据作业要求的主存量来分配分区的大小 主存的分配和去配(回收) 在系统初始化时主存除了操作系统所占部分外整个用户区是一个大的空闲区可以按作业需要的空间大小顺序分配空闲区直到不够时为止 当作业结束时它的占用分区被收回这个空闲区又可以根据新作业的大小重新用于分配所以主存中的已占分区和空闲区的数目和大小都是在变化的可以用两张表已分配区表和空闲区表来记录和管理 常用的分配算法 最先适应分配算法 简单地说就是在分区表中顺序查找找到够大的空闲区就分配但是这样的分配算法可能形成许多不连续的空闲区造成许多碎片使主存空间利用率降低 最优适应分配算法 这种算法总是挑选一个能满足作业要求的最小空闲区但是这种算法可能形成一些极小的空闲区以致无法使用这也会影响主存利用率 最坏适应分配算法 这种算法和上面的正好相反它总是挑一个最大的空闲区分给作业使用使剩下的空间不至于太小 [] [] [] [] [] |