一种程序内存处理系统及方法与流程

文档序号:15850522发布日期:2018-11-07 09:48阅读:312来源:国知局
一种程序内存处理系统及方法与流程

本发明涉及计算机技术领域,特别涉及一种程序内存处理系统及方法。

背景技术

目前常用的内存申请使用方式大多是应用程序在每次使用时向操作系统申请,在使用完后还回给操作系统,但这类方法在操作系统运行的程序越多、申请内存越多时效率就越慢,而且在长期运行的服务器上,由于不断的申请和释放容易产生内存碎片,从而导致内存申请失败,严重影响程序稳定性和执行效率;在应用程序需要频繁申请计算机内存使用、释放时出现的获取耗时较长、获取失败、产生系统内存碎片等问题。



技术实现要素:

本发明的目的是提供一种程序内存处理系统及方法,所要解决的技术问题是:操作系统运行的程序越多、申请内存越多时效率就越慢,不断的申请和释放容易产生内存碎片,从而导致内存申请失败,严重影响程序稳定性和执行效率。

本发明解决上述技术问题的技术方案如下:一种程序内存处理方法,包括以下步骤:

步骤s1.应用程序初次启动时向操作系统申请内存空间,将操作系统分配的内存空间作为应用程序的自备内存,供应用程序自行分配管理,同时记录申请到内存;

步骤s2.当应用程序运行需要内存空间时,判断自备内存的内存空间是否能满足应用程序运行,若能满足,则应用程序通过自备内存运行;否则重新向操作系统申请内存空间加入自备内存内供应用程序运行;

步骤s3.应用程序运行完成后,释放应用程序占用的内存空间到自备内存,同时更新申请到内存的记录。关闭应用程序时,将申请的自备内存归还给操作系统。

本发明的有益效果是:通过一次性问操作系统申请内存空间进行分配管理,当应用程序需要内存时,首先向自备内存中申请,并在使用完后归还到自备内存中,当自备内存不够时,再次向操作系统申请内存,能降低了应用程序与操作系统的频繁交互,从而节省了交互时间,也减少了碎片的产生,提高了应用程序的稳定和性能。

在上述技术方案的基础上,本发明还可以做如下改进。

进一步,所述步骤s1中还包括:向操作系统申请内存空间失败时,则重新向操作系统申请内存空间。

采用上述进一步方案的有益效果是:重新向操作系统申请内存空间,能满足应用程序运行需要的内存空间,提高了应用程序的稳定和性能。

进一步,所述步骤s1中还包括:还包括监测并记录自备内存的空闲时间,当自备内存的空闲时间超过预设值时,向操作系统申请释放自备内存,将自备内存的空间返还操作系统,同时更新申请到内存的记录。

采用上述进一步方案的有益效果是:自备内存的空闲时间超过限定值,则向操作系统申请释放自备内存,能避免自备内存长时间闲置,提升内存的有效利用。

进一步,所述步骤s1中还包括:当自备内存的空闲时间未超过预设值时,更新自备内存的空闲时间和申请到内存的记录。

采用上述进一步方案的有益效果是:能对自备内存的空闲时间和申请到内存的记录进行更新,实现对自备内存进行实时监测,便于对自备内存进行及时处理。

进一步,步骤s1中应用程序初次启动时向操作系统申请内存空间具体为:启动应用程序,生成触发信号,根据触发信号向操作系统申请内存空间。

采用上述进一步方案的有益效果是:根据应用程序的启动,触发向操作系统申请内存空间,既能及时满足应用程序的需要,同时能减少对操作系统内存的占用。

本发明解决上述技术问题另一的技术方案如下:一种程序内存处理系统,包括申请模块、分配模块和释放模块;

所述申请模块,用于应用程序初次启动时向操作系统申请内存空间,将操作系统分配的内存空间作为应用程序的自备内存,供应用程序自行分配管理,同时记录申请到内存;还用于根据重新申请信号重新向操作系统申请内存空间加入自备内存内供应用程序运行;

所述分配模块,用于当应用程序运行需要内存空间时,判断自备内存的内存空间是否能满足应用程序运行,若能满足,则应用程序通过自备内存运行;生成归零信号传输至申请模块;否则生成重新申请信号,传输至申请模块;

