移动装置的存储器管理方法和系统的制作方法

文档序号:6503589阅读:146来源:国知局
移动装置的存储器管理方法和系统的制作方法
【专利摘要】本发明介绍移动装置的存储器管理方法和系统。通过上述电子装置的一操作系统的一内建原始存储器管理元件以及一使用者导向存储器管理元件,监控一存储器的一存储器使用情形。判断上述存储器使用情形是否已超过一第一临界值或一第二临界值,其中上述第二临界值大于上述第一临界值。若上述存储器使用情形超过上述第一临界值,由上述使用者导向存储器管理元件执行一多阶存储器管理。若上述存储器使用情形超过上述第二临界值,由上述内建原始存储器管理元件执行一原始存储器管理。
【专利说明】移动装置的存储器管理方法和系统
【技术领域】
[0001]本说明书主要是有关于存储器管理方法和系统,特别是有关于依照使用者经验处理存储器不足的情况的移动装置的存储器管理方法和系统。
【背景技术】
[0002]近年来,可携式装置,如平板计算机、移动电话、智能型手机与个人数字助理等变得越来越高级且变得更多功能化。举例来说,可携式装置可以具备电信通讯能力、电子邮件、进阶通讯簿管理、行事历管理、笔记功能、媒体播放、以及其它各式各样的能力与应用。由于这些装置的便利,也使得这些装置成为人们的生活必需品之一。
[0003]随着移动装置的应用越来越多,所提出的应用成长速度越来越快,物理存储器的限制所产生的问题也会伴随着产生,存储器不足(Out-Of-Memory,00M)的情况所发生的机率也因而提高,因此,需要谨慎考虑这个问题。现今移动装置的操作系统(OperationSystem, OS)监测存储器使用位阶,只要位阶高于预先定义的临界值,内建的存储器管理元件就会实时采取移动,举例来说,存储器回收(garbage collection)会随机或根据一些简单的策略,像是应用软件的大小、应用软件的使用时期或建文件日期删除应用软件,用以回收不使用的存储器。
[0004]在一些发明中揭露了一些解决存储器不足(Out-Of-Memory,00M)的方法。在美国专利编号7,284,099中揭露了在存储器中提供一存储器不足管理分配部分以保存特殊的应用软件。当在上述存储器不足的情况下,提供保存的海量存储器以在受影响的应用软件终止前,完成数据备份以及改善步骤。在美国专利编号6,938,254中揭露了多个存储器使用临界值,当到达第一临界值,会要求至少应用软件的一者限制其使用存储器。当到达用以指示存储器使用已比在第一临界值还紧急的第二临界值时,通知至少应用软件的一者自行关闭。当到达表示存储器使用已在最紧急的第三临界值时,会出现一窗口用以提示使用者选择终止至少应用软件的一者。在美国专利编号7,827,358中揭露了静态或动态地按优先级处理权部在执行的应用软件,且一旦存储器使用位阶过高,分别根据优先权和存储器缩减操作,由存储器管理模块选取一或多应用软件。此外,根据每一选取的应用软件,启用应用程序界面(Application Programming Interface, API)以完成存储器缩减操作,例如:将应用程序隐藏在背景(hide-to-background)、当应用程序再次执行时在回复(freeze-dry)、将应用程序重新启动(restart)、合宜地关闭应用程序等。
[0005]然而,在上述前案中并未提出选取一应用程序用以释放存储器空间或合宜地关闭而不明显地影响使用者的感觉的方法。无疑地,随机挑选应用程序可能会不符合使用者期望且降地使用者经验。同样地,当在存储器紧急的时候,若使用者在睡眠、休息或将电子装置放在口袋,无法和电子装置互动的情况下,即使跳出一窗口供使用者选取,使用者也无法处理存储器紧急的问题。当应用程序的使用者使用此应用程序的使用频率并不相同时,通过优先权选取应用程序并无法反映出不同应用程序对于各个使用者的重要性。
【发明内容】

