:内存管理 -- 内存空间的扩充(覆盖技术交换技术)连续分配管理方式(单一连续分配(系统区/用户区)固定分区分配动态分区分配)动态分区分配算法

Posted CodeJiao

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了:内存管理 -- 内存空间的扩充(覆盖技术交换技术)连续分配管理方式(单一连续分配(系统区/用户区)固定分区分配动态分区分配)动态分区分配算法相关的知识,希望对你有一定的参考价值。

1. 内存空间的扩充

覆盖与交换技术是在多道程序环境下用来扩充内存的两种方法。

1.1 覆盖技术

早期的计算机系统中,主存容量很小,虽然主存中仅存放一道用户程序,但存储空间放不下用户进程的现象也经常发生,这一矛盾可以用覆盖技术来解决。

覆盖的基本思想如下:由于程序运行时并非任何时候都要访问程序及数据的各个部分(尤其是大程序),因此可把用户空间分成一个固定区和若干覆盖区。将经常活跃的部分放在固定区,其余部分按调用关系分段。首先将那些即将要访问的段放入覆盖区,其他段放在外存中,在需要调用前,系统再将其调入覆盖区,替换覆盖区中原有的段。

覆盖技术的特点是,打破了必须将一个进程的全部信息装入主存后才能运行的限制,但当同时运行程序的代码量大于主存时仍不能运行,此外,内存中能够更新的地方只有覆盖区的段,不在覆盖区中的段会常驻内存


1.2 交换技术


1.3 小结


2. 连续分配管理方式

连续分配方式是指为一个用户程序分配一个连续的内存空间,譬如某用户需要1GB的内存空间,连续分配方式就在内存空间中为用户分配一块连续的1GB空间。连续分配方式主要包括单一连续分配、固定分区分配和动态分区分配。


2.1 单一连续分配(内存分为:系统区/用户区)


2.2 固定分区分配


2.3 动态分区分配





小结:


2.4 小结


3. 动态分区分配算法


3.1 首次适应算法


3.2 最佳适应算法


3.3 最坏适应算法


分配过程示例:

  1. 初始状态
  2. 分配3M内存
  3. 分配9M内存

3.4 邻近适应算法


3.5 小结



以上是关于:内存管理 -- 内存空间的扩充(覆盖技术交换技术)连续分配管理方式(单一连续分配(系统区/用户区)固定分区分配动态分区分配)动态分区分配算法的主要内容,如果未能解决你的问题,请参考以下文章

内存扩充的覆盖与交换以及内存空间的分配和回收的连续分配管理方式

内存扩充的覆盖与交换以及内存空间的分配和回收的连续分配管理方式

操作系统-3.2-内存

内存管理和虚拟内存

第三章内存管理基础

操作系统---内存管理