所述释放模块,用于应用程序运行完成后,释放应用程序占用的内存空间到自备内存,同时更新申请到内存的记录;关闭应用程序时,将申请的自备内存归还给操作系统。

本发明的有益效果是:通过一次性问操作系统申请内存空间进行分配管理,当应用程序需要内存时,首先向自备内存中申请,并在使用完后归还到自备内存中,当自备内存不够时,再次向操作系统申请内存,能降低了应用程序与操作系统的频繁交互,从而节省了交互时间,也减少了碎片的产生,提高了应用程序的稳定和性能。

在上述技术方案的基础上,本发明还可以做如下改进。

进一步,所述申请模块向操作系统申请内存空间失败时,则重新向操作系统申请内存空间。

采用上述进一步方案的有益效果是:重新向操作系统申请内存空间,能满足应用程序运行需要的内存空间,提高了应用程序的稳定和性能。

进一步,还包括监测模块,所述监测模块监测并记录自备内存的空闲时间,当自备内存的空闲时间超过预设值时,向操作系统申请释放自备内存,将自备内存的空间返还操作系统,同时触发申请模块更新申请到内存的记录。

采用上述进一步方案的有益效果是:监测模块实时对自备内存进行监测,自备内存的空闲时间超过限定值,则向操作系统申请释放自备内存,能避免自备内存长时间闲置,提升内存的有效利用。

进一步,所述申请模块在自备内存的空闲时间未超过限定值时,更新自备内存的空闲时间和申请到内存的记录。

采用上述进一步方案的有益效果是:能对自备内存的空闲时间和申请到内存的记录进行更新,实现对自备内存进行实时监测,便于对自备内存进行及时处理。

进一步,所述申请模块还用于启动应用程序,生成触发信号,根据触发信号向操作系统申请内存空间。

采用上述进一步方案的有益效果是:根据应用程序的启动,触发向操作系统申请内存空间,既能及时满足应用程序的需要,同时能减少对操作系统内存的占用。

附图说明

图1为本发明一实施例提供的程序内存处理方法的流程图;

图2为本发明另一实施例提供的程序内存处理方法的实施示意图;

图3为本发明一实施例提供的程序内存处理系统的模块框图;

图4为本发明另一实施例提供的程序内存处理系统的模块框图。

附图中,各标号所代表的部件列表如下:

1、申请模块,2、分配模块,3、释放模块,4、监测模块。

具体实施方式

以下结合附图对本发明的原理和特征进行描述,所举实例只用于解释本发明,并非用于限定本发明的范围。

如图1所示,一种程序内存处理方法,包括以下步骤:

步骤s1.应用程序初次启动时向操作系统申请内存空间,将操作系统分配的内存空间作为应用程序的自备内存,供应用程序自行分配管理,同时记录申请到内存;

步骤s2.当应用程序运行需要内存空间时,判断自备内存的内存空间是否能满足应用程序运行,若能满足,则应用程序通过自备内存运行;否则重新向操作系统申请内存空间加入自备内存内供应用程序运行;

步骤s3.应用程序运行完成后,释放应用程序占用的内存空间到自备内存,同时更新申请到内存的记录;关闭应用程序时,将申请的自备内存归还给操作系统。

上述实施例中,通过一次性问操作系统申请内存空间进行分配管理,当应用程序需要内存时,首先向自备内存中申请,并在使用完后归还到自备内存中,当自备内存不够时,再次向操作系统申请内存,能降低了应用程序与操作系统的频繁交互,从而节省了交互时间,也减少了碎片的产生,提高了应用程序的稳定和性能。

可选的,作为本发明的一个实施例,所述步骤s1中还包括:向操作系统申请内存空间失败时,则重新向操作系统申请内存空间。

上述实施例中,重新向操作系统申请内存空间,能满足应用程序运行需要的内存空间,提高了应用程序的稳定和性能。

可选的,作为本发明的一个实施例,如图2所示,启动应用程序,向操作系统申请内存,判断申请内存是否成功,当申请成功时,操作系统向应用程序分配内存空间,将操作系统分配的内存空间,作为应用程序的自备内存进行分配管理;当申请失败时,重新向操作系统申请内存;

