-
每个程序(作业)占据主存中连续的空间,按管理方式的不同分为:
-
伙伴内存分配(Buddy memory allocation)
-
基本思想:将用户内存区域对半分割以实现最佳适应的分配的算法
-
优点:
- 很小的外碎片
- 方便内存分区的合并
-
缺点:
- 存在内碎片
-
伙伴内存分配算法举例
- Program A requests memory 54K in size
- Program B requests memory 108K in size
- Program C requests memory 60K in size
- Program D requests memory 120K in size
- Program C releases its memory
- Program A releases its memory
- Program B releases its memory
- Program D releases its memory
-
-
连续分区管理方式存在的问题
- 每个程序总是要求占用连续的存储空间,经过一段时间的运行将会产生许多碎片(不连续的容量较小的分区)
-
应对内存不足的连续存储管理技术
- 移动技术
- 覆盖技术
- 将大程序划分为一系列的覆盖,每个覆盖是一个相对独立的程序单位,把程序执行时不需要同时装入内存的覆盖构成一组,称为覆盖段。
- 一个覆盖段内的覆盖共享同一存储区域,该区域成为覆盖区,其大小由对应的覆盖段内最大的覆盖决定。
- 交(对)换技术
- 把暂时不用的某个程序及数据的一部分或全部从内存移到外存中去
- 或把指定的程序或数据从外存读到相应的内存中,并将控制权转给该程序的一种内存扩充技术。(MIT, CTSS)
下一篇:分页式存储管理