CN103677202B - 休眠管理方法及相关装置 - Google Patents

休眠管理方法及相关装置 Download PDF

Info

Publication number
CN103677202B
CN103677202B CN201210363575.0A CN201210363575A CN103677202B CN 103677202 B CN103677202 B CN 103677202B CN 201210363575 A CN201210363575 A CN 201210363575A CN 103677202 B CN103677202 B CN 103677202B
Authority
CN
China
Prior art keywords
memory
working
configuration processor
dormancy
size
Prior art date
Application number
CN201210363575.0A
Other languages
English (en)
Other versions
CN103677202A (zh
Inventor
黄尚毅
王书涵
刘郁明
蔡孟达
Original Assignee
宏碁股份有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 宏碁股份有限公司 filed Critical 宏碁股份有限公司
Priority to CN201210363575.0A priority Critical patent/CN103677202B/zh
Publication of CN103677202A publication Critical patent/CN103677202A/zh
Application granted granted Critical
Publication of CN103677202B publication Critical patent/CN103677202B/zh

Links

Abstract

本发明提供一种休眠管理方法及相关装置,该方法适用于一装置,其中,装置包括一存储器以及多个执行程序,每一执行程序于存储器中有一对应工作集。首先,接收一休眠指示。接着,相应休眠指示,对执行程序执行一设定工作集操作,用以调整每一执行程序于存储器的工作集的尺寸。之后,依据调整后的存储器产生一休眠映像,并将休眠映像存储至一存储装置。本发明可在不增加硬体成本的情况下,利用设定工作集操作来周期性地调整存储器内执行程序的工作集的容量,借此缩减整个存储器映像的大小,使得休眠映像的尺寸变小,减少装置由休眠状态恢复系统时的拷贝时间,进而加速恢复时间,因此可增进快速开机的反应时间,让使用者有更佳的使用经验。

Description

休眠管理方法及相关装置

技术领域

[0001]本发明涉及一种休眠管理方法及其装置,尤其涉及一种可自动调整休眠映像的大 小的休眠管理方法及其装置。

背景技术

[0002]在现存的作业系统中,为了省电的考虑,装置,如电脑系统与手持式装置可以选择 进入省电模式例如休眠(Hibernate)模式来关闭不必要的电源或关机。当装置进入休眠模 式时,作业系统会将目前动态存储器内的数据存储至硬盘上,成为一个与存储器容量大小 相同的图像文件。而在装置从休眠模式恢复为正常模式时,作业系统便会将此文件复制到 存储器中,使得使用者上次开机时或休眠前的工作画面能够快速的恢复并进行显示。

[0003]由于新一代的电脑系统例如超极致电脑(Ultrabook)除了一般的电脑功能之外, 也加入了随时联网、快速开机(Rapid Start Technology)功能,以更迎合使用者需要。快速 开机功能可提供电脑系统在几秒内快速从休眠状态恢复到先前暂停的作业状态,其技术的 原理将整个存储器中正在执行的系统状态和应用程序的程序(Process),暂存到高速的存 储装置例如固态硬盘(Solid State Disk,SSD)磁盘机中。 _4]然而,目前的快速开机功能例如Intel公司的快速开机((Intel Rapid Start Technology,简称iRST)服务仅是被动的等待使用者进入暂停(Suspend)模式且仅释放待命 页面列表(standby page list),当系统从休眠状态下进行恢复时,读取硬盘中的文件仍非 常耗时,因此,目釗的快速开机所拷贝至休眠分割区(Hibernation partition)的存储器映 像(Memory image)容量仍然是有缩减的改进空间,同时目前的快速开机功能也无法动态的 调整存储器使用状况。

发明内容

[0005]有鉴于此,为了克服现有技术的缺陷,本发明的目的之一为提供一种休眠管理方 法及其装置。

[0006]本发明实施例提供一种休眠管理方法,适用于一装置,其中,装置包括一存储器以 及多个执行程序,每一执行程序于存储器中有一对应工作集。方法包括下列步骤。首先,接 收一休眠指示。接着,相应休眠指示,对执行程序执行一设定工作集操作,用以调整每一执 行程序于存储器的工作集的尺寸。之后,依据调整后的存储器产生一休眠映像,并将休眠映 像存储至一存储装置。

[0007]本发明实施例还提供一种装置,至少包括一存储器、一存储装置以及一处理单元。 存储器包括多个执行程序且每一执行程序于存储器中有一对应工作集。处理单元于接收一 休眠指示时,相应休眠指示,对执行程序执行一设定工作集操作,用以调整每一执行程序的 工作集的尺寸,依据调整后的存储器产生一休眠映像,且将休眠映像存储至一存储装置。 [0008]本发明上述方法可以通过程序码方式收录于实体媒体中。当程序码被机器载入且 执行时,机器变成用以实行本发明的装置。

[0009] 综上所述,依据本发明的休眠管理方法及其相关的装置,可在不增加硬体成本的 情况下,利用设定工作集操作来周期性地调整存储器内执行程序的工作集的容量,借此缩 减整个存储器映像的大小,使得休眠映像的尺寸变小,减少装置由休眠状态恢复系统时的 拷贝时间,进而加速恢复时间,因此可增进快速开机的反应时间,让使用者有更佳的使用经 验。

[0010] 为使本发明的上述和其他目的、特征、和优点能更明显易懂,下文特举出较佳实施 例,并配合附图,作详细说明如下。

附图说明

[0011] 图1是显示依据本发明实施例的装置架构的示意图。

[0012] 图2是显示依据本发明实施例的休眠管理方法的流程图。

[0013] 图3是显示依据本发明实施例的设定工作集操作前的各个执行程序的工作集容量 例子的示意图。

[0014] 图4是显示依据本发明实施例的设定工作集操作前的存储器例子的示意图。

[0015] 图5是显示依据本发明实施例的设定工作集操作之后的各个执行程序的工作集容 量例子的示意图。

[0016] 图6是显示依据本发明实施例的设定工作集操作之后的存储器例子的示意图。

[0017] 图7是显示依据本发明实施例的系统恢复方法的流程图。

[0018] 其中,附图标记说明如下:

[0019] 100~ 装置;

[0020] 110~ 存储器;

[0021] 120〜存储装置;

[0022] 122〜休眠分割区;

[0023] 130〜处理单元;

[0024] S210、S220、S230、S240、S250〜执行步骤;

[0025] S710、S720、S730~ 执行步骤。

具体实施方式

[0026] 本发明实施例中提供一种休眠管理方法及其装置,可于装置进入休眠状态前周期 性执行设定工作集操作来调整位于存储器内执行的各程序工作集的尺寸,并在装置进入休 眠状态时执行设定工作集操作,再有选择性的清理部分使用中区段的存储器空间和整个待 命区段的存储器空间,可有效缩减由休眠模式恢复系统时的时间。

[0027] 图1是显示依据本发明实施例的装置架构的示意图。依据本发明实施例的装置1〇〇 至少包括一存储器110、一存储装置120、与一处理单元130。其中,装置100可以是电脑系统 如笔记本电脑、超极致电脑(Ultrabook)、与手持式装置,如移动电话、智能手机、与个人数 字助理(PDA)等等。存储器110可以是装置100的系统存储器,用以存储所有于装置1〇〇上运 作的系统程序或应用程序本身或其所需的数据。存储装置120可以是一硬盘,或非挥发性存 储器,如快闪存储器(Flash Memory)或电子可抹除程序化只读存储器(EEPR0M),用以存储 休眠时所产生的相关数据。特别来说,于一实施例中,存储装置120为一高速的存储装置例 如一固心硬盘(Solid State Disk,简称SSD)磁盘机,使得存储器中的数据可快速地写入至 SSD磁盘机中或者SSD磁盘机中的数据也可快速地写回存储器i10。存储装置12〇可还包括一 休眠分割区122,其可用以存储对应于休眠状态的一休眠映像。处理单元13〇用以进行本发 明中装置进行休眠与恢复的相关操作,其细节将于后进行说明。

[0028]值得注意的是,装置100中可以设置一触发模块(图中未显示),如装置100上的按 键或是装置100上的软件程序,用以相应一休眠指示而产生休眠信号,从而致使装置100进 入休眠状态,或者也可用以相应一开机启动指示而产生开机启动信号,从而致使装置100进 入开机状态。此外,装置100中亦可设置一;陕复模块(图中未显示),用以相应一‘恢复指示而 产生恢复信号,从而致使装置100由休眠状态中进行系统恢复。须注意的是,此处的休眠状 态泛指所有可以将目目!J存储器的内容存储至硬盘(suspend to disk)的各种省电状态例如 S4或iRST状态等。

[0029]图2为一流程图显示依据本发明实施例的休眠管理方法。

[0030]首先,如步骤S210,判断是否接收到一休眠指示。若否(步骤S2i〇的否),则如步骤 S220,每隔一段时间周期性地对所有执行程序执行一设定工作集操作,用以调整每一执行 程序的工作集的尺寸并且继续步骤S210的判断。举例来说,处理单元130可于尚未接收到休 眠指示时,每隔一段既定时间周期(例如:一小时)对所有执行程序执行设定工作集操作,用 以调整每一执行程序的工作集的尺寸。值得注意的是,于一些实施例中,处理单元13〇可还 判断是否接收到一开机启动启不,若是,则于开机一段既定时间(例如:5分钟)之后就先执 行一次设定工作集操作来对所有运行中的程序的工作集的尺寸进行初步调整。之后,处理 单元130可周期性的唤醒负责微调程序工作集存储器分页的执行绪去调整位于存储器内运 行的各程序工作集的尺寸。举例来说,处理单元130可于装置开机时接收到一开机启动启 示,并于开机5分钟之后自动对当前的执行程序执行初步的设定工作集操作,之后,每隔一 小时再对所有执行程序执行一次设定工作集操作,借此调整各个执行程序的工作集的尺 寸。

[0031]若接收到休眠指示(步骤S210的是),亦即装置准备进入休眠状态时,则如步骤 S230,相应休眠指示,于一既定时间(例如:5分钟)之后对所有执行程序执行设定工作集操 作,调整每一执行程序的工作集的尺寸。其中,对所有执行程序执行设定工作集操作是将每 个执行程序在存储器内所占用的工作集容量进行最佳化来缩减其工作集的尺寸。于一些实 施例中,存储器可至少包含一使用中(In used)区段、一已修改(Modified)区段以及一待命 (Standby)区段,其中使用中区段、已修改区段以及待命区段分别包含一使用中存储器分页 列表(page list)、一己修改存储器分页列表以及一待命存储器分页列表,而调整每一执行 程序的工作集的尺寸是将各个执行程序对应的工作集于存储器中的使用中区段的至少一 数据/存储器分页搬移至存储器的一待命区段,致使存储器中的使用中区段的尺寸变小。举 例来说,调整每一执行程序的工作集的尺寸是将某一执行程序在存储器的一使用中区段或 已修改区段的存储器分页搬移至一待命区段中,但并不限于此。

[0032]图3为一示意图显示设定工作集操作前的各个执行程序的工作集容量例子。如图 所示,存储器110中包含多个程序,每个程序有一对应工作集,其中每个工作集表示该程序 所对应的存储器分页集合。其中,程序“dwm.exe”在执行设定工作集操作前的工作集的尺寸 为58,616千位元组(KB)。图4为一示意图显示设定工作集操作前的存储器配置情形例子。如 图4所示,存储器110中的使用中区段约占了2037百万位元组(MB)的存储器空间,其已修改 区段约占了 20百万位元组的存储器空间,总共约2057百万位元组的存储器空间。也就是说, 在不执行设定工作集操作的情况下,需要将2057百万位元组的存储器数据写入至存储装置 120中。类似地,当装置从休眠状态恢复后需要将存储装置120中所存储2057百万位元组的 数据写回至存储器110。

[0033] 经过设定工作集操作之后,图3中的执行程序的工作集容量将变小,如图5所示。其 中,程序“dwm.exe”在执行设定工作集操作之后的工作集的尺寸缩小为8,124千位元组 (KB)。

[0034]图6为一示意图显示设定工作集操作之后的存储器配置情形例子。如图6所示,经 过设定工作集操作之后,存储器110中的使用中区段从2037百万位元组缩小为1640百万位 元组,其已修改区段则约占了 283百万位元组的存储器空间,总共约1923百万位元组的存储 器空间。因此,在执行设定工作集操作的情况下,只需要将1640百万位元组的存储器数据写 入至存储装置120中。在这种情况下,当装置从休眠状态恢复后只需要将存储装置120中所 存储1923百万位元组的数据写回至存储器110,因此其恢复速度将比未执行设定工作集操 作时加快许多。

[0035] 比较图3与图5以及图4与图6可知,通过执行设定工作集操作调整各执行程序的工 作集后,明显的缩小了存储器内各程序所占用的工作集大小,使得原本在使用中区段的存 储器分页也会被作业系统有选择性的置换到已修改区段与待命区段的分页列表(Page List)中,也因为存储器分页搬移到待命分页列表中,当进入休眠模式或iRST模式时能够移 除更多的存储器空间,借以缩短休眠模式或iRST的恢复时间。须注意的是,于一些实施例 中,为了要能够清除使用中存储器空间区段且避免造成不必要的错误产生,可事先将执行 程序分类,设定一预设群组,其包含特定程序例如预期在系统状态恢复时所必须立即执行 到的系统程序,而当处理单元130执行步骤S230之前会先判断各个执行程序是否属于此预 设群组,当执行程序属于预设群组时,便不执行设定工作集操作,亦即,预设群组内的程序 将不会执行设定工作集操作。举例来说,预设群组可包括但不限于以下程序:

[0036] “smss • exe”、“csrss.exe”、“wininit•exe”、“services•exe”、“svchost•exe”、 “lsass.exe”、“lsm.exe”、“winlogon.exe”、“exploere.exe”、“dwm.exe”等系统程序或常驻 程序。

[0037] 于一些实施例中,执行设定工作集操作采用微软(Microsoft) Windows提供的 SetProcessWorkingSetSize应用程序界面(Application Programming Interface,API)来 作为调整工作集演算法的核心元件,挑选系统正在运行的执行程序,对其可用的存储器工 作集做最佳化的调整。由于每个程序的存储器工作集都有其最大允许值与最小必要值,可 借此在不妨碍运行效能与安全性下,对工作集大小作最佳化。

[0038] 接着,如步骤S240,依据整理后的存储器产生一休眠映像(image)。于一些实施例 中,依据调整的存储器产生休眠映像的步骤可还包括清除存储器中的待命区段的数据,再 依据清除后的存储器产生休眠映像。举例来说,如图6所示,假设存储器110的使用中区段的 尺寸为ie40百万位元组,其已修改区段则约占了283百万位元组的存储器空间,待命区段的 尺寸约为1532百万位元组,则处理单元130可先清除存储器中的待命区段的数据,得到清除 后的存储器,再依据清除后仅包含使用中区段以及已修改区段的存储器产生休眠映像,因 此休眠映像的大小约1923百万位元组。

[0039]之后,如步骤s25〇,将休眠映像存储至存储装置120。值得注意的是,存储装置12〇 事先设定(preset)—休眠分割区122,使得休眠映像存储至存储装置12〇的休眠分割区122 中。

[0040]图7为一流程图显示依据本发明实施例的系统恢复方法。

[0041]首先,如步骤sno,判断是否接收到一'陕复指示。若否(步骤S710的否),则继续步 骤S710的判断。若接收到恢复指示(步骤sno的是),则如步骤s72〇,由存储装置12〇中读取 休眠映像。其中,由存储装置12〇中读取休眠映像是由存储装置120的休眠分割区122读取休 眠映像。如步骤S730,将读出的休眠映像回存至存储器11〇,使得装置1〇〇恢复至进入休眠状 态前的系统状态。

[0042]综上所述,依据本发明的休眠管理方法及其相关的装置,可在不增加硬体成本的 情况下,利用设定工作集操作来周期性地调整存储器内执行程序的工作集的容量,借此缩 减整个存储器映像的大小,使得休眠映像的尺寸变小,减少装置由休眠状态恢复系统时的 拷贝时间,进而加速恢复时间,因此可增进快速开机的反应时间,让使用者有更佳的使用经 验。

[0043]本发明的方法,或特定型态或其部份,可以以程序码的型态包含于实体媒体,如软 盘、光盘片、硬盘、或是任何其他机器可读取(如电脑可读取)存储媒体,其中,当程序码被机 器,如电脑载入且执行时,此机器变成用以参与本发明的装置。本发明的方法与装置也可以 以程序码型态通过一些传送媒体,如电线或电缆、光纤、或是任何传输型态进行传送,其中, 当程序码被机器,如电脑接收、载入且执行时,此机器变成用以参与本发明的装置。当在一 般用途处理器实作时,程序码结合处理器提供一操作类似于应用特定逻辑电路的独特装 置。

[0044]虽然本发明已以较佳实施例揭示如上,然其并非用以限定本发明,任何本领域普 通技术人员,在不脱离本发明的精神和范围内,当可做些许更动与润饰,因此本发明的保护 范围当视所附的权利要求所界定的范围为准。

Claims (8)

1.一种休眠管理方法,适用于一装置,该装置包括一存储器以及多个执行程序,所述多 个执行程序中每个执行程序于该存储器中对应有一工作集,包括下列步骤: 接收一休眠指示; I 相应该休眠指示,对所述多个执行程序执行一设定工作集操作,用以调整每一所述多 个执行程序于该存储器的该工作集的尺寸; 依据调整后的该存储器产生一休眠映像;以及 将该休眠映像存储至一存储装置, _其中调整每一所述多个执行程序于该存储器的该工作集的尺寸是将每一所述多个执 行程序的该工作集于该存储器中的一使用中区段的至少一数据搬移至该存储器的一待命 区段。
2.如权利要求1所述的休眠管理方法,其中依据调整后的该存储器产生该休眠映像的 步骤还包括: 清除该存储器中的该待命区段的数据;以及 依据清除后的该存储器产生该休眠映像。
3.如权利要求1所述的休眠管理方法,还包括: 当未接收到该休眠指示之前,周期性对所述多个执行程序执行该设定工作集操作,以 调整每一所述多个执行程序于该存储器的该工作集的尺寸。
4.如权利要求3所述的休眠管理方法,还包括: 判断是否接收到一开机启动指示;以及 于接收到该开机启动指示一既定时间之后,对所述多个执行程序执行该设定工作集操 作。
5.如权利要求3所述的休眠管理方法,其中相应该休眠指示,对所述多个执行程序执行 该设走工作集操作,用以调整每一所述多个执行程序的该工作集的尺寸的步骤还包括: 当所述多个执行程序属于一预设群组时,不对该预设群组的所述多个执行程序执行该 设定工作集操作; 其中该预设群组包含恢复后预期会立即动作的所有程序。
6.如权利要求1所述的休眠管理方法,其中当该装置接收一恢复指示时,由该存储装置 中读取该休眠映像,并将该休眠映像回存至该存储器。
7.—种用以休眠管理的装置,包括: 一存储器,其包括多个执行程序,所述多个执行程序中每个执行程序于该存储器中对 应有一工作集; 一存储装置;以及 一处理单元,当接收一休眠指示时,相应该休眠指示,对所述多个执行程序执行一设定 工作集操作,用以调整每一所述多个执行程序的该工作集的尺寸,依据调整后的该存储器 产生一休眠映像,且将该休眠映像存储至一存储装置, 其中该存储器还包含一使用中区段以及一待命区段且该处理单元调整每一所述多个 执行程序的该工作集的尺寸是将每一所述多个执行程序的该工作集于该存储器中的该使 用中区段的至少一数据搬移至该存储器的该待命区段;其中该处理单元还清除该存储器中 的该待命区段的数据,并且依据清除后的该存储器产生该休眠映像;其中该处理单元还于 未接收到祕目關示:ttr,删制•臓乡个输辦撕薇紅健雛,以调整 一所述多个执行程序的该工作集的尺寸。 母
8.如权利要求7所述的用以休眠管理的装置,其中该处理单元还于所述多个执行程序 属于一预设群组时,不对该预设群组的所述多个执行程序执行该设定工作集操作,其中该 预设群组包含恢复后预期会有动作的所有程序。
CN201210363575.0A 2012-09-26 2012-09-26 休眠管理方法及相关装置 CN103677202B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210363575.0A CN103677202B (zh) 2012-09-26 2012-09-26 休眠管理方法及相关装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210363575.0A CN103677202B (zh) 2012-09-26 2012-09-26 休眠管理方法及相关装置

Publications (2)

Publication Number Publication Date
CN103677202A CN103677202A (zh) 2014-03-26
CN103677202B true CN103677202B (zh) 2017-06-06

Family

ID=50315033

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210363575.0A CN103677202B (zh) 2012-09-26 2012-09-26 休眠管理方法及相关装置

Country Status (1)

Country Link
CN (1) CN103677202B (zh)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1808339A (zh) * 2005-01-21 2006-07-26 宏碁股份有限公司 休眠方法及其装置
CN102272734A (zh) * 2009-01-05 2011-12-07 马维尔国际贸易有限公司 使用非易失性存储器设备用于休眠或挂起的方法和系统

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1351146A1 (en) * 2002-04-04 2003-10-08 Hewlett-Packard Company Power management system and method with recovery after power failure
US20070266231A1 (en) * 2006-05-15 2007-11-15 Huey-Tyug Chua Portable Electronic Device and Method for Loading Resource Data of the Portable Electronic Device

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1808339A (zh) * 2005-01-21 2006-07-26 宏碁股份有限公司 休眠方法及其装置
CN102272734A (zh) * 2009-01-05 2011-12-07 马维尔国际贸易有限公司 使用非易失性存储器设备用于休眠或挂起的方法和系统

Also Published As

Publication number Publication date
CN103677202A (zh) 2014-03-26

Similar Documents

Publication Publication Date Title
US9618997B2 (en) Controlling a turbo mode frequency of a processor
AU2011323985B2 (en) Application lifetime management
DE102013104328B4 (de) Aufgabenzuteilung in großen und kleinen Kernen
US9823946B2 (en) Processor and program execution method capable of efficient program execution
US8473766B2 (en) Optimizing power usage by processor cores based on architectural events
US7730340B2 (en) Method and apparatus for dynamic voltage and frequency scaling
TWI527051B (zh) 記憶體控制器之調校、電力閘控與動態頻率改變
US8954985B2 (en) Dependency management in task scheduling
TWI475369B (zh) 用於處理器中功率及性能權衡的設備、方法及系統
US8959515B2 (en) Task scheduling policy for limited memory systems
CN100383740C (zh) 挂起线程执行直到发生指定的存储器访问的方法和设备
US7325100B2 (en) Apparatus and method for entering and exiting low power mode
CN102622079B (zh) 一种休眠方法、唤醒方法和移动终端设备
US8108696B2 (en) Optimizing non-preemptible read-copy update for low-power usage by avoiding unnecessary wakeups
CN103502946B (zh) 用于动态控制到便携式计算装置的多核心处理器中的多个核心的电力的方法和系统
JP5235870B2 (ja) マルチプロセッサ制御装置、その制御方法および集積回路
US9348527B2 (en) Storing data in persistent hybrid memory
DE112006003575B4 (de) Verfahren und Vorrichtung für einen Nullspannungs-Prozessorschlafzustand
KR101146359B1 (ko) 로크 표시기를 갖는 멀티스레드 프로세서
RU2503987C2 (ru) Энергосберегающее планирование потоков и динамическое использование процессоров
JP4938080B2 (ja) マルチプロセッサ制御装置、マルチプロセッサ制御方法及びマルチプロセッサ制御回路
CN103782272B (zh) 在异构核之间切换任务
KR101361945B1 (ko) 컴퓨터 스레드들의 이종 리소스들로의 맵핑
CN102789305B (zh) 推迟挂起
US8214679B2 (en) Multi-core processor system with thread queue based power management

Legal Events

Date Code Title Description
PB01 Publication
SE01 Entry into force of request for substantive examination
C10 Entry into substantive examination
GR01 Patent grant
GR01 Patent grant