CN114296915A - 一种操作系统调度方法、装置、设备及存储介质 - Google Patents
一种操作系统调度方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN114296915A CN114296915A CN202111585690.8A CN202111585690A CN114296915A CN 114296915 A CN114296915 A CN 114296915A CN 202111585690 A CN202111585690 A CN 202111585690A CN 114296915 A CN114296915 A CN 114296915A
- Authority
- CN
- China
- Prior art keywords
- operating system
- target
- time
- target operating
- instruction
- 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.)
- Pending
Links
Images
Landscapes
- Power Sources (AREA)
Abstract
本申请公开了一种操作系统调度方法、装置、设备及存储介质,所述方法包括:当目标操作系统调用等待中断指令时,获取所述目标操作系统的历史等待时长和目标运行时长,所述历史等待时长为所述目标操作系统上一次调用所述等待中断指令的持续时长,所述目标运行时长为虚拟机监视器保存和恢复所述目标操作系统的上下文信息所需的运行时长;判断所述历史等待时长是否小于所述目标运行时长;在所述历史等待时长小于所述目标运行时长的情况下,释放所述目标操作系统对中央处理器的控制权,以使所述中央处理器进入低功耗模式。利用本申请的技术方案可以预判目标操作系统被外围中断唤醒的时机,避免CPU重复保存和恢复操作系统上下文的动作,节约CPU资源。
Description
技术领域
本申请涉及虚拟化技术领域,具体涉及一种操作系统调度方法、装置、设备及存储介质。
背景技术
ARM指令集中的等待中断指令(Wait for Interrupt,WFI)可以在虚拟机操作系统处于空闲状态时调用,使得虚拟机操作系统交出对中央处理器CPU的控制权,并等待外围中断唤醒。通常在第一虚拟机操作系统调用WFI指令交出CPU控制权后,虚拟机监视器会获取控制权并保存第一虚拟机操作系统的上下文,并选择下一个任务或者其他虚拟机操作系统运行。当第一虚拟机操作系统被外围中断指令唤醒时,虚拟机监视器将重新恢复第一虚拟机操作系统的上下文,并将CPU控制权还给第一虚拟机操作系统,由第一虚拟机操作系统处理外围中断指令对应事件。
然而,按照现有的操作系统调度方法,如果从第一虚拟机操作系统交出CPU控制权到被外围中断指令唤醒发生的间隔时间太短,虚拟机监视器在切换第一虚拟机操作系统的上下文后,还未能运行其他任务或者其他虚拟机操作系统就需要恢复第一虚拟机操作系统的上下文,导致CPU进行重复无效的上下文切换,浪费CPU资源。
发明内容
本申请提供了一种操作系统调度方法、装置、设备及存储介质,可以预判目标操作系统被外围中断唤醒的时机,避免CPU重复保存和恢复操作系统上下文的动作,节约CPU资源。
本申请技术方案如下:
一方面,提供了一种操作系统调度方法,所述方法包括:
当目标操作系统调用等待中断指令时,获取所述目标操作系统的历史等待时长和目标运行时长,所述历史等待时长为所述目标操作系统上一次调用所述等待中断指令的持续时长,所述目标运行时长为虚拟机监视器保存和恢复所述目标操作系统的上下文信息所需的运行时长;
判断所述历史等待时长是否小于所述目标运行时长;
在所述历史等待时长小于所述目标运行时长的情况下,释放所述目标操作系统对中央处理器的控制权,以使所述中央处理器进入低功耗模式。
另一方面,提供了一种操作系统调度装置,所述装置包括:
获取模块,用于当目标操作系统调用等待中断指令时,获取所述目标操作系统的历史等待时长和目标运行时长,所述历史等待时长为所述目标操作系统上一次调用所述等待中断指令的持续时长,所述目标运行时长为虚拟机监视器保存和恢复所述目标操作系统的上下文信息所需的运行时长;
判断模块,用于判断所述历史等待时长是否小于所述目标运行时长;
低功耗模块,用于在所述历史等待时长小于所述目标运行时长的情况下,释放所述目标操作系统对中央处理器的控制权,以使所述中央处理器进入低功耗模式。
另一方面,提供了一种操作系统调度设备,所述设备包括处理器和存储器,所述存储器中存储有至少一条指令或至少一段程序,所述至少一条指令或所述至少一段程序由所述处理器加载并执行以实现如上述的操作系统调度方法。
另一方面,提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令或至少一段程序,所述至少一条指令或所述至少一段程序由处理器加载并执行以实现如上述的操作系统调度方法。
本申请提供的操作系统调度方法、装置、设备及存储介质,具有如下技术效果:
利用本申请提供的技术方案,当目标操作系统调用等待中断指令时,可以获取目标操作系统的历史等待时长和目标运行时长,历史等待时长为目标操作系统上一次调用等待中断指令的持续时长,目标运行时长为虚拟机监视器保存和恢复目标操作系统的上下文信息所需的运行时长;然后,判断历史等待时长是否小于目标运行时长;在历史等待时长小于目标运行时长的情况下,预判目标操作系统即将被外围中断唤醒,在释放目标操作系统对CPU的控制权的同时不让虚拟机监视器获取控制权,以使CPU进入低功耗模式,等待目标操作系统外围中断的发生,从而避免CPU重复保存和恢复操作系统上下文的动作,降低CPU的功耗,节约CPU的资源。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案和优点,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它附图。
图1是本申请实施例提供的一种操作系统调度方法的流程示意图;
图2是本申请实施例提供的一种历史等待时长的生成方法的流程示意图;
图3是本申请实施例提供的一种目标运行时长的生成方法的流程示意图;
图4是本申请实施例提供的另一种操作系统调度方法的流程示意图;
图5是本申请实施例提供的一种更新历史等待时长的流程示意图;
图6是本申请实施例提供的另一种操作系统调度方法的流程示意图;
图7是本申请实施例提供的一种操作系统调度装置示意图;
图8是本申请实施例提供的一种操作系统调度方法的服务器的硬件结构框图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或服务器不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
以下介绍本申请实施例提供的一种操作系统调度方法,图1为本申请实施例提供的一种操作系统调度方法的流程示意图。需要说明的是,本说明书提供了如实施例或流程图所述的方法操作步骤,但基于常规或者无创造性的劳动可以包括更多或者更少的操作步骤。实施例中列举的步骤顺序仅仅为众多步骤执行顺序中的一种方式,不代表唯一的执行顺序。在实际中的系统或产品执行时,可以按照实施例或者附图所示的方法顺序执行或者并行执行(例如并行处理器或者多线程处理的环境)。具体的如图1所示,上述方法可以包括:
S101,当目标操作系统调用等待中断指令时,获取目标操作系统的历史等待时长和目标运行时长,历史等待时长为目标操作系统上一次调用等待中断指令的持续时长,目标运行时长为虚拟机监视器保存和恢复目标操作系统的上下文信息所需的运行时长。
在本说明书实施例中,上述目标操作系统可以为虚拟化场景下的虚拟机操作系统,具体的,目标操作系统可以为支持ARM架构(Acorn RISC Machine,一种32位精简指令集RISC处理器架构)的嵌入式系统,可选的,目标操作系统可以包括但不限于Linux、μC/OS-II、VxWorks等。
在本说明书实施例中,虚拟机监视器(Hypervisor)为一种运行在基础物理服务器和操作系统之间的中间软件层,可允许多个操作系统和应用共享硬件。虚拟机监视器可以访问服务器上包括磁盘和内存在内的所有物理设备。当服务器启动并执行虚拟机监视器时,虚拟机监视器会加载所有虚拟机客户端的操作系统,同时会分配给每一台虚拟机适量的内存,CPU,网络和磁盘。
在本说明书实施例中,等待中断指令(Wait for Interrupt,WFI)为ARM指令集中的一种指令,具体的,等待中断指令可以在目标操作系统处于空闲状态时调用,使得目标操作系统交出对中央处理器CPU的控制权,并等待外围中断唤醒。
在一个具体的实施例中,如图2所示,可以从历史等待时长查询链表中查询目标操作系统的历史等待时长,具体的,历史等待时长的生成方法可以包括:
S201,基于等待中断指令的目标指令地址,确定目标操作系统上一次调用等待中断指令的第三时间。
S203,确定目标操作系统结束上一次调用等待中断指令的第四时间。
S205,基于第三时间和第四时间,生成历史等待时长。
具体的,基于第三时间和第四时间,生成历史等待时长可以包括:将第四时间减去第三时间,得到历史等待时长。
S207,将目标指令地址和历史等待时长的绑定关系保存到历史等待时长查询链表。
相应的,获取目标操作系统的历史等待时长包括:
从历史等待时长查询链表中确定与等待中断指令的目标指令地址对应的历史等待时长。
在一个具体的实施例中,绑定关系可以包括键值对,相应的,将目标指令地址和历史等待时长的绑定关系保存到历史等待时长查询链表可以包括:将目标指令地址和历史等待时长以目标键值对的形式保存到历史等待时长查询链表。
在一个可选的实施例中,可以利用LRU(Least Recently Used,最近最少使用策略)算法对历史等待时长查询链表进行维护。具体的,在将目标键值对保存到历史等待时长查询链表之前,判断历史等待时长查询链表的缓存是否已满;在历史等待时长查询链表的缓存已满的情况下,将历史等待时长查询链表尾部的最后键值对删除,将上述目标键值对插入历史等待时长查询链表的头部;在历史等待时长查询链表的缓存未满的情况下,将上述目标键值对直接插入历史等待时长查询链表的头部。
由以上实施例可见,基于目标操作系统上一次调用等待中断指令的第三时间和结束上一次调用等待中断指令时的第四时间,生成历史等待时长,并将目标操作系统的目标指令地址和历史等待时长进行绑定后保存到历史等待时长查询链表,提升历史等待时长的查询效率,以便于后续对目标操作系统的唤醒时机进行预判。
在一个具体的实施例中,如图3所示,目标运行时长的生成方法可以包括:
S301,获取虚拟机监视器保存目标操作系统的上下文信息的第五时间。
S303,获取虚拟机监视器恢复目标操作系统的上下文信息的第六时间。
S305,基于第五时间和第六时间,生成目标运行时长。
具体的,基于第五时间和第六时间,生成目标运行时长可以包括:将第六时间减去第五时间,得到目标运行时长。
在本说明书实施例中,目标操作系统的上下文信息可以为CPU寄存器中目标操作系统的当前用户态的指令位置。在实际应用中,在目标操作系统调用等待中断指令,将对中央处理器的控制权交给虚拟机监视器的情况下,虚拟机监视器会将目标操作系统的上下文信息进行保存,并选择下一个任务或者其他虚拟机操作系统运行;在目标操作系统被外围中断唤醒的情况下,虚拟机监视器需要恢复目标操作系统的上下文信息,并将控制权交还给目标操作系统,以使目标操作系统执行与外围中断对应的任务进程。
由以上实施例可见,根据虚拟机监视器保存目标操作系统的上下文信息的第五时间和恢复目标操作系统的上下文信息的第六时间,生成目标运行时长,以便于后续确定虚拟机监视器是否获取控制权,对目标操作系统进行上下文切换。
S103,判断历史等待时长是否小于目标运行时长。
具体的,基于历史等待时长与目标运行时长的比较结果,预判目标操作系统是否即将被外围中断唤醒,从而确定虚拟机监视器是否获取控制权,对目标操作系统进行上下文切换。
S105,在历史等待时长小于目标运行时长的情况下,释放目标操作系统对中央处理器的控制权,以使中央处理器进入低功耗模式。
具体的,在历史等待时长小于目标运行时长的情况下,预判目标操作系统即将被外围中断唤醒,因此,在释放目标操作系统的控制权后,不让虚拟机监视器获取控制权后,以使CPU进入低功耗模式,等待目标操作系统被外围中断唤醒。
在一个具体的实施例中,如图4所示,在目标操作系统当前调用等待中断指令的等待时长大于历史等待时长的情况下,上述方法还可以包括:
S107,控制虚拟机监视器获取控制权。
S109,控制虚拟机监视器基于控制权,对目标操作系统进行上下文切换。
具体的,为防止在预期的外围中断没有很快发生的情况下,CPU一直处于低功耗模式,无法执行其他任务,需要对低功耗模式设置一个超时机制,如果预期的外围中断没有发生,也会唤醒CPU,即控制虚拟机监视器获取控制权并基于控制权,对目标操作系统进行上下文切换以恢复其他虚拟机操作系统的运行。
在一个具体的实施例中,可以利用ARMv8.5中的WFIT指令(进入低功耗超时指令,Wait For Interrupt with Timeout)设置一个超时机制,超时时间设置为历史等待时长,即在目标操作系统当前调用等待中断指令的等待时长大于历史等待时长的情况下,控制虚拟机监视器获取控制权并基于控制权,对目标操作系统进行上下文切换。
由以上实施例可见,通过对低功耗模式设置超时机制,在目标操作系统预期的外围中断没有发生的情况下,唤醒CPU,即控制虚拟机监视器获取控制权并基于控制权,对目标操作系统进行上下文切换以恢复其他虚拟机操作系统的运行,从而避免CPU一直处于低功耗模式,无法运行其他任务,提升CPU的利用率。
在一个具体的实施例中,如图5所示,在上述控制虚拟机监视器基于控制权,对目标操作系统进行上下文切换之后,上述方法还可以包括:
S501,当目标操作系统接收到中断指令时,响应于中断指令,控制虚拟机监视器恢复目标操作系统的上下文信息。
S503,控制目标操作系统获取控制权。
S505,基于目标操作系统调用等待中断指令的第一时间和接收到中断指令的第二时间,更新历史等待时长。
具体的,上述基于目标操作系统调用等待中断指令的第一时间和接收到中断指令的第二时间,更新历史等待时长可以包括:将第二时间减去第一时间得到更新等待时长。
在一个可选的实施例中,在得到更新等待时长之后,将历史等待时长查询链表中与等待中断指令的目标指令地址对应的目标键值对删除,基于更新等待时长,对目标键值对进行更新,得到更新键值对,并将更新键值对插入到历史等待时长查询链表的头部,以便于下一次能够快速查询到等待中断指令的更新等待时长。
在一个可选的实施例中,如图6所示,在上述判断历史等待时长是否小于目标运行时长之后,上述方法还可以包括:
S111,在历史等待时长不小于目标运行时长的情况下,控制虚拟机监视器获取控制权。
S113,控制虚拟机监视器基于控制权,对目标操作系统进行上下文切换。
具体的,在历史等待时长不小于目标运行时长的情况下,预判目标操作系统不会很快被外围中断唤醒,因此,在释放目标操作系统的控制权后,让虚拟机监视器获取控制权后并基于控制权,对目标操作系统进行上下文切换以恢复其他虚拟机操作系统的运行,从而提升CPU的利用率。
由以上本申请书实施例可见,利用本申请实施例提供的技术方案,当目标操作系统调用等待中断指令时,可以获取目标操作系统的历史等待时长和目标运行时长,历史等待时长为目标操作系统上一次调用等待中断指令的持续时长,目标运行时长为虚拟机监视器保存和恢复目标操作系统的上下文信息所需的运行时长;然后,根据历史等待时长和目标运行时长的比较结果对目标操作系统被外围中断唤醒的时机进行预判;一方面,在历史等待时长小于目标运行时长的情况下,预判目标操作系统即将被外围中断唤醒,在释放目标操作系统对CPU的控制权的同时不让虚拟机监视器获取控制权,以使CPU进入低功耗模式,等待目标操作系统外围中断的发生,从而避免CPU重复保存和恢复操作系统上下文的动作,降低CPU的功耗,节约CPU的资源;另一方面,通过对低功耗模式设置超时机制,在目标操作系统预期的外围中断没有发生的情况下,唤醒CPU,即控制虚拟机监视器获取控制权并基于控制权,对目标操作系统进行上下文切换以恢复其他虚拟机操作系统的运行,从而避免CPU一直处于低功耗模式,无法运行其他任务,提升CPU的利用率。
本申请实施例提供了一种操作系统调度装置,如图7所示,上述装置包括:
获取模块710,用于当目标操作系统调用等待中断指令时,获取目标操作系统的历史等待时长和目标运行时长,历史等待时长为目标操作系统上一次调用等待中断指令的持续时长,目标运行时长为虚拟机监视器保存和恢复目标操作系统的上下文信息所需的运行时长;
判断模块720,用于判断历史等待时长是否小于目标运行时长;
低功耗模块730,用于在历史等待时长小于目标运行时长的情况下,释放目标操作系统对中央处理器的控制权,以使中央处理器进入低功耗模式。
在一个具体的实施例中,上述装置还可以包括:
第三时间确定模块,用于基于等待中断指令的目标指令地址,确定目标操作系统上一次调用等待中断指令的第三时间;
第四时间确定模块,用于确定目标操作系统结束上一次调用等待中断指令时的第四时间;
历史等待时长生成模块,用于基于第三时间和第四时间,生成历史等待时长;
保存模块,用于将目标指令地址和历史等待时长的绑定关系保存到历史等待时长查询链表。
相应的,上述获取模块710可以包括:
历史等待时长确定单元,用于从历史等待时长查询链表中确定与等待中断指令的目标指令地址对应的历史等待时长。
在一个具体的实施例中,上述装置还可以包括:
第五时间获取模块,用于获取虚拟机监视器保存目标操作系统的上下文信息的第五时间;
第六时间获取模块,用于获取虚拟机监视器恢复目标操作系统的上下文信息的第六时间;
目标运行时长生成模块,用于基于第五时间和第六时间,生成目标运行时长。
在一个具体的实施例中,上述装置还可以包括:
第一控制权模块,用于控制虚拟机监视器获取控制权;
第一上下文切换模块,用于控制虚拟机监视器基于控制权,对目标操作系统进行上下文切换。
在一个具体的实施例中,上述装置还可以包括:
上下文恢复模块,用于当目标操作系统接收到中断指令时,响应于中断指令,控制虚拟机监视器恢复目标操作系统的上下文信息;
第二控制权模块,用于控制目标操作系统获取控制权;
历史等待时长更新模块,用于基于目标操作系统调用等待中断指令的第一时间和接收到中断指令的第二时间,更新历史等待时长。
在一个可选的实施例中,上述装置还可以包括:
第二控制权模块,用于在历史等待时长不小于目标运行时长的情况下,控制虚拟机监视器获取控制权;
第二上下文切换模块,用于控制虚拟机监视器基于控制权,对目标操作系统进行上下文切换。
上述的装置实施例中的装置与方法实施例基于同样地发明构思。在此不再一一赘述。
本申请实施例提供了一种操作系统调度设备,该操作系统调度设备包括处理器和存储器,该存储器中存储有至少一条指令或至少一段程序,该至少一条指令或该至少一段程序由该处理器加载并执行以实现如上述方法实施例所提供的操作系统调度方法。
存储器可用于存储软件程序以及模块,处理器通过运行存储在存储器的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、功能所需的应用程序等;存储数据区可存储根据上述设备的使用所创建的数据等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器还可以包括存储器控制器,以提供处理器对存储器的访问。
本申请实施例所提供的方法实施例可以在移动终端、计算机终端、服务器或者类似的运算装置的操作系统中执行,即上述计算机设备可以包括移动终端、计算机终端、服务器或者类似的运算装置。以运行在服务器上为例,图8是本申请实施例提供的一种操作系统调度方法的服务器的硬件结构框图。如图8所示,该服务器800可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(Central Processing Units,CPU)810(处理器810可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)、用于存储数据的存储器830,一个或一个以上存储应用程序823或数据822的存储介质820(例如一个或一个以上海量存储设备)。其中,存储器830和存储介质820可以是短暂存储或持久存储。存储在存储介质820的程序可以包括一个或一个以上模块,每个模块可以包括对服务器中的一系列指令操作。更进一步地,中央处理器810可以设置为与存储介质820通信,在服务器800上执行存储介质820中的一系列指令操作。服务器800还可以包括一个或一个以上电源860,一个或一个以上有线或无线网络接口850,一个或一个以上输入输出接口840,和/或,一个或一个以上操作系统821,更进一步地,操作系统821可以为嵌入式操作系统,例如Linux、VxWorks、μC/OS-II等等。
输入输出接口840可以用于经由一个网络接收或者发送数据。上述的网络具体实例可包括服务器800的通信供应商提供的无线网络。在一个实例中,输入输出接口840包括一个网络适配器(Network Interface Controller,NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,输入输出接口840可以为射频(RadioFrequency,RF)模块,其用于通过无线方式与互联网进行通讯。
本领域普通技术人员可以理解,图8所示的结构仅为示意,其并不对上述电子装置的结构造成限定。例如,服务器800还可包括比图8中所示更多或者更少的组件,或者具有与图8所示不同的配置。
本申请实施例还提供了一种存储介质,上述存储介质可设置于服务器之中以保存用于实现方法实施例中一种的操作系统调度方法相关的至少一条指令或至少一段程序,该至少一条指令或该至少一段程序由该处理器加载并执行以实现上述方法实施例提供的操作系统调度方法。
可选地,在本实施例中,上述存储介质可以位于计算机网络的多个网络服务器中的至少一个网络服务器。可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
由上述本申请提供的操作系统调度方法、装置、设备或存储介质的实施例可见,利用本申请实施例提供的技术方案,利用本申请实施例提供的技术方案,当目标操作系统调用等待中断指令时,可以获取目标操作系统的历史等待时长和目标运行时长,历史等待时长为目标操作系统上一次调用等待中断指令的持续时长,目标运行时长为虚拟机监视器保存和恢复目标操作系统的上下文信息所需的运行时长;然后,根据历史等待时长和目标运行时长的比较结果对目标操作系统被外围中断唤醒的时机进行预判;一方面,在历史等待时长小于目标运行时长的情况下,预判目标操作系统即将被外围中断唤醒,在释放目标操作系统对CPU的控制权的同时不让虚拟机监视器获取控制权,以使CPU进入低功耗模式,等待目标操作系统外围中断的发生,从而避免CPU重复保存和恢复操作系统上下文的动作,降低CPU的功耗,节约CPU的资源;另一方面,通过对低功耗模式设置超时机制,在目标操作系统预期的外围中断没有发生的情况下,唤醒CPU,即控制虚拟机监视器获取控制权并基于控制权,对目标操作系统进行上下文切换以恢复其他虚拟机操作系统的运行,从而避免CPU一直处于低功耗模式,无法运行其他任务,提升CPU的利用率。
需要说明的是:上述本申请实施例先后顺序仅仅为了描述,不代表实施例的优劣。且上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置、设备和存储介质实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指示相关的硬件完成,上述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本申请的较佳实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (10)
1.一种操作系统调度方法,其特征在于,所述方法包括:
当目标操作系统调用等待中断指令时,获取所述目标操作系统的历史等待时长和目标运行时长,所述历史等待时长为所述目标操作系统上一次调用所述等待中断指令的持续时长,所述目标运行时长为虚拟机监视器保存和恢复所述目标操作系统的上下文信息所需的运行时长;
判断所述历史等待时长是否小于所述目标运行时长;
在所述历史等待时长小于所述目标运行时长的情况下,释放所述目标操作系统对中央处理器的控制权,以使所述中央处理器进入低功耗模式。
2.根据权利要求1所述的方法,其特征在于,在所述释放所述目标操作系统对中央处理器的控制权之后,所述方法还包括:
在所述目标操作系统当前调用所述等待中断指令的等待时长大于所述历史等待时长的情况下,控制所述虚拟机监视器获取所述控制权;
控制所述虚拟机监视器基于所述控制权,对所述目标操作系统进行上下文切换。
3.根据权利要求2所述的方法,其特征在于,在所述控制所述虚拟机监视器基于所述控制权,对所述目标操作系统进行上下文切换之后,所述方法还包括:
当所述目标操作系统接收到中断指令时,响应于所述中断指令,控制所述虚拟机监视器恢复所述目标操作系统的上下文信息;
控制所述目标操作系统获取所述控制权;
基于所述目标操作系统调用所述等待中断指令的第一时间和接收到所述中断指令的第二时间,更新所述历史等待时长。
4.根据权利要求1所述的方法,其特征在于,在所述判断所述历史等待时长是否小于所述目标运行时长之后,所述方法还包括:
在所述历史等待时长不小于所述目标运行时长的情况下,控制所述虚拟机监视器获取所述控制权;
控制所述虚拟机监视器基于所述控制权,对所述目标操作系统进行上下文切换。
5.根据权利要求1至4任一所述的方法,其特征在于,所述方法还包括:
基于所述等待中断指令的目标指令地址,确定所述目标操作系统上一次调用所述等待中断指令的第三时间;
确定所述目标操作系统结束上一次调用所述等待中断指令的第四时间;
基于所述第三时间和所述第四时间,生成所述历史等待时长;
将所述目标指令地址和所述历史等待时长的绑定关系保存到历史等待时长查询链表。
6.根据权利要求5所述的方法,其特征在于,所述获取所述目标操作系统的历史等待时长包括:
从所述历史等待时长查询链表中确定与所述等待中断指令的目标指令地址对应的历史等待时长。
7.根据权利要求1至4任一所述的方法,其特征在于,所述方法还包括:
获取所述虚拟机监视器保存所述目标操作系统的上下文信息的第五时间;
获取所述虚拟机监视器恢复所述目标操作系统的上下文信息的第六时间;
基于所述第五时间和所述第六时间,生成所述目标运行时长。
8.一种操作系统调度装置,特征在于,所述装置包括:
获取模块,用于当目标操作系统调用等待中断指令时,获取所述目标操作系统的历史等待时长和目标运行时长,所述历史等待时长为所述目标操作系统上一次调用所述等待中断指令的持续时长,所述目标运行时长为虚拟机监视器保存和恢复所述目标操作系统的上下文信息所需的运行时长;
判断模块,用于判断所述历史等待时长是否小于所述目标运行时长;
低功耗模块,用于在所述历史等待时长小于所述目标运行时长的情况下,释放所述目标操作系统对中央处理器的控制权,以使所述中央处理器进入低功耗模式。
9.一种操作系统调度设备,其特征在于,所述设备包括处理器和存储器,所述存储器中存储有至少一条指令或至少一段程序,所述至少一条指令或所述至少一段程序由所述处理器加载并执行以实现如权利要求1至7任一所述的操作系统调度方法。
10.一种计算机可读存储介质,其特征在于,所述存储介质中存储有至少一条指令或至少一段程序,所述至少一条指令或所述至少一段程序由处理器加载并执行以实现如权利要求1至7任一所述的操作系统调度方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111585690.8A CN114296915A (zh) | 2021-12-22 | 2021-12-22 | 一种操作系统调度方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111585690.8A CN114296915A (zh) | 2021-12-22 | 2021-12-22 | 一种操作系统调度方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114296915A true CN114296915A (zh) | 2022-04-08 |
Family
ID=80969592
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111585690.8A Pending CN114296915A (zh) | 2021-12-22 | 2021-12-22 | 一种操作系统调度方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114296915A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117348576A (zh) * | 2023-12-04 | 2024-01-05 | 深圳恒越机电设备有限公司 | 一种应用于测试分选机的智能化控制系统及方法 |
-
2021
- 2021-12-22 CN CN202111585690.8A patent/CN114296915A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117348576A (zh) * | 2023-12-04 | 2024-01-05 | 深圳恒越机电设备有限公司 | 一种应用于测试分选机的智能化控制系统及方法 |
CN117348576B (zh) * | 2023-12-04 | 2024-02-13 | 深圳恒越机电设备有限公司 | 一种应用于测试分选机的智能化控制系统及方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Machida et al. | Modeling and analysis of software rejuvenation in a server virtualized system with live VM migration | |
EP1769351B1 (en) | Method, software and apparatus for using application state history information when re-launching applications | |
US7844853B2 (en) | Methods and apparatus for restoring a node state | |
CN102103406B (zh) | 操作系统无关的网络事件处理 | |
EP2169514B1 (en) | Methods and systems to perform a computer task in a reduced power consumption state | |
EP2492810A1 (en) | Method and device for managing operating systems in embedded system | |
US20140344620A1 (en) | Shutdown method, startup method, and communication terminal | |
KR101780052B1 (ko) | 정보처리 시스템에서 운영체제 전환방법 | |
CN105190555A (zh) | 集中式任务调度 | |
CN102326132A (zh) | 最大化虚拟机平台的降低功率状态的电源管理 | |
US10860363B1 (en) | Managing virtual machine hibernation state incompatibility with underlying host configurations | |
CN104969190B (zh) | 多核心二进制转换任务处理 | |
CN102810071A (zh) | 控制方法、控制装置以及计算机 | |
WO2014139379A1 (zh) | 一种异构操作系统中内核运行的方法及装置 | |
CN114296915A (zh) | 一种操作系统调度方法、装置、设备及存储介质 | |
Zhang et al. | CloudGC: Recycling idle virtual machines in the cloud | |
WO2017052868A1 (en) | Method and apparatus for dynamically offloading execution of machine code in an application to a virtual machine | |
CN108196934B (zh) | 一种定时器的定时设置方法、装置和虚拟化设备 | |
CN113238832A (zh) | 虚拟处理器的调度方法、装置、设备及计算机存储介质 | |
CN114090196A (zh) | 一种协程切换的方法、装置及设备 | |
US8291419B2 (en) | Fault tolerant system for execution of parallel jobs | |
CN114064128B (zh) | 内核重启方法 | |
CN101349975A (zh) | 实现中断底半部机制的方法及嵌入式系统 | |
Sawada et al. | An android cluster system capable of dynamic node reconfiguration | |
CN102385529B (zh) | 多cpu领域移动电子装置与其操作方法 |
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 |