设定自备内存空闲时间的预设值,记录申请到内存;

当应用程序运行需要内存空间时,向自备内存申请内存空间,判断自备内存的内存空间是否能满足应用程序运行,若能满足,获取自备内存,设置自备内存的空闲时间为零;应用程序通过自备内存运行,应用程序运行后释放内存空间到自备内存;自备内存的内存空间不能满足应用程序运行,向操作系统申请内存空间加入自备内存内供应用程序运行;

当应用程序不运行时,监测并记录自备内存的空闲时间,当自备内存的空闲时间超过预设值时,向操作系统申请释放自备内存,将自备内存的空间返还操作系统,同时更新申请到内存的记录;当自备内存的空闲时间未超过预设值时,更新自备内存的空闲时间和申请到内存的记录。

上述实施例中,自备内存的空闲时间超过限定值,则向操作系统申请释放自备内存,能避免自备内存长时间闲置,提升内存的有效利用。

能对自备内存的空闲时间和申请到内存的记录进行更新,实现对自备内存进行实时监测,便于对自备内存进行及时处理。

可选的,作为本发明的一个实施例,步骤s1中应用程序初次启动时向操作系统申请内存空间具体为:启动应用程序,生成触发信号,根据触发信号向操作系统申请内存空间。

上述实施例中,根据应用程序的启动,触发向操作系统申请内存空间,既能及时满足应用程序的需要,同时能减少对操作系统内存的占用。

如图3所示,一种程序内存处理系统,包括申请模块1、分配模块2和释放模块3;

所述申请模块1,用于应用程序初次启动时向操作系统申请内存空间,将操作系统分配的内存空间作为应用程序的自备内存,供应用程序自行分配管理,同时记录申请到内存;还用于根据重新申请信号重新向操作系统申请内存空间加入自备内存内供应用程序运行;

所述分配模块2,用于当应用程序运行需要内存空间时,判断自备内存的内存空间是否能满足应用程序运行,若能满足,则应用程序通过自备内存运行;生成归零信号传输至申请模块1;否则生成重新申请信号,传输至申请模块1;

所述释放模块3,用于应用程序运行完成后,释放应用程序占用的内存空间到自备内存,同时更新申请到内存的记录;关闭应用程序时,将申请的自备内存归还给操作系统。

上述实施例中,申请模块1、分配模块2和释放模块3协调运作,通过一次性问操作系统申请内存空间进行分配管理,当应用程序需要内存时,首先向自备内存中申请,并在使用完后归还到自备内存中,当自备内存不够时,再次向操作系统申请内存,能降低了应用程序与操作系统的频繁交互,从而节省了交互时间,也减少了碎片的产生,提高了应用程序的稳定和性能。

可选的,作为本发明的一个实施例,所述申请模块1向操作系统申请内存空间失败时,则重新向操作系统申请内存空间。

上述实施例中,重新向操作系统申请内存空间,能满足应用程序运行需要的内存空间,提高了应用程序的稳定和性能。

可选的,作为本发明的一个实施例,如图4所示,还包括监测模块4,所述监测模块4监测并记录自备内存的空闲时间,当自备内存的空闲时间超过预设值时,向操作系统申请释放自备内存,将自备内存的空间返还操作系统,同时触发申请模块1更新申请到内存的记录。

上述实施例中,监测模块实时对自备内存进行监测,自备内存的空闲时间超过限定值,则向操作系统申请释放自备内存,能避免自备内存长时间闲置,提升内存的有效利用。

可选的,作为本发明的一个实施例,所述申请模块1当自备内存的空闲时间未超过预设值时,更新自备内存的空闲时间和申请到内存的记录。

上述实施例中,能对自备内存的空闲时间和申请到内存的记录进行更新,实现对自备内存进行实时监测,便于对自备内存进行及时处理。

可选的,作为本发明的一个实施例,所述申请模块1还用于启动应用程序,生成触发信号,根据触发信号向操作系统申请内存空间。

上述实施例中,根据应用程序的启动,触发向操作系统申请内存空间,既能及时满足应用程序的需要,同时能减少对操作系统内存的占用。

以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1