[0006]有鉴于此,本发明提供移动装置的存储器管理方法和系统,以克服前述问题。
[0007]根据本发明的一实施例提供了一种移动装置的存储器管理方法,适用于一电子装置,包括:通过上述电子装置的一操作系统的一内建原始存储器管理元件以及一使用者导向存储器管理元件,监控一存储器的一存储器使用情形;判断上述存储器使用情形是否已超过一第一临界值或一第二临界值,其中上述第二临界值大于上述第一临界值;若上述存储器使用情形超过上述第一临界值,由上述使用者导向存储器管理元件执行一多阶存储器管理;若上述存储器使用情形超过上述第二临界值,由上述内建原始存储器管理元件执行一原始存储器管理。
[0008]根据本发明的一实施例提供了一种移动装置的存储器管理方法,适用于一电子装置,包括:执行一多阶关闭程序的一第一阶以通知一作业程序释放一存储器的资源;判断一存储器使用情形是否超过上述第一临界值;若上述存储器使用情形超过上述第一临界值,执行上述多阶关闭程序的一第二阶以配置对应上述作业程序的编码或只读数据;判断上述存储器使用情形是否仍超过上述第一临界值;若上述存储器使用情形仍超过上述第一临界值,执行上述多阶关闭程序的一第三阶以通知上述作业程序在一有限时间自行关闭;判断上述存储器使用情形是否仍超过上述第一临界值;以及若上述存储器使用情形仍超过上述第一临界值,执行上述多阶关闭程序的一第四阶以切换失败者的一控制模式,且自行离开。
[0009]根据本发明的一实施例提供了一种移动装置的存储器管理系统,适用于一电子装置,包括:一存储器;以及一处理单元,执行上述电子装置的一操作系统的一内建原始存储器管理元件,以及一使用者导向存储器管理元件以监控一存储器的一存储器使用情形,判断上述存储器使用情形是否已超过一第一临界值或一第二临界值,其中上述第二临界值大于上述第一临界值,若上述存储器使用情形超过上述第一临界值,由上述使用者导向存储器管理元件执行一多阶存储器管理,以及若上述存储器使用情形超过上述第二临界值,由上述内建原始存储器管理元件执行一原始存储器管理。
[0010]根据本发明的一实施例提供了一种移动装置的存储器管理系统,适用于一电子装置,包括:一存储器;以及一处理单元,执行一多阶关闭程序的一第一阶以通知一作业程序释放一存储器的资源;判断一存储器使用情形是否超过上述第一临界值;若上述存储器使用情形超过上述第一临界值,执行上述多阶关闭程序的一第二阶以配置对应上述作业程序的编码或只读数据;判断上述存储器使用情形是否仍超过上述第一临界值;若上述存储器使用情形仍超过上述第一临界值,执行上述多阶关闭程序的一第三阶以通知上述作业程序在一有限时间自行关闭;判断上述存储器使用情形是否仍超过上述第一临界值;以及若上述存储器使用情形仍超过上述第一临界值,执行上述多阶关闭程序的一第四阶以切换失败者的一控制模式,且自行离开。
[0011]根据本发明的一些实施例提供了通过聚集对应执行于电子装置的多个作业程序的一信息,根据聚集的上述信息,选取上述作业程序的一者为一失败者;以及执行关于上述失败者的一多阶关闭程序,来执行多阶存储器管理。根据本发明的一些实施例提供了在执行多阶关闭程序后,判断存储器使用情形是否少于第一临界值。根据本发明的一些实施例提供了若存储器使用情形未少于上述第一临界值,根据聚集的信息,重新选取作业程序的一者为一新失败者。
[0012]根据本发明的一些实施例提供了聚集的信息记录了一前景作业程序,其中选取作业程序为失败者中会排除上述前景作业程序。根据本发明的一些实施例提供了在选取失败者时,提出记录至少一特定作业程序的一白名单,且会排除上述特定作业程序为上述失败者。
[0013]移动装置的存储器管理方法会以一程序码的形式在一实体媒体上执行。当程序码在入或执行于计算机时,上述计算机就会执行本发明所揭露的方法。
【专利附图】

