CN105808467A - 一种利用自定义acpi管理计算机电源的方法 - Google Patents
一种利用自定义acpi管理计算机电源的方法 Download PDFInfo
- Publication number
- CN105808467A CN105808467A CN201610131289.XA CN201610131289A CN105808467A CN 105808467 A CN105808467 A CN 105808467A CN 201610131289 A CN201610131289 A CN 201610131289A CN 105808467 A CN105808467 A CN 105808467A
- Authority
- CN
- China
- Prior art keywords
- acpi
- self
- operating system
- function
- user
- Prior art date
- Legal status (The legal status 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 status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/10—Program control for peripheral devices
- G06F13/102—Program control for peripheral devices where the programme performs an interfacing function, e.g. device driver
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
Abstract
本发明公开了一种利用自定义ACPI管理计算机电源的方法,包括以下步骤:S1,通过运行应用程序将自定义ACPI加载到操作系统中,并使所述自定义ACPI关联操作系统ACPI;S2,通过所述应用程序调用一个或多个计算机电源管理的请求函数;S3,枚举所述操作系统ACPI中的函数并与所述请求函数进行匹配;S4,执行匹配成功的所述请求函数,并将所述请求函数执行后的相关信息反馈给用户。该方法使得用户特别是开发人员能够随时高效获取所需的ACPI中的函数的执行结果,并且不需要复杂的环境配置,这使得用户在进行软件开发和错误分析时能够为用户带来了极大地方便。
Description
技术领域
本发明涉及计算机控制领域,特别涉及一种利用自定义ACPI管理计算机电源的方法。
背景技术
高级配置与电源接口(AdvancedConfigurationandPowerInterface),简称ACPI,1997年由Intel、Microsoft、Toshiba所共同制定提供操作系统管理所有电源管理接口。ACPI是操作系统中非常重要的管理接口之一,操作系统在运行过程中会根据需要,动态的调用ACPI中的函数来达到电源管理的目的,正是由于ACPI中的函数被调用时的被动性,我们不能方便的获取某个ACPI中的函数的执行结果。而现有的解决办法有:办法1,使用软件监控ACPI中的函数的执行过程,但是该方法需要进行复杂的环境配置;办法2,安装视窗驱动程序模块的ACPI驱动监控ACPI中的函数的执行过程,但是该办法需要基本输入输出系统(BIOS)预先定义一个虚拟设备,并且用户只能得到BIOS预先定义的虚拟设备下的ACPI中的函数数据;办法3,通过Windows管理规范(WMI)监控ACPI中的函数,但是该办法需要BIOS定义一个虚拟的设备并需要设置操作系统要求的PNPID,还需要BIOS编写用户要求获取的ACPI的函数对应的资源文件,并且用户只能得到BIOS预先定义的虚拟设备下的ACPI中的函数数据。总之,现有的上述解决办法复杂而且为用户带来了极大不便,不能高效的获取所需的ACPI中的函数的执行结果,给软件开发和错误分析带来了很大的不便。
发明内容
本发明的目的在于提供一种利用自定义ACPI管理计算机电源的方法,使用该方法能够使用户(例如程序员)高效的获取所需的ACPI中的函数的执行结果,为了实现上述目的,在本发明采用了如下技术方案:一种利用自定义ACPI管理计算机电源的方法,包括以下步骤:
S1,通过运行应用程序将自定义ACPI加载到操作系统中,并使所述自定义ACPI关联操作系统ACPI;
S2,通过所述应用程序调用一个或多个计算机电源管理的请求函数;
S3,枚举所述操作系统ACPI中的函数并与所述请求函数进行匹配;
S4,执行匹配成功的所述请求函数,并将所述请求函数执行后的相关信息反馈给用户。
作为优选,所述步骤S1进一步包括以下步骤:
S11,建立一个所述操作系统的服务控制管理器的服务对象;
S12,将所述自定义ACPI纳入所述服务对象中;
S13,所述应用程序通过所述自定义ACPI的一符号链接名操作所述自定义ACPI。
作为优选,当用户在调用所述请求函数时,向所述应用程序输入所述请求函数的函数名及其参数数据,所述自定义ACPI对所述参数数据进行解析,所述操作系统ACPI根据该解析结果枚举所述操作系统ACPI中的函数。
作为优选,所述步骤S4包括以下步骤:
S41,通过所述自定义ACPI或操作系统ACPI执行所述请求函数;
S42,所述自定义ACPI通过所述应用程序将所述请求函数执行后的相关信息反馈给用户。
作为优选,还包括步骤S5,执行完步骤S4后通过所述应用程序将所述自定义ACPI从操作系统中卸载。
作为优选,所述自定义ACPI配置为基于的32位或64位Windows操作系统内核技术开发。
本发明的有益效果在于:使得用户特别是开发人员能够随时高效获取所需的ACPI中的函数的执行结果,并且不需要复杂的环境配置,这使得用户在进行软件开发和错误分析时能够为用户带来了极大地方便。
附图说明
图1为本发明实施例的利用电源管理接口管理计算机电源的方法的主要流程图;
图2为本发明实施例的利用电源管理接口管理计算机电源的方法的步骤S1的流程图。
具体实施方式
为使本领域技术人员更好地理解本发明,下面参照附图对本发明的实施例进行详细说明,但不作为对本发明的限定。
本发明实施例的一种利用自定义ACPI管理计算机电源的方法,如图1所示包括以下步骤:
S1,通过运行应用程序将自定义ACPI加载到操作系统中,并使自定义ACPI关联操作系统ACPI;
具体的,操作系统ACPI(即高级配置与电源接口,其内部包括至少一个函数或方法,该一个或多个函数通常需要输入参数,当然也可以无需输入参数)能够在操作系统运行过程中根据需要,动态的调用操作系统ACPI中的函数来达到电源管理的目的。
S2,通过应用程序调用一个或多个计算机电源管理的请求函数;
具体的,该请求函数是用户(例如程序员)想借助并获取执行结果的函数,执行结果可以使用户更清楚的了解利用某一函数来管理电源时的执行效果,以便为后续完善工作提供依据。
S3,枚举操作系统ACPI中的函数并与请求函数进行匹配;需要说明的是,枚举是一种数据类型,这种数据类型只包含特定数据,它是一组有共同特性的数据的集合,而本发明使用了枚举操作(枚举算法)就是按照问题本身的性质一一列举出该问题所有可能的解,从中挑选出符合条件的解,舍弃不符合条件的解,总之枚举法具有以下优势:利用计算机运算速度快、精确度高的特点,对要解决问题的所有可能情况,一个不漏地进行检验,从中找出符合要求的答案,因此枚举法是通过一定的时间来换取答案的全面性,因此在本实施例中使用枚举法将操作系统ACPI中的函数与请求函数进行匹配则保证了一定能够找出相适应的函数。S4,执行匹配成功的请求函数,并将请求函数相关信息反馈给用户,这使得用户能够获取请求函数的执行情况,并获取计算机等设备的电源的即时工作情况。
如图2所示,步骤S1进一步包括以下步骤:S11,建立一个操作系统的服务控制管理器的服务对象,通常是建立一个到服务控制管理器的一个链接并将服务对象添加到链接中,在此需要说明服务管理器是用于管理系统服务的管理工具,一般常用于windows操作系统,使用这个工具可以启动或停止服务,也可以设置服务是自动启动、手动启动或禁用,也可以查看某一个或多个服务的相关信息,设置服务以什么用户启动等。S12,将自定义ACPI纳入服务对象中,建立自定义ACPI与操作系统ACPI之间的关联;S13,应用程序通过自定义ACPI的一符号链接名操作自定义ACPI,具体来说就是应用程序根据自定义ACPI主动暴露的一符号链接名建立与自定义ACPI的链接,并通过向自定义ACPI的句柄输入请求函数的函数名和相关参数来操作自定义ACPI。
因此从整体上说,当用户需要调用某一个或多个请求函数时,需要向应用程序输入请求函数的函数名及其参数数据,自定义ACPI对参数数据(例如整型参数、字符串参数或多个复杂参数,特殊情况下也可以无参数)进行解析,操作系统ACPI根据该解析结果枚举操作系统ACPI中的函数与请求函数进行匹配,然后执行匹配成功的请求函数,并将请求函数执行后的相关信息反馈给用户。需要说明的是请求函数的执行是通过自定义ACPI或操作系统ACPI来达到的,并且自定义ACPI可以通过其句柄将请求函数执行后的相关信息反馈给应用程序,最后通过应用程序将请求函数执行后的相关信息反馈给用户。
为了达到降低操作系统冗余度和规避不必要的麻烦的目的,上述方法还包括步骤S5,步骤S5是执行完步骤S4后通过应用程序将自定义ACPI从操作系统中卸载,由此该自定义ACPI便不会对其它用户开发的其它自定义ACPI造成混乱,当然步骤S5也是可以由用户自行选择的。
在本发明的一个实施例中,自定义ACPI配置为基于的32位或64位Windows操作系统内核技术开发,针对了目前主流的操作系统。
以上实施例仅为本发明的示例性实施例,不用于限制本发明,本发明的保护范围由权利要求书限定。本领域技术人员可以在本发明的实质和保护范围内,对本发明做出各种修改或等同替换,这种修改或等同替换也应视为落在本发明的保护范围内。
Claims (6)
1.一种利用自定义ACPI管理计算机电源的方法,其特征在于,包括以下步骤:
S1,通过运行应用程序将所述自定义ACPI加载到操作系统中,并使所述自定义ACPI关联操作系统ACPI;
S2,通过所述应用程序调用一个或多个计算机电源管理的请求函数;
S3,枚举所述操作系统ACPI中的函数并与所述请求函数进行匹配;
S4,执行匹配成功的所述请求函数,并将所述请求函数执行后的相关信息反馈给用户。
2.根据权利要求1所述的方法,其特征在于,所述步骤S1进一步包括以下步骤:
S11,建立一个所述操作系统的服务控制管理器的服务对象;
S12,将所述自定义ACPI纳入所述服务对象中;
S13,所述应用程序通过所述自定义ACPI的一符号链接名操作所述自定义ACPI。
3.根据权利要求1所述的方法,其特征在于,当用户在调用所述请求函数时,向所述应用程序输入所述请求函数的函数名及其参数数据,所述自定义ACPI对所述参数数据进行解析,所述操作系统ACPI根据该解析结果枚举所述操作系统ACPI中的函数。
4.根据权利要求1所述的方法,其特征在于,所述步骤S4包括以下步骤:
S41,通过所述自定义ACPI或操作系统ACPI执行所述请求函数;
S42,所述自定义ACPI通过所述应用程序将所述请求函数执行后的相关信息反馈给用户。
5.根据权利要求1所述的方法,其特征在于,还包括步骤S5,执行完步骤S4后通过所述应用程序将所述自定义ACPI从操作系统中卸载。
6.根据权利要求1所述的方法,其特征在于,所述自定义ACPI配置为基于的32位或64位Windows操作系统内核技术开发。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610131289.XA CN105808467B (zh) | 2016-03-08 | 2016-03-08 | 一种利用自定义acpi管理计算机电源的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610131289.XA CN105808467B (zh) | 2016-03-08 | 2016-03-08 | 一种利用自定义acpi管理计算机电源的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105808467A true CN105808467A (zh) | 2016-07-27 |
CN105808467B CN105808467B (zh) | 2018-11-02 |
Family
ID=56467980
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610131289.XA Active CN105808467B (zh) | 2016-03-08 | 2016-03-08 | 一种利用自定义acpi管理计算机电源的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105808467B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107729163A (zh) * | 2017-09-30 | 2018-02-23 | 上海高顿教育培训有限公司 | 一种基于不同后台的统一交互方法 |
CN112596818A (zh) * | 2020-12-30 | 2021-04-02 | 上海众源网络有限公司 | 一种应用程序控制方法、系统及装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1567229A (zh) * | 2003-07-03 | 2005-01-19 | 纬创资通股份有限公司 | 动态建立高级组态与电源管理接口架构的方法 |
US20080148033A1 (en) * | 2006-12-18 | 2008-06-19 | William Sumner | ACPI to firmware interface |
CN101770379A (zh) * | 2008-12-31 | 2010-07-07 | 北京联想软件有限公司 | 加载高级配置与电源接口命名空间的方法及计算机系统 |
CN104750551A (zh) * | 2013-12-25 | 2015-07-01 | 研祥智能科技股份有限公司 | 一种计算机系统及其自定义响应方法 |
-
2016
- 2016-03-08 CN CN201610131289.XA patent/CN105808467B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1567229A (zh) * | 2003-07-03 | 2005-01-19 | 纬创资通股份有限公司 | 动态建立高级组态与电源管理接口架构的方法 |
US20080148033A1 (en) * | 2006-12-18 | 2008-06-19 | William Sumner | ACPI to firmware interface |
CN101770379A (zh) * | 2008-12-31 | 2010-07-07 | 北京联想软件有限公司 | 加载高级配置与电源接口命名空间的方法及计算机系统 |
CN104750551A (zh) * | 2013-12-25 | 2015-07-01 | 研祥智能科技股份有限公司 | 一种计算机系统及其自定义响应方法 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107729163A (zh) * | 2017-09-30 | 2018-02-23 | 上海高顿教育培训有限公司 | 一种基于不同后台的统一交互方法 |
CN107729163B (zh) * | 2017-09-30 | 2021-06-15 | 上海高顿教育培训有限公司 | 一种基于不同后台的统一交互方法 |
CN112596818A (zh) * | 2020-12-30 | 2021-04-02 | 上海众源网络有限公司 | 一种应用程序控制方法、系统及装置 |
CN112596818B (zh) * | 2020-12-30 | 2023-12-05 | 上海众源网络有限公司 | 一种应用程序控制方法、系统及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN105808467B (zh) | 2018-11-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8464242B2 (en) | Virtualization of configuration settings | |
US7698546B2 (en) | BIOS configuration update technique | |
CN110851114A (zh) | 一种业务系统开发方法、装置及电子设备和存储介质 | |
US20240045850A1 (en) | Systems and methods for database orientation transformation | |
US8484631B2 (en) | Supporting hardware configuration changes in a UEFI firmware component | |
US9086899B2 (en) | Loading and debugging method and debugging system thereof | |
CN103123605B (zh) | 一种Android平台自动化集成测试方法和装置 | |
CN104881343A (zh) | 一种测试方法和测试系统 | |
RU2639667C2 (ru) | Контекстное приглашение в пробной версии приложения | |
CN104915228A (zh) | 应用程序语言设置方法及装置 | |
CN105808467A (zh) | 一种利用自定义acpi管理计算机电源的方法 | |
CN114048415A (zh) | 表单生成方法及装置、电子设备和计算机可读存储介质 | |
CN113626095A (zh) | 配置中心的切换方法、切换系统、电子设备及存储介质 | |
CN114201382A (zh) | 测试用例生成方法、装置、存储介质和电子设备 | |
CN111949529A (zh) | 系统调试方法、装置、计算机设备和存储介质 | |
US10628285B1 (en) | Dynamic configuration of availability of debugging messages | |
CN107911816B (zh) | 用于多模IoT设备的启动方法、多模IoT设备及存储介质 | |
US9256651B1 (en) | Inheritance of properties files with locale chain support | |
CN106775608B (zh) | 独立系统进程的实现方法和装置 | |
CN113821219A (zh) | 一种实现应用程序容器化的方法及系统 | |
CN104423972A (zh) | 基于国产飞腾平台的操作系统图形化安装方法 | |
CN111258618A (zh) | 文件配置方法、装置、计算机设备和存储介质 | |
CN113064698A (zh) | 提供产品环境的方法及相应的装置、系统、设备和介质 | |
US10102109B2 (en) | Exception resolution in a software development session | |
CN117472458B (zh) | 系统功能优化配置方法、装置、电子设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right |
Effective date of registration: 20201211 Address after: 601-g6-1, 6th floor, building 2, No. 6, Shangdi West Road, Haidian District, Beijing 100085 Patentee after: Lenovo Kaitian Technology Co., Ltd Address before: 230601 418, 4 building, Hai Heng mansion 6, Cui Wei Road, Hefei economic and Technological Development Zone, Anhui Patentee before: HEFEI LCFC INFORMATION TECHNOLOGY Co.,Ltd. |
|
TR01 | Transfer of patent right |