操作系统内核内存分配算法的分析与性能评价.pdf
计算机系统应用 2007年第1期
操作系统内核内存分配算法的分析与性能评价
张琼声刘冬萍 (中国石油大学(华东)计算机与通信工程学院山东东营257061)
摘要:内存是计算机中的重要资源,快速、合理地分配内存不但能提高内存资源的利用率,也能使系统的整体性能
得以提升。本文介绍了操作系统中几种常见的内存分配算法,深入分析了几种操作系统内核内存分配算法(内核
分配器KMA);并对其性能进行了评价。
关键词:内存管理内存分配内存释放l(^^A碎片
1 前言 定长空间过小,则容易引起溢出,使整个系统在没有任
内存储器是计算机中的重要资源,对它们的访问 何征兆的情况下崩溃。如果相对保守地配置系统,扩
频率和访问方式直接影响到整个系统的性能和效率。 大定长,又会造成内存的浪费,使系统的整体性能下
如何有效管理、合理分配、使用有限而昂贵的内存资 降。
源,对提升系统性能,尤其是内存的使用效率和进程的 2.2可变大小分配策略
运行速度显得尤为重要。本文介绍了内存分配的一些 2。2.1分配策略简介
可变大小分配策略,即系统处理不同尺寸的分配
基本策略,重点阐述了内存分配中,常见的几种内核内
请求,并分配合适大小的内存空间。
存分配的原理,并对其性能进行了评述。
2.2.2可变分配策略的特点
显然,这样的分配方式很灵活,应用也很广泛,但
2内存分配策略
是它也有自己的缺陷。
在内存管理中,操作系统管理所有的物理内存,并
(1)为了满足用户要求和系统的要求,不得不做
为系统内核中的不同子系统以及用户进程分配内存。
一些额外的工作(如:分区排序、分区合并等),效率会
通常内存的分配策略按分配的内存空间大小可以分为
有所下降:
固定尺寸分配策略、可变大小分配策略;按分配内存的
(2)在程序运行期间,可能会有频繁的内存分配
地址是否连续可以分为:离散内存分配和连续内存分
和释放动作,这样会在内存中形成大量的、不连续的、
配策略。
不能够直接使用的内存碎片,在很多情况下,这对于程
2.1固定尺寸分配策略
序是致命的。
2.1.1分配策略简介 2.3连续内存分配
固定尺寸分配策略的关键在于固定,即当申请内 2.3.1分配策略简介
存时,系统总是返回一个固定大小(通常是2的指数 连续内存分配是一种静态的内存分配策略,即在
倍)的内存空间,而不管我们实际需要内存的大小。 程序开始运行之前就已经决定,每个程序在内存中只
2.1.2固定尺寸分配策略的特点 占有一块单独的连续内存区域。这种方法因决定的范
(1)优点 围不同而发生变化。可以把整个作业作为一个整体进
延迟时间确定 行分配,也可以按每一作业步(即程序)单独分配。
分配和回收速度快