CN115826731A - 休眠控制方法及装置、操作系统和计算设备 - Google Patents
休眠控制方法及装置、操作系统和计算设备 Download PDFInfo
- Publication number
- CN115826731A CN115826731A CN202211280099.6A CN202211280099A CN115826731A CN 115826731 A CN115826731 A CN 115826731A CN 202211280099 A CN202211280099 A CN 202211280099A CN 115826731 A CN115826731 A CN 115826731A
- Authority
- CN
- China
- Prior art keywords
- sleep
- time
- task
- current time
- controlling
- 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
Images
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Power Sources (AREA)
Abstract
本申请实施例涉及操作系统技术领域,且涉及一种休眠控制方法及装置、操作系统和计算设备。该方法具体方案为:响应于任务调用执行休眠操作,根据任务休眠时间和任务调用时的第一当前时间计算休眠结束时间点,且根据所述任务休眠时间计算系统时基数值N;其中,所述系统时基数值为所述任务休眠时间与系统时基的商的整数部分的值;控制所述任务休眠N个系统时基;在休眠N个系统时基后,根据从时间戳寄存器读取的数据,控制所述任务结束休眠。本申请实施例在依赖系统时基的基础上,加入基于时间戳的延时补偿机制,可大幅提升任务休眠时间控制的准确度,从而提升系统的实时性能。
Description
技术领域
本发明涉及操作系统技术领域,尤其涉及休眠控制方法及装置、操作系统和计算设备。
背景技术
在操作系统中,任务的基本状态可包括休眠、就绪、运行、等待等。控制任务休眠和唤醒是系统内核调度的一个基本功能。例如,目前在嵌入式实时系统中,通常依赖系统Tick(系统时基)或外部硬件定时器,对任务的休眠时间进行控制。若采用依赖系统Tick的控制方式,则由于Tick本身的精度限制和误差,会造成休眠时间准确度受限。若采用依赖外部硬件定时器的控制方式,需要额外配置硬件定时器,则会产生不必要的系统硬件开销。
发明内容
鉴于现有技术的以上问题,本申请实施例提供一种休眠控制方法及装置、操作系统和计算设备,在依赖系统时基的基础上,加入基于时间戳的延时补偿机制,可大幅提升任务休眠时间控制的准确度,从而提升系统的实时性能。
达到上述目的,本申请第一方面提供了一种休眠控制方法,包括:
响应于任务调用执行休眠操作,根据任务休眠时间和任务调用时的第一当前时间计算休眠结束时间点,且根据所述任务休眠时间计算系统时基数值N;其中,所述系统时基数值为所述任务休眠时间与系统时基的商的整数部分的值;
控制所述任务休眠N个系统时基;
在休眠N个系统时基后,根据从时间戳寄存器读取的数据,控制所述任务结束休眠。
作为第一方面的一种可能的实现方式,所述根据从时间戳寄存器读取的数据,控制所述任务结束休眠,包括:
读取休眠N个系统时基后的第二当前时间;
在所述第二当前时间没有达到所述休眠结束时间点的情况下,读取时间戳寄存器;将从时间戳寄存器读取的第三当前时间与所述休眠结束时间点相比较;
在所述第三当前时间达到所述休眠结束时间点的情况下,控制所述任务结束休眠。
作为第一方面的一种可能的实现方式,所述方法还包括:
在所述第三当前时间没有达到所述休眠结束时间点的情况下,返回执行读取时间戳寄存器的步骤。
作为第一方面的一种可能的实现方式,所述方法还包括:
在所述第二当前时间达到所述休眠结束时间点的情况下,控制所述任务结束休眠。
本申请第二方面提供了一种休眠控制装置,包括:
计算单元,用于:响应于任务调用执行休眠操作,根据任务休眠时间和任务调用时的第一当前时间计算休眠结束时间点,且根据所述任务休眠时间计算系统时基数值N;其中,所述系统时基数值为所述任务休眠时间与系统时基的商的整数部分的值;
第一控制单元,用于:控制所述任务休眠N个系统时基;
第二控制单元,用于:在休眠N个系统时基后,根据从时间戳寄存器读取的数据,控制所述任务结束休眠。
作为第二方面的一种可能的实现方式,所述第二控制单元用于:
读取休眠N个系统时基后的第二当前时间;
在所述第二当前时间没有达到所述休眠结束时间点的情况下,读取时间戳寄存器;将从时间戳寄存器读取的第三当前时间与所述休眠结束时间点相比较;
在所述第三当前时间达到所述休眠结束时间点的情况下,控制所述任务结束休眠。
作为第二方面的一种可能的实现方式,所述第二控制单元还用于:
在所述第三当前时间没有达到所述休眠结束时间点的情况下,返回执行读取时间戳寄存器的步骤。
作为第二方面的一种可能的实现方式,所述第二控制单元还用于:
在所述第二当前时间达到所述休眠结束时间点的情况下,控制所述任务结束休眠。
本申请第三方面提供了一种用以实现上述第一方面任一所述的方法的操作系统。
本申请第四方面提供了一种计算设备,包括:
通信接口;
至少一个处理器,其与所述通信接口连接;以及
至少一个存储器,其与所述处理器连接并存储有程序指令,所述程序指令当被所述至少一个处理器执行时使得所述至少一个处理器执行上述第一方面任一所述的方法。
本申请第五方面提供了一种计算机可读存储介质,其上存储有程序指令,所述程序指令当被计算机执行时使得所述计算机执行上述第一方面任一所述的方法。
本申请实施例在依赖系统时基的基础上,加入基于时间戳的延时补偿机制,可大幅提升任务休眠时间控制的准确度,从而提升系统的实时性能。
本发明的这些和其它方面在以下(多个)实施例的描述中会更加简明易懂。
附图说明
以下参照附图来进一步说明本发明的各个特征和各个特征之间的联系。附图均为示例性的,一些特征并不以实际比例示出,并且一些附图中可能省略了本申请所涉及领域的惯常的且对于本申请非必要的特征,或是额外示出了对于本申请非必要的特征,附图所示的各个特征的组合并不用以限制本申请。另外,在本说明书全文中,相同的附图标记所指代的内容也是相同的。具体的附图说明如下:
图1为本申请实施例提供的休眠控制方法的一实施例的示意图;
图2为本申请实施例提供的休眠控制方法的一实施例的时间补偿示意图;
图3为本申请实施例提供的休眠控制方法的一实施例的流程示意图;
图4为本申请实施例提供的休眠控制方法的一实施例的流程示意图;
图5为本申请实施例提供的休眠控制装置的一实施例的示意图;
图6为本申请实施例提供的计算设备的示意图。
具体实施方式
说明书和权利要求书中的词语“第一、第二、第三等”或模块A、模块B、模块C等类似用语,仅用于区别类似的对象,不代表针对对象的特定排序,可以理解地,在允许的情况下可以互换特定的顺序或先后次序,以使这里描述的本申请实施例能够以除了在这里图示或描述的以外的顺序实施。
在以下的描述中,所涉及的表示步骤的标号,如S110、S120……等,并不表示一定会按此步骤执行,在允许的情况下可以互换前后步骤的顺序,或同时执行。
说明书和权利要求书中使用的术语“包括”不应解释为限制于其后列出的内容;它不排除其它的元件或步骤。因此,其应当诠释为指定所提到的所述特征、整体、步骤或部件的存在,但并不排除存在或添加一个或更多其它特征、整体、步骤或部件及其组群。因此,表述“包括装置A和B的设备”不应局限为仅由部件A和B组成的设备。
本说明书中提到的“一个实施例”或“实施例”意味着与该实施例结合描述的特定特征、结构或特性包括在本发明的至少一个实施例中。因此,在本说明书各处出现的用语“在一个实施例中”或“在实施例中”并不一定都指同一实施例,但可以指同一实施例。此外,在一个或多个实施例中,能够以任何适当的方式组合各特定特征、结构或特性,如从本公开对本领域的普通技术人员显而易见的那样。
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。如有不一致,以本说明书中所说明的含义或者根据本说明书中记载的内容得出的含义为准。另外,本文中所使用的术语只是为了描述本申请实施例的目的,不是旨在限制本申请。为了准确地对本申请中的技术内容进行叙述,以及为了准确地理解本发明,在对具体实施方式进行说明之前先对本说明书中所使用的术语给出如下的解释说明或定义:
1)Tick(时基):一般通过芯片自带的Tick定时器触发,每周期产生一次中断,一次中断表示一个Tick。Tick可以理解为系统内部定时器产生的信号,通常精度不高。
2)时间戳:是指格林威治时间1970年01月01日00时00分00秒(北京时间1970年01月01日08时00分00秒)起至现在的总秒数。时间戳寄存器中存储当前时间戳,当前时间戳可转换为当前时间。
下面先对现有的方法进行介绍,然后再对本申请的技术方案进行详细介绍。
在操作系统中,任务的基本状态可包括休眠、就绪、运行、等待等。控制任务休眠和唤醒是系统内核调度的一个基本功能。例如,目前在嵌入式实时系统中,通常依赖系统Tick(系统时基)或外部硬件定时器,对任务的休眠时间进行控制。
若采用依赖系统Tick的控制方式,则由于Tick本身的精度限制和误差,会造成休眠时间准确度受限。在进行任务休眠时间控制时,休眠时间通常是Tick的整数倍。Tick与系统有关的,通常操作系统中Tick的精度是有限的。由于Tick本身的精度限制和误差,利用Tick进行时间控制,不能达到很高的精确度。
若采用依赖外部硬件定时器的控制方式,需要额外配置硬件定时器,则会产生不必要的系统硬件开销。
综上,现有技术存在着以下的缺陷:休眠时间准确度受限、产生不必要的系统硬件开销。
基于上述现有技术所存在的技术问题,本申请提供了一种休眠控制方法及装置、计算设备和存储介质,在依赖系统时基的基础上,加入基于时间戳的延时补偿机制,可大幅提升任务休眠时间控制的准确度,提升系统的实时性能,从而解决了现有技术中提到的休眠时间准确度受限的技术问题。另外,本申请实施例在休眠控制过程中不需要额外配置硬件定时器,从而解决了现有技术中提到的产生不必要的系统硬件开销的技术问题。
图1为本申请实施例提供的休眠控制方法的一实施例的示意图。如图1所示,该方法可以包括:
步骤S110,响应于任务调用执行休眠操作,根据任务休眠时间和任务调用时的第一当前时间计算休眠结束时间点,且根据所述任务休眠时间计算系统时基数值N;其中,所述系统时基数值为所述任务休眠时间与系统时基的商的整数部分的值;
步骤S120,控制所述任务休眠N个系统时基;
步骤S130,在休眠N个系统时基后,根据从时间戳寄存器读取的数据,控制所述任务结束休眠。
系统时基是系统的相对时间单位,也称为Tick,来源于定时器的周期性中断,即输出脉冲。系统内部有一个以固定周期触发的定时器。Tick可以理解为系统内部定时器产生的信号,即Tick时钟。一般通过芯片自带的Tick定时器触发,每周期产生一次中断,一次中断表示一个Tick,也被称为一个“时钟滴答”、时标。
一般来说,实时内核都提供相应的调整机制,应用可以根据特定情况改变Tick对应的时间长度。例如,可以使系统5毫秒产生一个Tick,也可以是10毫秒产生一个Tick。Tick的大小决定了整个系统的时间粒度。Tick的精度通常不高。
在任务调用休眠接口休眠时,执行本申请实施例提供的休眠控制方法。本申请实施例中,可在依赖系统时基的基础上,加入简单的延时补偿机制,即可大幅提升任务休眠时间控制的准确度。
在步骤S110中,将用户传入的任务休眠时间t0转换为系统时基数值N。系统时基数值N也可称为系统Tick数。具体地,可计算任务休眠时间与系统时基的商,再对上述计算得到的商进行向下取整,得到任务休眠时间与系统时基的商的整数部分的值,即系统时基数值N。
另外,在步骤S110中,根据任务休眠时间和任务调用时的第一当前时间计算并记录休眠结束时间点t2。用t1表示第一当前时间、t0表示任务休眠时间,则利用以下公式计算休眠结束时间点t2:
t2=t1+t0。
图2为本申请实施例提供的休眠控制方法的一实施例的时间补偿示意图。如图2所示,将任务调用时的第一当前时间t1和任务休眠时间t0(休眠时长)相加,得到休眠结束时间点t2。
在步骤S120中,控制任务休眠N个Tick。参见图2,任务休眠N个Tick后,即到达图2中所示的休眠醒来时刻。从休眠醒来时刻到休眠结束时间点t2之间的时间间隔,即为补偿时间。
在步骤S130中实施延时补偿机制。具体地,在N个Tick休眠结束后,从时间戳寄存器读取当前时间戳,并将读取当前时间戳与休眠结束时间点t2相比较,以判断当前时间戳是否到达休眠结束时间点t2。在当前时间戳已到达休眠结束时间点t2的情况下,控制所述任务结束休眠。
本申请实施例在依赖系统时基的基础上,加入了基于时间戳的延时补偿机制。由于时间戳寄存器中的数据通常是纳秒级别的,因此休眠时间控制的准确度会得到极大提升,从而提升系统的实时性能。
图3为本申请实施例提供的休眠控制方法的一实施例的流程示意图。如图3所示,在一种实施方式中,图1中的步骤S130,所述根据从时间戳寄存器读取的数据,控制所述任务结束休眠,具体可包括:
步骤S210,读取休眠N个系统时基后的第二当前时间;
步骤S211,在所述第二当前时间没有达到所述休眠结束时间点的情况下,读取时间戳寄存器;将从时间戳寄存器读取的第三当前时间与所述休眠结束时间点相比较;
步骤S220,在所述第三当前时间达到所述休眠结束时间点的情况下,控制所述任务结束休眠。
具体地,在步骤S210中,在N个Tick休眠结束后,读取休眠N个系统时基后的第二当前时间。在步骤S211中,若第二当前时间还未到达休眠结束时间点t2,则可从时间戳寄存器读取当前时间戳,即第三当前时间。并将读取的第三当前时间与休眠结束时间点t2相比较。在步骤S220中,若第三当前时间到达休眠结束时间点t2,则控制任务结束休眠。
在一种实施方式中,所述方法还包括:
在所述第三当前时间没有达到所述休眠结束时间点的情况下,返回执行读取时间戳寄存器的步骤。
参见图3,在步骤S211之后,若第三当前时间未到达休眠结束时间点t2,则循环执行“从时间戳寄存器读取当前时间戳(第三当前时间),并将读取的第三当前时间与休眠结束时间点t2相比较”的步骤,直到第三当前时间到达休眠结束时间点t2,则终止循环。然后执行步骤S220,控制任务结束休眠。
在对任务休眠时间进行控制时,由于Tick的精度通常不高,仅依赖Tick控制休眠时间,不能达到很高的精确度。例如,如果系统5毫秒产生一个Tick,则休眠时间控制精度将会是毫秒级的。相比之下,本申请实施例中,在依赖系统时基Tick的基础上,加入基于时间戳的延时补偿机制。对于任务休眠时间中除去Tick的N倍之后的剩余部分时间,采用循环读时间戳寄存器的方式,判断第三当前时间是否到达休眠结束时间点。在第三当前时间未到达休眠结束时间点时,重复执行上述循环的步骤。在第三当前时间到达休眠结束时间点时控制任务结束休眠。由于时间戳寄存器中的数据通常是纳秒级别的,可大幅提升任务休眠时间控制的准确度,从而提升系统的实时性能。
在一种实施方式中,所述方法还包括:
在所述第二当前时间达到所述休眠结束时间点的情况下,控制所述任务结束休眠。
图4为本申请实施例提供的休眠控制方法的一实施例的流程示意图。参见图4,在图3的基础上,在步骤S210之后,在所述第二当前时间达到所述休眠结束时间点的情况下,转向执行步骤S220,控制任务结束休眠。
若因为系统原因,任务休眠N个Tick醒来后,就已经到达休眠结束时间点t2,则休眠接口直接返回,结束休眠。在一个示例中,任务休眠时间为51毫秒;系统5毫秒产生一个Tick。则系统Tick数N=INT(51/5)=10。其中,INT表示取整函数。在控制任务休眠10个Tick(50毫秒)之后、尚未读取第二当前时间的时候,系统产生中断或者系统被其它操作打断,则系统去执行中断或其它操作,休眠控制的后续流程的执行被打断。待系统执行完中断程序后,继续执行后续流程时,当前时间已经到达或超过了休眠结束时间点t2,则休眠接口直接返回,结束休眠。
如图5所示,本申请还提供了相应的一种休眠控制装置的实施例。关于该装置的有益效果或解决的技术问题,可以参见与各装置分别对应的方法中的描述,或者参见发明内容中的描述,此处不再一一赘述。
在该休眠控制装置的实施例中,该装置包括:
计算单元100,用于:响应于任务调用执行休眠操作,根据任务休眠时间和任务调用时的第一当前时间计算休眠结束时间点,且根据所述任务休眠时间计算系统时基数值N;其中,所述系统时基数值为所述任务休眠时间与系统时基的商的整数部分的值;
第一控制单元200,用于:控制所述任务休眠N个系统时基;
第二控制单元300,用于:在休眠N个系统时基后,根据从时间戳寄存器读取的数据,控制所述任务结束休眠。
在一种实施方式中,所述第二控制单元300用于:
读取休眠N个系统时基后的第二当前时间;
在所述第二当前时间没有达到所述休眠结束时间点的情况下,读取时间戳寄存器;将从时间戳寄存器读取的第三当前时间与所述休眠结束时间点相比较;
在所述第三当前时间达到所述休眠结束时间点的情况下,控制所述任务结束休眠。
在一种实施方式中,所述第二控制单元300还用于:
在所述第三当前时间没有达到所述休眠结束时间点的情况下,返回执行读取时间戳寄存器的步骤。
在一种实施方式中,所述第二控制单元300还用于:
在所述第二当前时间达到所述休眠结束时间点的情况下,控制所述任务结束休眠。
本申请还提供了相应的一种用以实现上述任一所述的休眠控制方法的操作系统的实施例。在该操作系统中,在任务调用休眠接口休眠时,执行上述任一所述的休眠控制方法,对任务的休眠时间进行控制。关于该操作系统的有益效果或解决的技术问题,可以参见休眠控制方法中的描述,或者参见发明内容中的描述,此处不再一一赘述。
图6是本申请实施例提供的一种计算设备900的结构性示意性图。该计算设备900包括:处理器910、存储器920、通信接口930。
应理解,图6中所示的计算设备900中的通信接口930可以用于与其他设备之间进行通信。
其中,该处理器910可以与存储器920连接。该存储器920可以用于存储该程序代码和数据。因此,该存储器920可以是处理器910内部的存储单元,也可以是与处理器910独立的外部存储单元,还可以是包括处理器910内部的存储单元和与处理器910独立的外部存储单元的部件。
可选的,计算设备900还可以包括总线。其中,存储器920、通信接口930可以通过总线与处理器910连接。总线可以是外设部件互连标准(Peripheral ComponentInterconnect,PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,EISA)总线等。所述总线可以分为地址总线、数据总线、控制总线等。
应理解,在本申请实施例中,该处理器910可以采用中央处理单元(centralprocessing unit,CPU)。该处理器还可以是其它通用处理器、数字信号处理器(digitalsignal processor,DSP)、专用集成电路(Application specific integrated circuit,ASIC)、现成可编程门矩阵(field programmable gate Array,FPGA)或者其它可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。或者该处理器910采用一个或多个集成电路,用于执行相关程序,以实现本申请实施例所提供的技术方案。
该存储器920可以包括只读存储器和随机存取存储器,并向处理器910提供指令和数据。处理器910的一部分还可以包括非易失性随机存取存储器。例如,处理器910还可以存储设备类型的信息。
在计算设备900运行时,所述处理器910执行所述存储器920中的计算机执行指令执行上述方法的操作步骤。
应理解,根据本申请实施例的计算设备900可以对应于执行根据本申请各实施例的方法中的相应主体,并且计算设备900中的各个模块的上述和其它操作和/或功能分别为了实现本实施例各方法的相应流程,为了简洁,在此不再赘述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
本申请实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时用于执行一种多样化问题生成方法,该方法包括上述各个实施例所描述的方案中的至少之一。
本申请实施例的计算机存储介质,可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是,但不限于,电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括、但不限于无线、电线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本申请操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
注意,上述仅为本申请的较佳实施例及所运用的技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本申请进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明的构思的情况下,还可以包括更多其他等效实施例,均属于本发明的保护范畴。
Claims (10)
1.一种休眠控制方法,其特征在于,包括:
响应于任务调用执行休眠操作,根据任务休眠时间和任务调用时的第一当前时间计算休眠结束时间点,且根据所述任务休眠时间计算系统时基数值N;其中,所述系统时基数值为所述任务休眠时间与系统时基的商的整数部分的值;
控制所述任务休眠N个系统时基;
在休眠N个系统时基后,根据从时间戳寄存器读取的数据,控制所述任务结束休眠。
2.根据权利要求1所述的方法,其特征在于,所述根据从时间戳寄存器读取的数据,控制所述任务结束休眠,包括:
读取休眠N个系统时基后的第二当前时间;
在所述第二当前时间没有达到所述休眠结束时间点的情况下,读取时间戳寄存器;将从时间戳寄存器读取的第三当前时间与所述休眠结束时间点相比较;
在所述第三当前时间达到所述休眠结束时间点的情况下,控制所述任务结束休眠。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
在所述第三当前时间没有达到所述休眠结束时间点的情况下,返回执行读取时间戳寄存器的步骤。
4.根据权利要求2或3所述的方法,其特征在于,所述方法还包括:
在所述第二当前时间达到所述休眠结束时间点的情况下,控制所述任务结束休眠。
5.一种休眠控制装置,其特征在于,包括:
计算单元,用于:响应于任务调用执行休眠操作,根据任务休眠时间和任务调用时的第一当前时间计算休眠结束时间点,且根据所述任务休眠时间计算系统时基数值N;其中,所述系统时基数值为所述任务休眠时间与系统时基的商的整数部分的值;
第一控制单元,用于:控制所述任务休眠N个系统时基;
第二控制单元,用于:在休眠N个系统时基后,根据从时间戳寄存器读取的数据,控制所述任务结束休眠。
6.根据权利要求5所述的装置,其特征在于,所述第二控制单元用于:
读取休眠N个系统时基后的第二当前时间;
在所述第二当前时间没有达到所述休眠结束时间点的情况下,读取时间戳寄存器;将从时间戳寄存器读取的第三当前时间与所述休眠结束时间点相比较;
在所述第三当前时间达到所述休眠结束时间点的情况下,控制所述任务结束休眠。
7.根据权利要求6所述的装置,其特征在于,所述第二控制单元还用于:
在所述第三当前时间没有达到所述休眠结束时间点的情况下,返回执行读取时间戳寄存器的步骤。
8.根据权利要求6或7所述的装置,其特征在于,所述第二控制单元还用于:
在所述第二当前时间达到所述休眠结束时间点的情况下,控制所述任务结束休眠。
9.一种用以实现权利要求1-4任一项所述的休眠控制方法的操作系统。
10.一种计算设备,其特征在于,包括:
通信接口;
至少一个处理器,其与所述通信接口连接;以及
至少一个存储器,其与所述处理器连接并存储有程序指令,所述程序指令当被所述至少一个处理器执行时使得所述至少一个处理器执行权利要求1-4任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211280099.6A CN115826731B (zh) | 2022-10-19 | 2022-10-19 | 休眠控制方法及装置、存储介质和计算设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211280099.6A CN115826731B (zh) | 2022-10-19 | 2022-10-19 | 休眠控制方法及装置、存储介质和计算设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115826731A true CN115826731A (zh) | 2023-03-21 |
CN115826731B CN115826731B (zh) | 2023-07-11 |
Family
ID=85524972
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211280099.6A Active CN115826731B (zh) | 2022-10-19 | 2022-10-19 | 休眠控制方法及装置、存储介质和计算设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115826731B (zh) |
Citations (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH10301661A (ja) * | 1997-04-23 | 1998-11-13 | Matsushita Electric Ind Co Ltd | クロック供給装置 |
CN101206584A (zh) * | 2006-12-18 | 2008-06-25 | 上海未来宽带技术及应用工程研究中心有限公司 | 无积累误差和自适应定时器实现方法 |
CN101960891A (zh) * | 2008-04-01 | 2011-01-26 | 高通股份有限公司 | 补偿接入终端中在睡眠时间期间发生的漂移 |
CN102385531A (zh) * | 2010-08-30 | 2012-03-21 | 联发科技股份有限公司 | 定时器管理装置与方法 |
TW201421366A (zh) * | 2012-11-28 | 2014-06-01 | Htc Corp | 執行緒管理方法及其電子裝置 |
CN106095541A (zh) * | 2016-05-31 | 2016-11-09 | 深圳市万普拉斯科技有限公司 | 睡眠管理方法及相关装置 |
CN106304317A (zh) * | 2015-06-24 | 2017-01-04 | 联芯科技有限公司 | 睡眠唤醒定时偏差的补偿方法及电子设备 |
CN109144680A (zh) * | 2017-06-27 | 2019-01-04 | 阿里巴巴集团控股有限公司 | 一种时钟滴答中断设置方法及装置 |
CN112235458A (zh) * | 2020-10-14 | 2021-01-15 | 珠海格力电器股份有限公司 | 设备休眠控制方法、装置、设备及计算机可读介质 |
CN112346789A (zh) * | 2020-11-06 | 2021-02-09 | 中国电子信息产业集团有限公司 | 双系统休眠及唤醒方法、装置、设备及存储介质 |
CN112506266A (zh) * | 2020-12-01 | 2021-03-16 | 珠海格力电器股份有限公司 | 芯片时钟源的计时校准方法、装置及带有时钟源的芯片 |
CN112559190A (zh) * | 2020-12-23 | 2021-03-26 | 科东(广州)软件科技有限公司 | 异构系统间的资源分配方法、系统、装置、设备及介质 |
US20210306952A1 (en) * | 2018-08-09 | 2021-09-30 | Huawei Technologies Co., Ltd. | Sleep method for terminal device and apparatus |
CN113961261A (zh) * | 2021-12-22 | 2022-01-21 | 北京鲸鲮信息系统技术有限公司 | 休眠管理方法、装置、电子设备及存储介质 |
CN114172604A (zh) * | 2020-09-11 | 2022-03-11 | 华为技术有限公司 | 时延补偿方法、装置、设备及计算机可读存储介质 |
CN114791854A (zh) * | 2022-05-11 | 2022-07-26 | 科东(广州)软件科技有限公司 | 用户态虚拟机任务的调度方法、装置、设备及存储介质 |
CN114895969A (zh) * | 2022-05-25 | 2022-08-12 | 统信软件技术有限公司 | 一种操作系统休眠方法、装置、计算设备和存储介质 |
-
2022
- 2022-10-19 CN CN202211280099.6A patent/CN115826731B/zh active Active
Patent Citations (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH10301661A (ja) * | 1997-04-23 | 1998-11-13 | Matsushita Electric Ind Co Ltd | クロック供給装置 |
CN101206584A (zh) * | 2006-12-18 | 2008-06-25 | 上海未来宽带技术及应用工程研究中心有限公司 | 无积累误差和自适应定时器实现方法 |
CN101960891A (zh) * | 2008-04-01 | 2011-01-26 | 高通股份有限公司 | 补偿接入终端中在睡眠时间期间发生的漂移 |
CN102385531A (zh) * | 2010-08-30 | 2012-03-21 | 联发科技股份有限公司 | 定时器管理装置与方法 |
TW201421366A (zh) * | 2012-11-28 | 2014-06-01 | Htc Corp | 執行緒管理方法及其電子裝置 |
CN106304317A (zh) * | 2015-06-24 | 2017-01-04 | 联芯科技有限公司 | 睡眠唤醒定时偏差的补偿方法及电子设备 |
CN106095541A (zh) * | 2016-05-31 | 2016-11-09 | 深圳市万普拉斯科技有限公司 | 睡眠管理方法及相关装置 |
CN109144680A (zh) * | 2017-06-27 | 2019-01-04 | 阿里巴巴集团控股有限公司 | 一种时钟滴答中断设置方法及装置 |
US20210306952A1 (en) * | 2018-08-09 | 2021-09-30 | Huawei Technologies Co., Ltd. | Sleep method for terminal device and apparatus |
CN114172604A (zh) * | 2020-09-11 | 2022-03-11 | 华为技术有限公司 | 时延补偿方法、装置、设备及计算机可读存储介质 |
CN112235458A (zh) * | 2020-10-14 | 2021-01-15 | 珠海格力电器股份有限公司 | 设备休眠控制方法、装置、设备及计算机可读介质 |
CN112346789A (zh) * | 2020-11-06 | 2021-02-09 | 中国电子信息产业集团有限公司 | 双系统休眠及唤醒方法、装置、设备及存储介质 |
CN112506266A (zh) * | 2020-12-01 | 2021-03-16 | 珠海格力电器股份有限公司 | 芯片时钟源的计时校准方法、装置及带有时钟源的芯片 |
CN112559190A (zh) * | 2020-12-23 | 2021-03-26 | 科东(广州)软件科技有限公司 | 异构系统间的资源分配方法、系统、装置、设备及介质 |
CN113961261A (zh) * | 2021-12-22 | 2022-01-21 | 北京鲸鲮信息系统技术有限公司 | 休眠管理方法、装置、电子设备及存储介质 |
CN114791854A (zh) * | 2022-05-11 | 2022-07-26 | 科东(广州)软件科技有限公司 | 用户态虚拟机任务的调度方法、装置、设备及存储介质 |
CN114895969A (zh) * | 2022-05-25 | 2022-08-12 | 统信软件技术有限公司 | 一种操作系统休眠方法、装置、计算设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN115826731B (zh) | 2023-07-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Dasari et al. | Response time analysis of cots-based multicores considering the contention on the shared memory bus | |
US20190155770A1 (en) | Deferred inter-processor interrupts | |
KR101496077B1 (ko) | 낮은 오버헤드를 갖는 전력 프로파일 정보의 획득 | |
US9195285B2 (en) | Techniques for platform duty cycling | |
TWI628599B (zh) | 用於使處理元件提早離開深度睡眠狀態的處理器和設備 | |
US11455024B2 (en) | Idle state estimation by scheduler | |
US20170249008A1 (en) | Techniques for entering a low power state | |
CN109981737B (zh) | 一种网络请求的处理方法、装置、终端及存储介质 | |
CN114489801A (zh) | 高精度测量嵌入式系统中断时长的方法、系统及介质 | |
US20090089555A1 (en) | Methods and apparatus for executing or converting real-time instructions | |
US8832700B2 (en) | Subscriber-based ticking model for platforms | |
CN107423206B (zh) | 一种衡量系统管理中断时间的方法及装置 | |
US8312309B2 (en) | Technique for promoting determinism among multiple clock domains | |
CN115826731B (zh) | 休眠控制方法及装置、存储介质和计算设备 | |
CN109799872B (zh) | 提高低解析度实时时钟唤醒精度的方法、装置及电子设备 | |
JP2004192052A (ja) | ソフトウェア処理方法およびソフトウェア処理システム | |
US6560715B1 (en) | Sequencer of synchronous actions in a processor system, and integrated circuit including such sequencer | |
CN109002325B (zh) | 一种程序的睡眠时间控制方法及装置 | |
Drótos et al. | Interrupt driven parallel processing | |
CN117289754B (zh) | 一种时间同步的芯片架构及其软件控制方法 | |
US8572619B2 (en) | System and method for integrating software schedulers and hardware interrupts for a deterministic system | |
KR20120064553A (ko) | 리눅스 기반 임베디드 시스템에서 실시간 성능 측정 방법 및 그 시스템 | |
Lee et al. | Early system level modeling of real-time applications on embedded platforms | |
Gerhorst | Analysis of Interrupt Handling Overhead in the Linux Kernel | |
CN115358693A (zh) | 基于时间轴的事件发布方法和相关设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |