内存动态分配方法及系统的制作方法

文档序号:6502012阅读:255来源:国知局
内存动态分配方法及系统的制作方法
【专利摘要】一种内存动态分配方法及系统,该系统包括:记录模块,用于记录一段时间进程使用内存最大值X1;比较模块,用于比较预设进程申请内存值X2和X1的大小,将较大者存入第一变量,较小者存入第二变量;分配模块,用于分配第一预设内存值给预设进程;判断模块,用于判断当前内存是否满足预设进程运行;所述分配模块还用于如果当前分配的内存不满足预设进程运行,分配第二预设内存值给预设进程,并触发判断模块;触发模块,用于内存满足预设进程运行时,唤醒预设进程。本发明按照预设比例多次且每次少量动态分配内存给预设进程,避免以往一次分配太少,预设进程不能运行,或者一次分配过多,造成内存浪费。
【专利说明】内存动态分配方法及系统

【技术领域】
[0001] 本发明涉及一种内存分配方法及系统,尤其涉及一种内存动态分配方法及系统。

【背景技术】
[0002] 进程在系统中运行需要一定的内存,在有限的内存中,如果进程申请的空间很大, 而实际上有没有使用到,这就会导致内存浪费;而如果申请的内存太小,又会影响到进程的 正常工作,这就需要内核对系统内存进行有效地管理,既要符合系统运行进程的需要,又不 能过多浪费内存而影响到其它的进程。


【发明内容】

[0003] 鉴于以上内容,有必要提供一种内存动态分配方法及系统。
[0004] 所述内存动态分配方法包括:记录步骤,记录一段时间电子装置运行进程使用内 存的最大值XI ;比较步骤,比较预设进程申请的内存值X2和上述XI的大小,将较大者存入 第一变量,将较小者存入第二变量;第一分配步骤,分配第一预设内存值给预设进程,所述 第一预设内存值为第二变量的预设比例;第一判断步骤,判断当前分配的内存是否满足预 设进程运行需要;第二分配步骤,如果当前分配的内存不满足预设进程运行需要,将预设进 程挂起,分配第二预设内存值给预设进程,并返回第一判断步骤;触发步骤,如果当前分配 的内存满足预设进程运行需要时,触发电子装置的系统内核唤醒预设进程,使预设进程运 行。
[0005] 所述内存动态分配系统包括:记录模块,用于记录一段时间电子装置运行进程使 用内存的最大值XI ;比较模块,用于比较预设进程申请的内存值X2和上述XI的大小,将较 大者存入第一变量,将较小者存入第二变量;分配模块,用于分配第一预设内存值给预设进 程,所述第一预设内存值为第二变量的预设比例;判断模块,用于判断当前分配的内存是否 满足预设进程运行需要;所述分配模块还用于如果当前分配的内存不满足预设进程运行需 要,将预设进程挂起,分配第二预设内存值给预设进程,并触发判断模块继续判断当前分配 的内存是否满足预设进程运行需要;触发模块,用于如果当前分配的内存满足预设进程运 行需要时,触发电子装置的系统内核唤醒预设进程,使预设进程运行。
[0006] 本发明按照预设比例多次且每次少量地动态分配内存给预设进程,避免了以往一 次分配内存太少,预设进程因内存不足不能运行,或者一次分配过多内存,造成浪费。

【专利附图】

【附图说明】
[0007] 图1是本发明内存动态分配系统的较佳实施方式的运行环境图。
[0008] 图2是本发明内存动态分配系统的较佳实施方式的功能模块图。
[0009] 图3是本发明内存动态分配方法的较佳实施方式的流程图。
[0010] 主要元件符号说明

【权利要求】
1. 一种内存动态分配方法,其特征在于,该方法包括: 记录步骤,记录一段时间电子装置运行进程使用内存的最大值XI ; 比较步骤,比较预设进程申请的内存值X2和上述XI的大小,将较大者存入第一变量, 将较小者存入第二变量; 第一分配步骤,分配第一预设内存值给预设进程,所述第一预设内存值为第二变量的 预设比例; 第一判断步骤,判断当前分配的内存是否满足预设进程运行需要; 第二分配步骤,如果当前分配的内存不满足预设进程运行需要,将预设进程挂起,分配 第二预设内存值给预设进程,并返回第一判断步骤; 触发步骤,如果当前分配的内存满足预设进程运行需要时,触发电子装置的系统内核 唤醒预设进程,使预设进程运行。
2. 根据权利要求1所述的内存动态分配方法,其特征在于,所述预设比例=(第二变量 的值/第一变量的值)* 100%。
3. 根据权利要求1所述的内存动态分配方法,其特征在于,所述第二预设内存值=(预 设进程申请的内存值X2-当前分配的内存值)*预设比例。
4. 根据权利要求1所述的内存动态分配方法,其特征在于,该方法还包括: 第二判断步骤,如果当前分配的内存满足预设进程的运行需要时,判断预设进程是否 能够正常运行,如果预设进程能够正常运行,执行触发步骤。
5. 根据权利要求4所述的内存动态分配方法,其特征在于,如果当前分配的内存值小 于预设进程申请的内存值X2,判断预设进程能够正常运行。
6. -种内存动态分配系统,其特征在于,该系统包括: 记录模块,用于记录一段时间电子装置运行进程使用内存的最大值XI ; 比较模块,用于比较预设进程申请的内存值X2和上述XI的大小,将较大者存入第一变 量,将较小者存入第二变量; 分配模块,用于分配第一预设内存值给预设进程,所述第一预设内存值为第二变量的 预设比例; 判断模块,用于判断当前分配的内存是否满足预设进程运行需要; 所述分配模块还用于如果当前分配的内存不满足预设进程运行需要,将预设进程挂 起,分配第二预设内存值给预设进程,并触发判断模块继续判断当前分配的内存是否满足 预设进程运行需要; 触发模块,用于如果当前分配的内存满足预设进程运行需要时,触发电子装置的系统 内核唤醒预设进程,使预设进程运行。
7. 根据权利要求6所述的内存动态分配系统,其特征在于,所述预设比例=(第二变量 的值/第一变量的值)* 100%。
8. 根据权利要求6所述的内存动态分配系统,其特征在于,所述第二预设内存值=(预 设进程申请的内存值X2-当前分配的内存值)*预设比例。
9. 根据权利要求6所述的内存动态分配系统,其特征在于,所述判断模块还用于,如果 当前分配的内存满足预设进程的运行需要时,判断预设进程是否能够正常运行,如果预设 进程能够正常运行,启动触发模块。
10.根据权利要求9所述的内存动态分配系统,其特征在于,如果当前分配的内存值小 于预设进程申请的内存值X2,判断预设进程能够正常运行。
【文档编号】G06F12/02GK104111892SQ201310139814
【公开日】2014年10月22日 申请日期:2013年4月22日 优先权日:2013年4月22日
【发明者】房金妮, 罗探科 申请人:鸿富锦精密工业(深圳)有限公司, 鸿海精密工业股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1