CN101685407A - 一种计算机及虚拟环境中的任务调度方法 - Google Patents
一种计算机及虚拟环境中的任务调度方法 Download PDFInfo
- Publication number
- CN101685407A CN101685407A CN 200810223296 CN200810223296A CN101685407A CN 101685407 A CN101685407 A CN 101685407A CN 200810223296 CN200810223296 CN 200810223296 CN 200810223296 A CN200810223296 A CN 200810223296A CN 101685407 A CN101685407 A CN 101685407A
- Authority
- CN
- China
- Prior art keywords
- operating system
- task
- scheduling
- cpu
- timeslice
- 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
Landscapes
- Debugging And Monitoring (AREA)
Abstract
本发明提供一种计算机及虚拟环境中的任务调度方法,其中计算机包括:硬件平台,包括CPU;虚拟机管理器,安装在硬件平台上;第一操作单元,安装有第一操作系统,第一操作系统安装在虚拟机管理器上;第二操作单元,安装有第二操作系统,第二操作系统安装在虚拟机管理器上;虚拟机管理器包括:第一处理单元,用于在接收到第二操作系统的任务的中断请求时,停止对第一操作系统的任务的调度处理;调度单元,用于在第一操作系统的任务当前占用CPU的时间片结束时,调度第二操作系统响应第二操作系统的任务的中断请求。该方案使第二操作系统的任务的中断请求得到及时响应。
Description
技术领域
本发明涉及计算机领域,特别是指一种计算机及虚拟环境中的任务调度方法。
背景技术
在计算机的虚拟技术领域中,虚拟机的架构通常如图1所示,包括硬件平台,安装在硬件平台上的虚拟机管理器(如VMM、Hyperviser等),安装在虚拟机管理器上的多个操作系统,如图中的第一操作系统和第二操作系统,这些操作系统之间是相互隔离的,虚拟机管理器分别为这些操作系统分别虚拟出相应的硬件,来支持该操作系统的运行,第一操作系统中运行的任务和第二操作系统中运行的任务互不影响,用户通常在其中一个操作系统中运行专门的任务,如用户选择利用第二操作系统专门运行多媒体应用程序等,而第一操作系统专门用来上网或者对计算机的硬件直接进行操作等。
在上述架构中,当第一操作系统正在运行一个任务时,此时用户需要切换到第二操作系统运行另一任务,如,可以是多媒体任务或者用户输入的任务,该多媒体任务如果要想得到及时处理,则虚拟机管理器就应该立即将对计算机CPU资源的使用从第一操作系统切换到第二操作系统。然而,如图2所示,目前的虚拟机管理器在第一操作系统和第二操作系统之间任务的调度算法是:等到第一操作系统的任务完成后,才有可能响应第二操作系统的任务的中断请求,也就是说,在第二操作系统的任务的中断请求到达时,第一操作系统的任务正在占用第一时间片(CPU的一个时间片通常为30ms),该任务不会停止执行,后续的若干个时间片可能都会被第一操作系统的任务使用,第二操作系统也不会被调度,直到第一操作系统的任务结束时,该第二操作系统才可能被调度,响应第二操作系统的中断请求,但也可能继续调度第一操作系统,这样就使第二操作系统的任务的中断请求得不到及时响应。虚拟机管理器在调度操作系统的任务的中断时,只考虑到了操作系统对CPU占用的时间片的多少,而没有考虑到操作系统的任务的中断请求响应的及时性,针对第二操作系统的任务的中断请求,就会造成第二操作系统的任务得不到及时处理,对于多媒体任务来讲,就会出现画面和/或声音的停顿。
发明人在实现本发明的过程中,发现现有技术中至少存在如下问题:
虚拟机系统中,第一操作系统的任务正在运行时,第二操作系统有任务的中断要处理,由于第二操作系统得不到虚拟机管理器的调度,因此第二操作系统的任务的中断得不到及时响应。
发明内容
本发明要解决的技术问题是提供一种计算机及虚拟环境中的任务调度方法,使第二操作系统的任务的中断得到及时响应处理,保证第二操作系统运行的稳定性。
为解决上述技术问题,本发明的实施例提供技术方案如下:
一种计算机,包括:
硬件平台,包括CPU;
虚拟机管理器,安装在所述硬件平台上;
第一操作单元,安装有第一操作系统,所述第一操作系统安装在所述虚拟机管理器上;
第二操作单元,安装有第二操作系统,所述第二操作系统安装在所述虚拟机管理器上;所述虚拟机管理器包括:
第一处理单元,用于在接收到所述第二操作系统的任务的中断请求时,停止对所述第一操作系统的任务的调度处理;
调度单元,用于在所述第一操作系统的任务当前占用所述CPU的时间片结束时,调度所述第二操作系统响应所述第二操作系统的任务的中断请求。
优选的,所述虚拟机管理器还包括:
第二处理单元,用于在所述第一处理单元停止对所述第一操作系统的任务的调度处理时,缩短所述第一操作系统的任务当前占用所述CPU的时间片的长度,并将所述CPU的下一个时间片分配给所述第二操作系统的任务的中断使用。
优选的,所述虚拟机管理器还包括:
第三处理单元,用于在所述调度单元调度所述第二操作系统响应所述第二操作系统的任务的中断请求之后,解除所述第一处理单元停止对所述第一操作系统的任务的调度处理。
优选的,所述第一处理单元具体为:
阻塞单元,用于在接收到所述第二操作系统的任务的中断请求时,产生阻塞命令,并根据所述阻塞命令停止对所述第一操作系统的任务的调度处理。
优选的,所述第二处理单元具体为:
中断处理模块,用于在所述第一处理单元停止对所述第一操作系统的任务的调度处理时,调用中断处理函数,根据所述中断处理函数缩短所述第一操作系统的任务当前占用所述CPU的时间片的长度,并将所述CPU的下一个时间片分配给所述第二操作系统的任务的中断使用。
本发明的实施例还提供一种虚拟环境中的任务调度方法,包括:
在接收到第二操作系统的任务的中断请求时,停止对第一操作系统的任务的调度处理;
在所述第一操作系统的任务当前占用所述CPU的时间片结束时,调度所述第二操作系统响应所述第二操作系统的任务的中断请求。
优选的,在接收到第二操作系统的任务的中断请求时,停止对第一操作系统的任务的调度处理的步骤之后还包括:
缩短所述第一操作系统的任务当前占用所述CPU的时间片的长度,并将所述CPU的下一个时间片分配给所述第二操作系统的任务的中断使用。
优选的,在所述第一操作系统的任务当前占用所述CPU的时间片结束时,调度所述第二操作系统响应所述第二操作系统的任务的中断请求的步骤之后还包括:
解除所述第一处理单元停止对所述第一操作系统的任务的调度处理。
优选的,所述停止对第一操作系统的任务的调度处理具体为:
产生阻塞命令,并根据所述阻塞命令停止对所述第一操作系统的任务的调度处理。
优选的,所述缩短所述第一操作系统的任务当前占用所述CPU的时间片的长度具体为:
调用中断处理函数,根据所述中断处理函数缩短所述第一操作系统的任务当前占用所述CPU的时间片的长度。
本发明的实施例具有以下有益效果:
上述方案在第二操作系统的任务的中断请求到达时,强制调度第二操作系统,停止对第一操作系统的调度,并最大限度在缩短当前第一操作系统的任务占用CPU的时间片,并将CPU时间片分配给当前要处理中断请求的第二操作系统的任务,使该第二操作系统的任务的中断请求得到及时响应。
附图说明
图1为现有的虚拟机系统结构示意图;
图2为现有的虚拟机系统中,各操作系统对CPU时间片的调度情况示意图;
图3为本发明的实施例计算机的结构示意图;
图4为图3所示计算机的一实施例结构示意图;
图5为图4所示计算机的一实施例结构示意图;
图6为本发明的实施例计算机中,各操作系统对CPU时间片的调度情况示意图;
图7为图5所示计算机对CPU时间片的调度情况示意图;
图8为本发明的实施例虚拟环境中的任务调度方法流程示意图。
具体实施方式
为使本发明的实施例要解决的技术问题、技术方案和优点更加清楚,下面将结合附图及具体实施例进行详细描述。
本发明的实施例针对现有虚拟机系统中第二操作系统的任务的中断请求得不到及时响应的问题,提供一种计算机及虚拟环境中的任务调度方法。
如图3所示,本发明的实施例计算机,包括:硬件平台,该硬件平台至少包括CPU;虚拟机管理器,安装在硬件平台上;第一操作单元,安装有第一操作系统,第一操作系统安装在虚拟机管理器上;第二操作单元,安装有第二操作系统,第二操作系统安装在虚拟机管理器上;其中,所述虚拟机管理器包括:第一处理单元,用于在接收到第二操作系统的任务的中断请求时,停止对第一操作系统的任务的调度处理;调度单元,用于在第一操作系统的任务当前占用CPU的时间片结束时,调度第二操作系统响应第二操作系统的任务的中断请求。这里的第一处理单元,具体来讲,可以是一阻塞单元,用于在接收到第二操作系统的任务的中断请求时,产生阻塞命令,如Block命令,并根据阻塞命令停止对第一操作系统的任务的调度处理,阻塞第一操作系统,强制调度第二操作系统,将下一个时间片分配给第二操作系统的任务使用,这样使该第二操作系统的任务的中断请求得到及时响应,保证了第二操作系统运行的稳定性。
如图4所示,在本发明的另一实施例中,上述虚拟机管理器还包括:第二处理单元,用于在第一处理单元停止对第一操作系统的任务的调度处理时,缩短第一操作系统的任务当前占用CPU的时间片的长度,并将CPU的下一个时间片分配给第二操作系统的任务的中断使用。具体来讲,该第二处理单元可以为中断处理模块,用于在第一处理单元停止对第一操作系统的任务的调度处理时,调用中断处理函数,如Do_IRQ函数,根据中断处理函数缩短第一操作系统的任务当前占用所述CPU的时间片的长度,并将CPU的下一个时间片分配给第二操作系统的任务的中断使用。在第二操作系统的任务的中断请求得到调度的同时,最大限度地缩短当前第一操作系统的任务占用CPU的时间片,使第一操作系统立即结束对CPU时间片的占用,并将CPU时间片分配给当前要处理中断的第二操作系统的任务,这样,使第二操作系统的任务的中断请求到达时,该第二操作系统能够及时得到虚拟机管理器的调度,同时也能够尽快地得到虚拟机管理器为该第二操作系统分配的时间片,使该第二操作系统的任务的中断请求得到及时响应。
如图5所示,在本发明的又一实施例中,上述虚拟机管理器还包括:第三处理单元,用于在调度单元调度第二操作系统响应第二操作系统的任务的中断请求之后,解除第一处理单元停止对所述第一操作系统的任务的调度处理。这样使第二操作系统的任务结束时,第一操作系统还能够继续得到虚拟机管理器的调度,并继续处理该第一操作系统的任务,使整个计算机系统运行具有稳定性。
如图6所示,为上述实施例中,各操作系统对CPU时间片的调度情况示意图;在第一操作系统的任务所占用的CPU的时间片30ms还没有结束时,第二操作系统的任务的中断请求到达,则该第一操作系统当前占用的CPU的时间片就会被缩短,第二操作系统立即得到调度,并开始占用CPU的时间片,响应该第二操作系统的任务的中断请求。
如图7所示,为上述图4所示实施例响应第二操作系统的中断请求的情况示意图,第一操作系统的任务占用CPU的时间片正在运行,第二操作系统的任务的中断请求到达,虚拟机管理器就会立即停止对第一操作系统的调度,开始调度第二操作系统,即停止第一操作系统使用下一个CPU的时间片,而是将下一个时间片分配给第二操作系统使用,为了使第二操作系统能够更加及时在响应该到达的任务的中断请求,虚拟机管理器还缩短当前第一操作系统当前占用CPU的时间片,使第一操作系统尽快保存当前任务的处理结果,停止对当前CPU时间片的占用,并分配给第二操作系统的任务使用,这样使第二操作系统的中断请求得到及时处理和响应,在第二操作系统的任务结束时,还需要使第一操作系统能够继续运行该第一操作系统的任务,因此,虚拟机管理器通常在调度第二操作系统后,还应该解除对第一操作系统的停止调度,使整个计算机系统正常运行得到保证。
综上,上述实施例通过在虚拟机管理器增加一些处理模块,在第二操作系统的任务的中断请求到达时,能够及时调度第二操作系统,同时缩短第一操作系统的任务所占用的CPU的时间片,使第二操作系统的任务的中断请求能够得到及时响应,保证第二操作系统运行的稳定性。
如图8所示,本发明的实施例还提供一种虚拟环境中的任务调度方法,包括:
步骤S81,在接收到第二操作系统的任务的中断请求时,停止对第一操作系统的任务的调度处理;具体来讲,可以产生阻塞命令,如Block命令,并根据阻塞命令停止对第一操作系统的任务的调度处理;
步骤S82,在第一操作系统的任务当前占用所述CPU的时间片结束时,调度第二操作系统响应所述第二操作系统的任务的中断请求。
步骤S81之后还包括:缩短所述第一操作系统的任务当前占用CPU的时间片的长度,并将CPU的下一个时间片分配给第二操作系统的任务的中断使用,具体来讲,可调用中断处理函数,如Do_IRQ函数,根据中断处理函数缩短第一操作系统的任务当前占用所述CPU的时间片的长度。
步骤S82之后还包括:解除所述第一处理单元停止对所述第一操作系统的任务的调度处理。
该方法实施例通过在第二操作系统的任务的中断到达时,强制调度第二操作系统,停止对第一操作系统的调度,并最大限度在缩短当前第一操作系统的任务占用CPU的时间片,并将CPU时间片分配给当前要处理中断的第二操作系统的任务,这样,使第二操作系统的任务的中断请求到达时,该第二操作系统能够及时得到虚拟机管理器的调度,同时也能够尽快地得到虚拟机管理器为该第二操作系统分配的时间片,使该第二操作系统的任务的中断请求得到及时处理,保证了第二操作系统运行的稳定性。
以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明所述原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (10)
1.一种计算机,包括:
硬件平台,包括CPU;
虚拟机管理器,安装在所述硬件平台上;
第一操作单元,安装有第一操作系统,所述第一操作系统安装在所述虚拟机管理器上;
第二操作单元,安装有第二操作系统,所述第二操作系统安装在所述虚拟机管理器上;其特征在于,所述虚拟机管理器包括:
第一处理单元,用于在接收到所述第二操作系统的任务的中断请求时,停止对所述第一操作系统的任务的调度处理;
调度单元,用于在所述第一操作系统的任务当前占用所述CPU的时间片结束时,调度所述第二操作系统响应所述第二操作系统的任务的中断请求。
2.根据权利要求1所述的计算机,其特征在于,所述虚拟机管理器还包括:
第二处理单元,用于在所述第一处理单元停止对所述第一操作系统的任务的调度处理时,缩短所述第一操作系统的任务当前占用所述CPU的时间片的长度,并将所述CPU的下一个时间片分配给所述第二操作系统的任务的中断使用。
3.根据权利要求1所述的计算机,其特征在于,所述虚拟机管理器还包括:
第三处理单元,用于在所述调度单元调度所述第二操作系统响应所述第二操作系统的任务的中断请求之后,解除所述第一处理单元停止对所述第一操作系统的任务的调度处理。
4.根据权利要求1所述的计算机,其特征在于,所述第一处理单元具体为:
阻塞单元,用于在接收到所述第二操作系统的任务的中断请求时,产生阻塞命令,并根据所述阻塞命令停止对所述第一操作系统的任务的调度处理。
5.根据权利要求2所述的计算机,其特征在于,所述第二处理单元具体为:
中断处理模块,用于在所述第一处理单元停止对所述第一操作系统的任务的调度处理时,调用中断处理函数,根据所述中断处理函数缩短所述第一操作系统的任务当前占用所述CPU的时间片的长度,并将所述CPU的下一个时间片分配给所述第二操作系统的任务的中断使用。
6.一种虚拟环境中的任务调度方法,其特征在于,包括:
在接收到第二操作系统的任务的中断请求时,停止对第一操作系统的任务的调度处理;
在所述第一操作系统的任务当前占用所述CPU的时间片结束时,调度所述第二操作系统响应所述第二操作系统的任务的中断请求。
7.根据权利要求6所述的方法,其特征在于,在接收到第二操作系统的任务的中断请求时,停止对第一操作系统的任务的调度处理的步骤之后还包括:
缩短所述第一操作系统的任务当前占用所述CPU的时间片的长度,并将所述CPU的下一个时间片分配给所述第二操作系统的任务的中断使用。
8.根据权利要求6所述的方法,其特征在于,在所述第一操作系统的任务当前占用所述CPU的时间片结束时,调度所述第二操作系统响应所述第二操作系统的任务的中断请求的步骤之后还包括:
解除所述第一处理单元停止对所述第一操作系统的任务的调度处理。
9.根据权利要求6所述的方法,其特征在于,所述停止对第一操作系统的任务的调度处理具体为:
产生阻塞命令,并根据所述阻塞命令停止对所述第一操作系统的任务的调度处理。
10.根据权利要求7所述的方法,其特征在于,所述缩短所述第一操作系统的任务当前占用所述CPU的时间片的长度具体为:
调用中断处理函数,根据所述中断处理函数缩短所述第一操作系统的任务当前占用所述CPU的时间片的长度。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200810223296 CN101685407B (zh) | 2008-09-28 | 2008-09-28 | 一种虚拟环境中的任务调度系统方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200810223296 CN101685407B (zh) | 2008-09-28 | 2008-09-28 | 一种虚拟环境中的任务调度系统方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101685407A true CN101685407A (zh) | 2010-03-31 |
CN101685407B CN101685407B (zh) | 2013-01-16 |
Family
ID=42048574
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 200810223296 Active CN101685407B (zh) | 2008-09-28 | 2008-09-28 | 一种虚拟环境中的任务调度系统方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101685407B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101944044A (zh) * | 2010-09-28 | 2011-01-12 | 凌阳科技股份有限公司 | 虚拟中断方法及装置 |
CN102609307A (zh) * | 2012-03-07 | 2012-07-25 | 汉柏科技有限公司 | 多核多线程双操作系统网络设备及其控制方法 |
WO2016074616A1 (en) * | 2014-11-13 | 2016-05-19 | Mediatek Inc. | Dual-system architecture with fast recovery and switching of operating system |
CN109032029A (zh) * | 2018-08-14 | 2018-12-18 | 北京东土科技股份有限公司 | 工业服务器对外通信方法、系统、装置及工业服务器 |
WO2023173896A1 (zh) * | 2022-03-15 | 2023-09-21 | 华为技术有限公司 | 通信方法、电子设备及可读存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100511151C (zh) * | 2007-12-05 | 2009-07-08 | 华为技术有限公司 | 多路多核服务器及其cpu的虚拟化处理方法 |
-
2008
- 2008-09-28 CN CN 200810223296 patent/CN101685407B/zh active Active
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101944044A (zh) * | 2010-09-28 | 2011-01-12 | 凌阳科技股份有限公司 | 虚拟中断方法及装置 |
CN102609307A (zh) * | 2012-03-07 | 2012-07-25 | 汉柏科技有限公司 | 多核多线程双操作系统网络设备及其控制方法 |
WO2016074616A1 (en) * | 2014-11-13 | 2016-05-19 | Mediatek Inc. | Dual-system architecture with fast recovery and switching of operating system |
CN109032029A (zh) * | 2018-08-14 | 2018-12-18 | 北京东土科技股份有限公司 | 工业服务器对外通信方法、系统、装置及工业服务器 |
WO2023173896A1 (zh) * | 2022-03-15 | 2023-09-21 | 华为技术有限公司 | 通信方法、电子设备及可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN101685407B (zh) | 2013-01-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7493436B2 (en) | Interrupt handling using simultaneous multi-threading | |
CN101685407B (zh) | 一种虚拟环境中的任务调度系统方法 | |
CN102317917B (zh) | 热点域虚拟机cpu调度方法及虚拟机系统 | |
CN101553792B (zh) | 虚拟化环境中的经优化的中断传递 | |
US8261284B2 (en) | Fast context switching using virtual cpus | |
CN104598426A (zh) | 用于异构多核处理器系统的任务调度方法 | |
US20080320194A1 (en) | Monitored notification facility for reducing inter-process / inter-partition interrupts | |
CN101620547B (zh) | X86计算机虚拟化的物理中断处理方法 | |
CN103870332B (zh) | 虚拟机处理器资源的调整方法、装置与虚拟机系统 | |
CN102792274A (zh) | 多环境操作系统 | |
CN103744716A (zh) | 一种基于当前vcpu调度状态的动态中断均衡映射方法 | |
CN102934085A (zh) | 在多环境操作系统中多个环境之间切换的系统和方法 | |
CN111324432B (zh) | 处理器调度方法、装置、服务器及存储介质 | |
US8381210B2 (en) | Method and computer for synchronous scheduling of multiple virtual CPUs | |
CN101246438A (zh) | 一种对称多处理系统中进程与中断的处理方法及装置 | |
CN102455940A (zh) | 一种定时器和异步事件的处理方法及系统 | |
CN102855156A (zh) | 一种中断控制器及中断控制方法 | |
CN113010275A (zh) | 一种中断处理方法和装置 | |
KR20150114444A (ko) | 실시간 운영 체제에서 스택 메모리 관리를 제공하는 방법 및 시스템 | |
CN101685404A (zh) | 一种计算机及虚拟环境中设备动态切换方法 | |
CN104375745A (zh) | 一种任务界面处理方法、装置及终端 | |
CN101482829A (zh) | 集群系统、处理装置及集群系统冗余方法 | |
CN102073686A (zh) | 一种页面文件的垂直动态加载方法及装置 | |
CN100468342C (zh) | 基于硬件资源的多核多中央处理器的执行绪分配方法 | |
CN111176806A (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 | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |