分区存储管理是把主存储器中的用户区作为一个连续区或分成若干个连续区进行管理,每个连续区中可装入一个作业。
多道程序系统一般都采用多个分区的存储管理,具体可分为固定分区和可变分区两种方式。
一、固定分区存储管理
把主存中可分配的用户区域预先划分成若干个连续的分区,每个连续区的大小可以相同,也可以不同。但是,一旦划分好分区之后,主存中分区的个数就固定了,且每个分区的大小也固定不变。这是一种静态分区法。
在固定分区方式管理下,每个分区用来装入一个作业。由于主存中有多个分区,就可同时在每个分区中装入一个作业。所以,这种存储管理方式适用于多道程序系统。
1、主存空间的分配与释放
为了管理主存空间的使用,必须设置一张“主存分配表”(分区说明表),以说明各分区的分配情况。主存分配表中应指出各分区的起始地址和长度,并为每个分区设一个标志位。当标志位为“0”时,表示对应的分区是空闲分区,当标志位为非“0”时,表示对应的分区已被某作业占用。空闲分区可以用来装作业。
当作业队列中有作业要装入主存时,存储管理可采用“顺序分配算法”进行主存空间的分配。
顺序查看主存分配表,找到一个标志为“0”的并且长度大于或等于欲装入作业的地址空间长度的分区,则把此分区分配给该作业,相应表目的标志位改成作业名的标识;若找不到一个这样的空闲分区,则该作业暂时不能装入主存。
主存空间的释放很简单。某作业执行结束后必须归还所占的分区,这时存储管理根据作业名查看主存分配表,找到相应的表目后,把其中的标志位重新置成“0”即可。
2、地址转换
固定分区管理方式下作业的地址转换常采用静态重定位技术。
3、存储保护
固定分区管理方式下只考虑判断其物理地址即可。常采用“界限寄存器对”法。
If 下限地址<=物理地址<=上限地址
Then 继续
Else 产生“越界中断” ,转越界中断的处理子程序
4.内存扩充
采用覆盖技术
5.固定分区的缺点
碎片大,存在小分区占用大作业的情况。不利于提高资源的利用率 。可调入的作业大小受分区大小的严格限制。
解决办法:采用可变分区存储管理