更新时间:2022-05-19 07:39
分区分配,是能满足多道程序设计的最简单的存储管理技术,它允许几个作业共享主存空间,这几个作业被装入不同的分区中,每个分区可用来装入一个作业。
因此,分区式存储管理可以在内存中同时放几道作业,适用于多道程序系统。
分区式分配又分为:固定式分区、可变式分区、可重定位分区和多重分区4种管理方案。
固定式分区
1.实现原理
固定式分区是在处理作业之前存储器就已经被划分成若干个分区,每个分区的大小可以相同,也可以不同。但是,一旦划分好分区后,主存储器中的分区的个数就固定了,且每个分区的大小固定不变。
2.硬件支持
采用这种存储管理方案只需要很少一点专用硬件,即存储保护机构,以防止某一个作业干扰或破坏操作系统和其他作业。有两种实现方法:其一,使用两个界限寄存器框住正在使用的内存区域,但是这样做很麻烦,每当重新分配处理机时都得修改界限寄存器的内容。其二,为每个分区配上一个单独的保护锁,程序状态字中有一把钥匙,根据锁和钥匙相匹配的方法来实现存储保护。
3.软件算法
这种分区方式一般将内存的用户区分成大小不等的分区,以适应不同大小作业的需要。系统中有一张分区说明表,每个表目记录一个分区的大小、起始地址和分区的状态,当系统为某个作业分配主存空间时,根据所需要的内存容量,在分区表中找到一个足够大的空闲分区分配给它,然后将此作业装入内存。如果找不到足够大的空闲分区,则这个作业暂时无法分配内存空间,系统将调度另一个作业。当一个作业运行结束时,系统将回收改作业所占据的分区并将该分区改为空闲。
这种内存分配技术虽然可以是多个作业共享主存空间,但由于分区是事先划分好的,而一个作业的大小不肯能正好等于某个分区的大小,所以每个已分配的分区总有一部分空间是被浪费的,把这部分被浪费的存储区成为区内零头。有时这种分配方式浪费相当严重。