分区存储管理是把主存储器中的用户区作为一个连续区或分成若干个连续区进行管理,每个连续区中可装入一个作业。
固定分区存储管理
预先把可分配的主存储器空间分割成若干个连续区域,每个区域的大小可以相同,也可以不同。
OS通过"主存分配表"来管理主存。
该方法存在的问题是存在零头
或称为内碎片
,即已分配分区剩下的未用空间。
可变分区存储管理
可变分区方式是按作业的大小来划分分区。当要装入一个作业时,根据作业需要的主存量查看主存中是否有足够的空间,若有,则按需要量分割一个分区分配给该作业;若无,则令该作业等待主存空间。
有两种管理表格:已分配表和未分配表。
请求和释放分区主要有四种算法:最佳适应算法
、最差适应算法
、首次适应算法
和循环首次适应算法
。
可变分区虽然让主存分配更灵活,提高贮存利用率,但是每次回收和分配分区时可能产生一些不连续的无用空间,称为碎片
,即使碎片和超过文件量,但不能被利用。
解决碎片化的空间的方法是让已分配作业的分区向低地址端移动,使碎片拼接到一起。
可重定位分区管理
这种管理方式是为了解决碎片拼接后的各分区地址变化后的重定位问题。
分区保护
目的是防止未经核准的用户访问分区。
常见的两种保护方式:
(1)上界/下界寄存器保护。
上界寄存器存放作业装入地址,下界寄存器存放作业结束地址。
(2)基址/限长寄存器保护。