【附图说明】
[0014]图1是显示根据本发明一实施例所述的移动装置100的存储器管理系统的示意图。
[0015]图2是显示根据本发明一实施例所述的更进一步说明的示意图。
[0016]图3是显示根据本发明一实施例所述的移动装置的存储器管理方法的流程图。
[0017]图4是显示根据本发明一实施例所述的使用者导向处理器400的示意图。
[0018]图5是显示根据本发明一实施例所述的多阶存储器管理的方法的流程图。
[0019]图6是显示根据本发明一实施例所述的选取失败者的方法的流程图。
[0020]图7是显示根据本发明一实施例所述的多阶关闭程序的方法的流程图。
[0021][标号说明]
[0022]100-移动装置;110-存储器;
[0023]120-处理单元;200-操作系统核心;
[0024]210-原始处理器;220-使用者导向存储器管理元件;
[0025]221-使用者导向监视器;222-使用者导向处理器;
[0026]400-使用者导向处理器;410-核心;
[0027]420-信息收集模块;430-失败者选取模块;
[0028]440-白名单;450-关闭模块。
【具体实施方式】
[0029]在此提供本发明移动装置的存储器管理方法和系统的说明。
[0030]图1是显示根据本发明一实施例所述的移动装置100的存储器管理系统的示意图。移动装置100的存储器管理系统可使用在一电子装置,像是移动装置,举例来说,一个人数字助理(Personal Digital Assistant, PDA)、一智能型手机、一移动电话、一移动网络装置(Mobile Internet Device, MID) >一笔记本型计算机、一全球定位系统(GlobalPositioning System, GPS),或其它手持装置。
[0031]移动装置100的存储器管理系统包括一存储器110和一处理单元120。存储器110可记录对应执行于电子装置的系统的程序/应用程序的相关编码且/或数据。注意得是,操作系统会安装在电子装置上,且操作系统的核心(kernel)会一直记录在存储器中。处理单元120可控制移动装置100的存储器管理系统的相关元件,以及执行本发明所提出的控制移动装置100的存储器管理方法,在接下来的段落会有更详尽地讨论。根据本发一些实施例,移动装置100的存储器管理系统还包括一显示单元(图1未显示)。显示单元可显示相关图式和界面以及相关数据。根据本发明一些实施例,显示单元可是和一触碰感应装置(图未显示)结合的屏幕。触碰感应装置具有一触碰感应接口,此触碰感应界面包括至少在一维度的感测器以检测一输入工具,例如:触控笔或手指,在触碰感应界面上的接触和移动。因此,使用者可经由显示单元直接输入相关的数据。
[0032]图2是显示根据本发明一实施例所述的更进一步说明的示意图。如图2所示,存储器管理系统中内建原始存储器管理元件包括,操作系统核心200以及内建原始处理器210。根据本发明一些实施例,操作系统核心200可以监控存储器的使用状况。根据本发明一些实施例,在未使用的存储器页面被记录后,操作系统核心200可解译所有存储器的动作。当已使用的存储器超过一第一特定临界值(申请专利范围是指第二临界值),或未使用的存储器页面低于一预定义的临界值,操作系统核心200就会通过事件或消息等方式发送信号给原始处理器210。接着,原始处理器210就会完成一原始存储器管理。根据上述实施例,原始存储器管理会根据其不同的设计来执行不同操作,例如:选取要终止的作业程序\应用软件或通知选取的作业程序\应用软件以释放部分存储器空间。因此,原始存储器管理会受到限制,以及完全地依赖操作系统的设定。除了内建原始存储器管理元件之外,一使用者导向(user-oriented)存储器管理元件220包括一使用者导向监视器(watchdog) 221和使用者导向处理器222,其中使用者导向监视器221安装在操作系统核心200中。使用者导向存储器管理元件220可和操作系统的原始存储器管理元件相互共存,且不会和原始处理器210相互干扰。使用者导向监视器221亦可监控存储器的使用情况。在本发明一些实施例中,存储器的使用情况可由操作系统核心200取得。使用者导向监视器221可判断所使用的存储器是否已超过一第一临界值。当所使用的存储器超过第一临界值时,使用者导向处理器222会执行多阶(mult1-level)存储器管理。注意得是,第二临界值是大于第一临界值。因此,多阶存储器管理可在原始存储器管理前执行。有关多阶存储器管理将在底下会有更详尽的描述。
[0033]图3是显示根据本发明一实施例所述的移动装置的存储器管理方法的流程图。移动装置的存储器管理方法可使用在一电子装置,像是移动装置,举例来说,一个人数字助理(PDA)、一智能型手机、一移动电话、一移动网络装置(MID)、一笔记本型计算机、一全球定位系统(GPS),或其它手持装置。
[0034]在步骤S310,通过电子装置的操作系统的内建原始存储器管理元件,且/或使用者导向存储器管理元件,监控存储器的存储器使用情形。在步骤S320,判断存储器的存储器使用情形是否已超过第一临界值。若使用的存储器无超过第一临界值(步骤S320的否),则回到步骤S310。若使用的存储器超过第一临界值(步骤S320的是),则进行步骤S330。在步骤S330,由使用者导向存储器管理元件执行一多阶存储器管理。在本发明一些实施例中,使用者导向存储器管理元件包括一使用者导向监视器和使用者导向处理器,其中使用者导向监视器是安装在操作系统核心中。当使用的存储器超过第一临界值时,使用者导向监视器会通知使用者导向处理器,且当使用者导向监视器通知使用者导向处理器,使用者导向处理器将会执行多阶存储器管理。接着,在步骤S340,判断存储器的是用是否已超过第二临界值。特别说明得是,第二临界值大于第一临界值。若使用的存储器无超过第二临界值(步骤S340的否),则回到步骤S310。若使用的存储器超过第二临界值(步骤S340的是),则进行步骤S350。在步骤S350,由内建原始存储器管理元件执行一原始存储器管理。由于第二临界值大于第一临界值,因此多阶存储器管理可比原始存储器管理先执行。如上述实施例所述,原始存储器管理会根据其不同的设计来执行不同动作,例如:选取要终止的作业程序\应用软件或通知选取的作业程序\应用软件以释放部分存储器空间。因此,原始存储器管理会受到限制,以及完全地依赖操作系统的设定。
[0035]图4是显示根据本发明一实施例所述的使用者导向处理器400的示意图。如图4所不,使用者导向处理器400包括:核心(core)410 ;信息收集模块420、失败者(loser)选取模块430、白名单(white list)440,以及关闭模块450。核心410是在存储器不足情形时(使用的存储器超过第一临界值)主要控制整个动作逻辑的运作。核心410启动所需的数据结构、安装在操作系统核心(OS kernel)的使用者导向监视器、经由信息收集模块420设定在操作系统核心的信息市场,以及在检测到是存储器不足情形时(使用的存储器超过第一临界值),阻挡自身的运作以等待来自使用者导向监视器的通知。
[0036]信息收集模块420可聚集对应来自操作系统核心的作业程序\应用软件的相关信息。在本发明一些实施例中,聚集的信息包括用以表示私人数据的使用状况的多个确认页面(committed pages)、用以告知虚拟存储器使用状况的多个保留页面(reservedpages)、用以表示使用的作业程序\应用软件多久使用的最小最近使用(least recentlyused, LRU)时间、用以告知使用的作业程序\应用软件在一取样周期(一般来说是几分钟至几小时)暂停的频率的使用频率(热点(Hotspot)),且/或会彼此互相影响的目前正在使用的前景(foreground)作业程序\应用软件等。上述实施例所述的信息仅是一范例的说明并非用以限制本发明。一般来说,可聚集两种类型的信息,其中一者为样本数据(sampleddata),另一者为执行的数据(live data)。样本数据,例如:最小最近使用(LRU)时间、热点(Hotspot)等,其可在一长的频率中断(timer-1nterrupt)区间周期性地被计算。可增加简单的几个指令用以记录需要的信息,例如:一般执行的作业程序\应用软件,以及样本数据的负载太小。考虑及检验样本数据以表示具体所使用的作业程序\应用软件的数目。当存储器不足情况时,在时间帧立即地收集执行的数据。在本发明一些实施例中,既然优先级的执行总会因为存储器旧的对象的无效的存取,而有非预期的例外发生,因此必须在聚集执行的数据前遮蔽处理器中断。在本发明一些实施例中,作业程序\应用软件在虚拟存储器的使用可通过移动通过在处理空间的所有存储器页面或查询用以指示一般虚拟存储器配置基准线的虚拟存储器配置址标来简单地计算。关于物理存储器的使用,能够通过页面表格来计算有多少页面可由存储器管理单元(Memory Management Unit, MMU)翻译。
[0037]白名单440定义那些作业程序\应用软件应该永远不会视为失败者。因此,在选取视为失败者的作业程序\应用软件时,会将记录在白名单440的作业程序\应用软件排除在外。作业程序\应用软件可动态新增或删除。在本发明一些实施例中,每一作业程序\应用软件可用一较简单的方式表示,例如:以混乱双字组(hashed double word)取代长字串形式(long string-formatted)的名称。失败者选取模块430可根据聚集信息和使用者经验加权所有在系统执行的作业程序\应用软件,以及在作业程序\应用软件中选取至少一失败者。在本发明一些实施例中,在加权每一关于使用者经验的因子时,会假设最小最近使用(LRU)时间和热点(Hotspot)比其它因子具有较重的加权。在存储器不足的情况,为了维持使用者的喜好的和最频繁地使用的使用的作业程序\应用软件存活下来,会在系统上将使用者的喜好的感受和吸引力保存下来。当由执行再系统上的作业程序\应用软件选出失败者,失败者关闭模块450可对失败者执行一多阶关闭程序。多阶关闭程序将在底下有更详尽的描述。
[0038]图5是显示根据本发明一实施例所述的多阶存储器管理的方法的流程图。当使用的存储器超过第一临界值,多阶存储器管理可执行通过使用者导向监视器传送的通知。
[0039]在步骤S510,聚集对应在系统上执行的作业程序\应用软件相关信息。如先前实施例所述,可聚集两种类型的信息,其中一者为样本数据(sampled data),另一者为执行的数据(live data)。在本发明一些实施例中,聚集的信息可包括使用的虚拟存储器(VM)、使用的物理存储器、最小最近使用(LRU)时间,以及/或个别作业程序\应用软件的热点(Hotspot)(使用频率)。在步骤S520,根据聚集的信息,选取作业程序的一者为失败者。在本发明一些实施例中,在存储器不足的情况,为了维持使用者的喜好的和最频繁地使用的使用的作业程序\应用软件存活下来,会在系统上将使用者的喜好的感受和吸引力保存下来。在本发明一些实施例中,会跳过且不选取定义在白名单或在前景和其它使用者(一般前景程序)相互影响的作业程序\应用软件。有关失败者选取的实施例将在图6会讨论。在步骤S530中,判断是否是无失败者可选取。若无失败者可选取,举例来说,因为所有存在的作业程序\应用软件对使用者都很重要(在步骤S530所示的是)则进入步骤S560,在步骤S560中,产生一警告消息,并且/或在显示单元跳出此警告消息。注意得是,若无失败者可选取,操作系统的内建原始存储器管理元件可视为最后一个前哨以处理存储器不足的情况(如步骤350)。若有失败者可选取(在步骤S530所示的否),则进入步骤S540。在步骤S540中,执行关于失败者的多阶关闭程序。将在图7讨论多阶关闭程序。在执行关于失败者的多阶关闭程序后,进入步骤S550。在步骤S550中,在执行关于失败者的多阶关闭程序后,判断使用的存储器是否超过一第一临界值。若使用的存储器未超过一第一临界值(在步骤S550所示的否),则表示此流程已完成。若使用的存储器仍超过一第一临界值(在步骤S550所示的是),则回到步骤S520,根据聚集的信息,重新选取另一新的失败者,且执行关于新的失败者的多阶关闭程序。会一直重复进行选取失败者以及执行关于此失败者的多阶关闭程序,直到使用的存储器未超过一第一临界值或已无失败者可选取。
[0040]图6是显示根据本发明一实施例所述的选取失败者的方法的流程图。在一开始选取的失败者的数目是从零开始。在步骤S610,列举对应作业程序\应用软件的个别的聚集的信息。在步骤S620中,判断是否所有作业程序\应用软件已列举和检验。若所有作业程序\应用软件已列举和检验(在步骤S620所示的是),则表示此流程已完成,且已找到最佳的失败者。若仍有作业程序\应用软件未列举和检验(在步骤S620所示的否),则进入步骤S630。在步骤S630中,检验已列举的作业程序\应用软件是否有在白名单中。若已列举的作业程序\应用软件有在白名单中(在步骤S630所示的是),回到步骤S610,列举对应另外的作业程序\应用软件的个别的聚集的信息。若已列举的作业程序\应用软件没有在白名单中(在步骤S630所示的否),判断已列举的作业程序\应用软件是否是和其它使用者相互影响的一般前景作业程序\应用软件。若已列举的作业程序\应用软件是一般前景作业程序\应用软件(在步骤S640所示的是),回到步骤S610,列举对应另外的作业程序\应用软件的个别的聚集的信息。若已列举的作业程序\应用软件不是一般前景作业程序\应用软件(在步骤S640所示的否),进入步骤S650。在步骤S650中,计算已列举的作业程序\应用软件的权重分数,举例来说,根据一公式,wlXl+x2X2+…+wnXn,其中wl、w2…以及wn表示个别因子(聚集的信息)的权重,以及X1、X2...以及Xn是经标准化(normalized)的因子(聚集的信息)。个别因子的权重可是不同的,且会根据不同应用和需求有不同设定。在步骤S660中,比较对应已列举的作业程序\应用软件的权重分数和先前选取的失败者的权重分数。在本发明一些实施例中,若列举的作业程序\应用软件具有较高的权重分数,则表示对于使用者而言列举的作业程序\应用软件比先前选取的失败者更重要。相对来说,若列举的作业程序\应用软件具有较低的权重分数,则列举的作业程序\应用软件应视为新选出的失败者,继续与下一个列举的作业程序\应用软件作比较。若列举的作业程序\应用软件的权重分数高于先前选取的失败者的权重分数(在步骤S660所示的是),回到步骤S610,列举对应另外的作业程序\应用软件的个别的聚集的信息。若列举的作业程序\应用软件的权重分数未高于先前选取的失败者的权重分数(在步骤S660所示的否),进入步骤S670。在步骤S670中,将列举的作业程序\应用软件设定为失败者,且继续回到步骤S610,直到列举完所有作业程序\应用软件。经由此流程,可找出最佳的失败者且将其转移至关闭模式。
[0041]图7是显示根据本发明一实施例所述的多阶关闭程序的方法的流程图。在步骤S710中,执行多阶关闭程序的第一阶,其中会经由一事件或消息来通知在失败者选取过程中选取作为失败者的作业程序\应用软件,以释放存储器的资源。此指示可用以告知发生存储器不足的情况,且立即开始存储器降低操作,例如:释放未使用的存储器。在步骤S720中,判断使用的存储器是否已超过第一临界值。若使用的存储器无超过第一临界值(步骤S720的否),则表示此流程已完成。若使用的存储器超过第一临界值(步骤S720的是),则进入步骤S730。在步骤S730中,执行多阶关闭程序的第二阶,以尽可能配置或移出页面(page out)越多对应作业程序\应用软件的编码或只读数据/区段。将此数据移出页面可以告知操作系统核心(OS kernel)保留在虚拟分页(paging pool)的页面,且能够重新配置立即需要的作业程序\应用软件。在步骤S740中,判断使用的存储器是否已超过第一临界值。若使用的存储器无超过第一临界值(步骤S740的否),则表示此流程已完成。若使用的存储器超过第一临界值(步骤S740的是),则进入步骤S750。在步骤S750中,执行多阶关闭程序的第三阶,以通知作业程序在一有限时间自行关闭,其中有限时间通常是指几秒钟。在此步骤中介绍了一适当的关闭方式,因此在失败者关闭后,其它作业程序\应用软件会根据此失败者而不作出不适当的操作。在步骤S760中,判断使用的存储器是否已超过第一临界值。若使用的存储器无超过第一临界值(步骤S760的否),则表示此流程已完成。若使用的存储器仍超过第一临界值(步骤S760的是),则进入步骤S770。在步骤S770中,执行多阶关闭程序的第四阶,以切换作业程序\应用软件的控制状态,且自行离开此多阶关闭程序。既然作业程序\应用软件可能拒绝或忽略关闭要求,多阶关闭程序的第四阶,将暂时切换失败者为自行关闭模式,且自行离开以安全关闭失败者。当由另一个作业程序\应用软件终止失败者时,一些属于此失败者的排程将会等待离开信号的指示以执行清理垃圾桶、终止网络连结等动作,然而,在一些操作系统的设计上在执行这些动作会存在一些缺点。因此,自行离开可确保离开和终止任务的动作都被执行。只要使用的存储器仍超过临界值(在步骤S550所示的是),核心(core)将重复触发失败者选取模式,以找出下一个失败者(步骤S520),且新的失败者会进入关闭模式,以执行缩减存储器的四个阶层的动作和终止的动作直到无法在找到其它失败者。[0042]因此,本发明所提供的移动装置的存储器管理方法和系统可依照使用者经验处理存储器不足的情况。除了用以处理存储器不足情况的操作系统的原始存储器管理元件之夕卜,本发明所执行的功能是独立的,因而不会改变或干扰操作系统的操作和选取。在本发明亦提出使用者导向存储器管理方法,以由执行的作业程序\应用软件中选出失败者,且在所选取的失败者上执行多阶存储器缩减操作和作业程序\应用软件的终止,以取代一般关闭方式。通过本发明所提出的方法,在存储器不足情况发生时可维持重要的作业程序\应用软件继续运作,且指示选取的失败者释放存储器以使得系统的存储器可达到一个最佳的使用状态。
[0043]本发明的方法,或特定型态或其部分,可以以程序码的型态存在。程序码可以包含于实体媒体,如软盘、光盘片、硬盘、或是任何其它机器可读取(如计算机可读取)储存媒体,亦或不限于外在形式的计算机程序产品,其中,当程序码被机器,如计算机加载且执行时,此机器变成用以参与本发明的装置。程序码也可以通过一些传送媒体,如电线或电缆、光纤、或是任何传输型态进行传送,其中,当程序码被机器,如计算机接收、加载且执行时,此机器变成用以参与本发明的装置。当在一般用途处理单元实作时,程序码结合处理单元提供一操作类似于应用特定逻辑电路的独特装置。
[0044]虽然本发明已以较佳实施例揭露如上,然其并非用以限定本发明,任何本领域技术人员,在不脱离本发明的精神和范围内,当可做些许更动与润饰,因此本发明的保护范围当视所附的权利要求范围所界定者为准。
【权利要求】
1.一种移动装置的存储器管理方法,用于一电子装置,包括: 通过上述电子装置的一操作系统的一内建原始存储器管理元件以及一使用者导向存储器管理元件,监控一存储器的一存储器使用情形; 判断上述存储器使用情形是否已超过一第一临界值或一第二临界值,其中上述第二临界值大于上述第一临界值; 若上述存储器使用情形超过上述第一临界值,由上述使用者导向存储器管理元件执行一多阶存储器管理;以及 若上述存储器使用情形超过上述第二临界值,由上述内建原始存储器管理元件执行一原始存储器管理。
2.根据权利要求1所述的存储器管理方法,其中上述使用者导向存储器管理元件包括安装在上述操作系统的一核心的一使用者导向监视器,以及一使用者导向处理器,当上述存储器使用情形超过上述第一临界值时,上述方法还包括:通过上述使用者导向监视器通知上述使用者导向处理器,且当上述使用者导向监视器通知上述使用者导向处理器时,上述使用者导向处理器将会执行上述多阶存储器管理。
3.根据权利要求1所述的存储器管理方法,其中上述多阶存储器管理的步骤包括: 聚集对应执行于上述电子装置的多个作业程序的一信息; 根据聚集的上述信息,选取上述作业程序的一者为一失败者;以及 执行关于上述失败者的一多阶关闭程序。
4.根据权利要求3所述的存储器管理方法,其中上述多阶存储器管理的步骤还包括: 判断是否有上述失败者可选 取;以及 若无上述失败者可选取,产生一警告消息。
5.根据权利要求3所述的存储器管理方法,其中上述多阶存储器管理的步骤还包括: 在执行上述多阶关闭程序后,判断上述存储器使用情形是否少于上述第一临界值;以及 若上述存储器使用情形未少于上述第一临界值,根据聚集的上述信息,重新选取上述作业程序的一者为一新失败者。
6.根据权利要求3所述的存储器管理方法,其中聚集的上述信息包括一虚拟存储器使用状况、一物理存储器使用状况、一最小最近使用时间或上述作业程序分别的一使用频率。
7.根据权利要求3所述的存储器管理方法,其中聚集的上述信息还记录了一前景作业程序,其中选取上述作业程序为上述失败者会排除上述前景作业程序。
8.根据权利要求3所述的存储器管理方法,其中在选取上述失败者时,提出记录至少一特定作业程序的一白名单,且会排除上述特定作业程序为上述失败者。
9.根据权利要求3所述的存储器管理方法,其中关于上述失败者的上述多阶关闭程序包括,执行上述多阶关闭程序的一第一阶以通知上述失败者释放上述存储器的资源。
10.根据权利要求9所述的存储器管理方法,其中关于上述失败者的上述多阶关闭程序还包括: 判断上述存储器使用情形是否仍超过上述第一临界值;以及 若上述存储器使用情形仍超过上述第一临界值,执行上述多阶关闭程序的一第二阶以配置对应上述失败者的编码或只读数据。
11.根据权利要求10所述的存储器管理方法,其中关于上述失败者的上述多阶关闭程序还包括: 判断上述存储器使用情形是否仍超过上述第一临界值;以及 若上述存储器使用情形仍超过上述第一临界值,执行上述多阶关闭程序的一第三阶以通知上述失败者在一有限时间自行关闭。
12.根据权利要求11所述的存储器管理方法,其中关于上述失败者的上述多阶关闭程序还包括: 判断上述存储器使用情形是否仍超过上述第一临界值;以及 若上述存储器使用情形仍超过上述第一临界值,执行上述多阶关闭程序的一第四阶以切换上述失败者的一控制模式,且自行离开上述多阶关闭程序。
13.—种移动装置的存储器管理方法,用于一电子装置,包括: 执行一多阶关闭程序的第一阶以通知一作业程序释放一存储器的资源; 判断一存储器使用情形是否超过上述第一临界值; 若上述存储器使用情形超过上述第一临界值,执行上述多阶关闭程序的一第二阶以配置对应上述作业程序的编码或只读数据; 判断上述存储器使用情形是否仍超过上述第一临界值; 若上述存储器使用情形仍超过上述第一临界值,执行上述多阶关闭程序的一第三阶以通知上述作业程序在一有限时间自行关闭; 判断上述存储器使用情形是否仍超过上述第一临界值;以及 若上述存储器使用情形仍超过上述第一临界值,执行上述多阶关闭程序的第四阶以切换上述作业程序的控制模式,且自行离开上述多阶关闭程序。
14.一种移动装置的存储器管理系统,用于一电子装置,包括: 一存储器;以及 一处理单元,执行上述电子装置的一操作系统的一内建原始存储器管理元件,以及一使用者导向存储器管理元件以监控一存储器的一存储器使用情形,判断上述存储器使用情形是否已超过一第一临界值或一第二临界值,其中上述第二临界值大于上述第一临界值,若上述存储器使用情形超过上述第一临界值,由上述使用者导向存储器管理元件执行一多阶存储器管理,以及若上述存储器使用情形超过上述第二临界值,由上述内建原始存储器管理元件执行一原始存储器管理。
15.根据权利要求14所述的存储器管理系统,其中上述使用者导向存储器管理元件包括安装在上述操作系统的一核心的一使用者导向监视器,以及一使用者导向处理器,当上述存储器使用情形超过上述第一临界值时,上述方法还包括:通过上述使用者导向监视器通知上述使用者导向处理器,且当上述使用者导向监视器通知上述使用者导向处理器时,上述使用者导向处理器将会执行上述多阶存储器管理。
16.根据权利要求14所述的存储器管理系统,其中上述处理单元通过聚集对应执行于上述电子装置的多个作业程序的一信息,根据聚集的上述信息,选取上述作业程序的一者为一失败者;以及执行关于上述失败者的一多阶关闭程序,来执行上述多阶存储器管理。
17.根据权利要求16所述的存储器管理系统,其中在上述多阶存储器管理时,上述处理单元还判断是否有上述失败者可选取;以及若无上述失败者可选取,产生一警告消息。
18.根据权利要求16所述的存储器管理系统,其中在执行上述多阶关闭程序后,上述处理单元还判断上述存储器使用情形是否少于上述第一临界值,以及若上述存储器使用情形未少于上述第一临界值,根据聚集的上述信息,重新选取上述作业程序的一者为一新失败者。
19.根据权利要求16所述的存储器管理系统,其中聚集的上述信息包括一虚拟存储器使用状况、一物理存储器使用状况、一最小最近使用时间或上述作业程序个别的一使用频率。
20.根据权利要求16所述的存储器管理系统,其中聚集的上述信息还记录了一前景作业程序,上述处理单元在选取上述作业程序为上述失败者时会排除上述前景作业程序。
21.根据权利要求16所述的存储器管理系统,其中在选取上述失败者时,上述处理单元还提出用以记录至少一特定作业程序的一白名单,且会排除上述特定作业程序为上述失败者。
22.根据权利要求16所述的存储器管理系统,其中关于上述失败者的上述多阶关闭程序包括,上述处理单元会执行上述多阶关闭程序的一第一阶以通知上述失败者释放上述存储器的资源。
23.根据权利要求22所述的存储器管理系统,其中上述处理单元还判断上述存储器使用情形是否仍超过上述第一临界值;以及若上述存储器使用情形仍超过上述第一临界值,执行上述多阶关闭程序的一第二阶以配置对应上述失败者的编码或只读数据。
24.根据权利要求23所述的存储器管理系统,其中上述处理单元还判断上述存储器使用情形是否仍超过上述第一临界值;以及若上述存储器使用情形仍超过上述第一临界值,执行上述多阶关闭程序的一第三阶以通知上述失败者在一有限时间自行关闭。
25.根据权利要求24所述的存储器管理系统,其中上述处理单元还判断上述存储器使用情形是否仍超过上述第一临界值;以及若上述存储器使用情形仍超过上述第一临界值,执行上述多阶关闭程序的一第四阶以切换失败者的一控制模式,且自行离开上述多阶关闭程序。
26.—种移动装置的存储器管理系统,用于一电子装置,包括: 一存储器;以及 一处理单元,执行一多阶关闭程序的一第一阶以通知一作业程序释放一存储器的资源,判断一存储器使用情形是否超过上述第一临界值,若上述存储器使用情形超过上述第一临界值,执行上述多阶关闭程序的一第二阶以配置对应上述作业程序的编码或只读数据,判断上述存储器使用情形是否仍超过上述第一临界值,若上述存储器使用情形仍超过上述第一临界值,执行上述多阶关闭程序的一第三阶以通知上述作业程序在一有限时间自行关闭,判断上述存储器使用情形是否仍超过上述第一临界值,以及若上述存储器使用情形仍超过上述第一临界值,执行上述多阶关闭程序的一第四阶以切换上述作业程序的一控制模式,且自行离开上述多阶关闭程序。
27.一种计算机可读取媒体,包括一计算机程序,当执行此程序时,一装置可执行一移动装置的存储器管理方法,其中上述存储器管理方法包括: 通过上述电子装置的一操作系统的一内建原始存储器管理元件以及一使用者导向存储器管理元件,监控一存储器的一存储器使用情形; 判断上述存储器使用情形是否已超过一第一临界值或一第二临界值,其中上述第二临界值大于上述第一临界值; 若上述存储器使用情形超过上述第一临界值,由上述使用者导向存储器管理元件执行一多阶存储器管理;以及 若上述存储器使用情形超过上述第二临界值,由上述内建原始存储器管理元件执行一原始存储器管理。
28.一种计算机可读取媒体,包括一计算机程序,当执行此程序时,一装置可执行一移动装置的存储器管理方法,其中上述存储器管理方法包括: 执行一多阶关闭程序的第一阶以通知一作业程序释放一存储器的资源; 判断一存储器使用情形是否超过上述第一临界值; 若上述存储器使用情形超过上述第一临界值,执行上述多阶关闭程序的一第二阶以配置对应上述作业程序的编码或只读数据; 判断上述存储器使用情形是否仍超过上述第一临界值; 若上述存储器使用情形仍超过上述第一临界值,执行上述多阶关闭程序的一第三阶以通知上述作业程序在一有限时间自行关闭; 判断上述存储器使用情形是否仍超过上述第一临界值;以及 若上述存储器使用情形仍超过上述第一临界值,执行上述多阶关闭程序的第四阶以切换上述作业程序的一控制模式,且自行离开上述多阶关闭程序。
【文档编号】G06F9/46GK103455431SQ201310213690
【公开日】2013年12月18日 申请日期:2013年5月31日 优先权日:2012年5月31日
【发明者】张文彦, 吴志聪, 陈高斌, 陈定伦 申请人:宏达国际电子股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1