4---2
二、连续分配方式
为一个用户程序分配连续的内存空间
早期的分类:单一连续分配 固定分区分配 动态分区分配 动态重定位分区分配 其他
1.单一连续分配
内存分为系统区(仅供给OS使用,通常放在内存的低址部分)和用户区(除系统区外的全部内存空间,提供给用户使用)两部分
这是最简单的一种存储管理方式,只能用于单用户、单任务操作系统中
优点 易于管理
缺点 对要求内存空间少的程序,造成内存浪费;程序全部装入,很少使用的程序部分也占用内存。
2.固定分区分配
把内存分为一些大小相等或不等的分区,每个进程占用一个分区。操作系统占用其中的一个分区。
提高:支持多个程序并发执行,适用于多道程序系统和分时系统。最早的多道程序存储管理方式。划分为几个分区,便只允许几道作业并发
具体实现
(1)如何划分分区大小
若分区大小相等,只适用于多个相同的并发执行(处理多个类型相同的对象),缺乏灵活性。
若分区大小不等,多个小分区、适量的中等分区、少量的大分区。 根据程序大小,分配当前空闲的、适当大小的分区。
(2)需要的数据结构
建立一记录相关信息的分区表 表项有 |起始位置|大小|状态|
分区表中,表项值随着内存的分配和释放而动态改变。
(3)程序分配内存的过程
也可将分区表分为两个表格:空闲分区表/占用分区表。从而减小每个表格长度。
检索算法:空闲分区表可能按不同分配算法采用不同方式对表项排序(将分区按