一种计算机及虚拟环境中的任务调度方法

文档序号:6470839阅读:150来源:国知局
专利名称:一种计算机及虚拟环境中的任务调度方法
技术领域
本发明涉及计算机领域,特别是指一种计算机及虚拟环境中的任务调度方法。
背景技术
在计算机的虚拟技术领域中,虚拟机的架构通常如图1所示,包括硬件平
台,安装在硬件平台上的虚拟机管理器(如VMM、 Hyperviser等),安装在虚 拟机管理器上的多个操作系统,如图中的第一操作系统和第二操作系统,这些 操作系统之间是相互隔离的,虚拟机管理器分别为这些操作系统分别虚拟出相 应的硬件,来支持该操作系统的运行,第一操作系统中运行的任务和第二操作 系统中运行的任务互不影响,用户通常在其中 一个操作系统中运行专门的任 务,如用户选择利用第二操作系统专门运行多媒体应用程序等,而第一操作系 统专门用来上网或者对计算机的硬件直接进行操作等。
在上述架构中,当第一操作系统正在运行一个任务时,此时用户需要切换 到第二操作系统运行另一任务,如,可以是多媒体任务或者用户输入的任务,
该多媒体任务如果要想得到及时处理,则虚拟机管理器就应该立即将对计算机 CPU资源的使用从第一操作系统切换到第二操作系统。然而,如图2所示, 目前的虚拟机管理器在第一操作系统和第二操作系统之间任务的调度算法是 等到第一才乘作系统的任务完成后,才有可能响应第二操作系统的任务的中断请 求,也就是说,在第二操作系统的任务的中断请求到达时,第一操作系统的任 务正在占用第一时间片(CPU的一个时间片通常为30ms ),该任务不会停止 执行,后续的若千个时间片可能都会被第一操作系统的任务使用,第二操作系 统也不会被调度,直到第一操作系统的任务结束时,该第二操作系统才可能被 调度,响应第二操作系统的中断请求,但也可能继续调度第一操作系统,这样 就使第二操作系统的任务的中断请求得不到及时响应。虚拟机管理器在调度操作系统的任务的中断时,只考虑到了操作系统对CPU占用的时间片的多少,
而没有考虑到操作系统的任务的中断请求响应的及时性,针对第二操作系统的 任务的中断请求,就会造成第二操作系统的任务得不到及时处理,对于多媒体 任务来讲,就会出现画面和/或声音的停顿。
发明人在实现本发明的过程中,发现现有技术中至少存在如下问题 虚拟机系统中,第一操作系统的任务正在运行时,第二操作系统有任务的
中断要处理,由于第二操作系统得不到虚拟机管理器的调度,因此第二操作系
统的任务的中断得不到及时响应。

发明内容
本发明要解决的技术问题是提供一种计算机及虚拟环境中的任务调度方 法,使第二操作系统的任务的中断得到及时响应处理,保证第二操作系统运行 的稳定性。
为解决上述技术问题,本发明的实施例提供技术方案如下
一种计算机,包括
硬件平台,包括CPU;
虚拟机管理器,安装在所述硬件平台上;
第一才乘作单元,安装有第一操作系统,所述第一操作系统安装在所述虚拟 机管理器上;
第二操作单元,安装有第二操作系统,所述第二操作系统安装在所述虚拟 机管理器上;所述虚拟机管理器包括
第一处理单元,用于在接收到所述第二操作系统的任务的中断请求时,停 止对所述第 一操作系统的任务的调度处理;
调度单元,用于在所述第一操作系统的任务当前占用所述CPU的时间片 结束时,调度所述第二操作系统响应所述第二操作系统的任务的中断请求。
优选的,所述虛拟机管理器还包括
第二处理单元,用于在所述第一处理单元停止对所述第一操作系统的任务 的调度处理时,缩短所述第一操作系统的任务当前占用所述CPU的时间片的
5长度,并将所述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;虚拟机管理器,安装在硬件平台上;第一操作单元,安装有第一 操作系统,第一l喿作系统安装在虚拟机管理器上;第二操作单元,安装有第二 操作系统,第二操作系统安装在虚拟机管理器上;其中,所述虚拟机管理器包 括第一处理单元,用于在接收到第二操作系统的任务的中断请求时,停止对 第一操作系统的任务的调度处理;调度单元,用于在第一操作系统的任务当前 占用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所示,本发明的实施例还提供一种虚拟环境中的任务调度方法,包
9括
步骤S81,在接收到第二操作系统的任务的中断请求时,停止对第一操作 系统的任务的调度处理;具体来讲,可以产生阻塞命令,如Block命令,并根 据阻塞命令停止对第 一操作系统的任务的调度处理;
步骤S82,在第一操作系统的任务当前占用所述CPU的时间片结束时, 调度第二操作系统响应所述第二操作系统的任务的中断请求。
步骤S81之后还包括缩短所述第一操作系统的任务当前占用CPU的时 间片的长度,并将CPU的下一个时间片分配给第二操作系统的任务的中断使 用,具体来讲,可调用中断处理函数,如Do一IRQ函数,根据中断处理函数缩 短第一操作系统的任务当前占用所述CPU的时间片的长度。
步骤S82之后还包括解除所述第一处理单元停止对所述第一操作系统的 任务的调度处理。
该方法实施例通过在第二操作系统的任务的中断到达时,强制调度第二操 作系统,停止对第一操作系统的调度,并最大限度在缩短当前第一搡作系统的 任务占用CPU的时间片,并将CPU时间片分配给当前要处理中断的第二操作 系统的任务,这样,使第二操作系统的任务的中断请求到达时,该第二操作系 统能够及时得到虚拟机管理器的调度,同时也能够尽快地得到虚拟机管理器为 该第二操作系统分配的时间片,使该第二操作系统的任务的中断请求得到及时 处理,保证了第二操作系统运行的稳定性。
以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技 术人员来说,在不脱离本发明所述原理的前提下,还可以作出若干改进和润饰, 这些改进和润饰也应视为本发明的保护范围。
权利要求
1.一种计算机,包括硬件平台,包括CPU;虚拟机管理器,安装在所述硬件平台上;第一操作单元,安装有第一操作系统,所述第一操作系统安装在所述虚拟机管理器上;第二操作单元,安装有第二操作系统,所述第二操作系统安装在所述虚拟机管理器上;其特征在于,所述虚拟机管理器包括第一处理单元,用于在接收到所述第二操作系统的任务的中断请求时,停止对所述第一操作系统的任务的调度处理;调度单元,用于在所述第一操作系统的任务当前占用所述CPU的时间片结束时,调度所述第二操作系统响应所述第二操作系统的任务的中断请求。
2. 根据权利要求1所述的计算机,其特征在于,所述虚拟机管理器还包括第二处理单元,用于在所述第一处理单元停止对所述第一操作系统的任务 的调度处理时,缩短所述第一操作系统的任务当前占用所述CPU的时间片的 长度,并将所述CPU的下一个时间片分配给所述第二操作系统的任务的中断 使用。
3. 根据权利要求1所述的计算机,其特征在于,所述虚拟机管理器还包括第三处理单元,用于在所述调度单元调度所述第二操作系统响应所述第二 操作系统的任务的中断请求之后,解除所述第一处理单元停止对所述第一操作 系统的任务的调度处理。 -
4. 根据权利要求1所述的计算 fe/L,其特征在于,所述第一处理单元具体为阻塞单元,用于在接收到所述第二操作系统的任务的中断请求时,产生阻 塞命令,并根据所述阻塞命令停止对所述第一操作系统的任务的调度处理。
5. 根据权利要求2所述的计算机,其特征在于,所述第二处理单元具体为中断处理才莫块,用于在所述第一处理单元停止对所述第一操作系统的任务 的调度处理时,调用中断处理函数,根据所述中断处理函数缩短所述第一操作 系统的任务当前占用所述CPU的时间片的长度,并将所述CPU的下一个时间片分配给所述第二操作系统的任务的中断使用。
6. —种虚拟环境中的任务调度方法,其特征在于,包括.-在接收到第二操作系统的任务的中断请求时,停止对第 一操作系统的任务 的调度处理;在所述第一操作系统的任务当前占用所述CPU的时间片结束时,调度所 述第二操作系统响应所述第二操作系统的任务的中断请求。
7. 根据权利要求6所述的方法,其特征在于,在接收到第二4喿作系统的 任务的中断请求时,停止对第一操作系统的任务的调度处理的步骤之后还包 括缩短所述第一操作系统的任务当前占用所述CPU的时间片的长度,并将 所述CPU的下一个时间片分配给所述第二操作系统的任务的中断使用。
8. 根据权利要求6所述的方法,其特征在于,在所述第一操作系统的任 务当前占用所述CPU的时间片结束时,调度所述第二才喿作系统响应所述第二 操作系统的任务的中断请求的步骤之后还包括解除所述第一处理单元停止对所述第一操作系统的任务的调度处理。
9. 根据权利要求6所述的方法,其特征在于,所述停止对第一操作系统 的任务的调度处理具体为产生阻塞命令,并根据所述阻塞命令停止对所述第一操作系统的任务的调 度处理。
10. 根据权利要求7所述的方法,其特征在于,所述缩短所述第一操作系 统的任务当前占用所述CPU的时间片的长度具体为调用中断处理函数,根据所述中断处理函数缩短所述第一操作系统的任务 当前占用所述CPU的时间片的长度。
全文摘要
本发明提供一种计算机及虚拟环境中的任务调度方法,其中计算机包括硬件平台,包括CPU;虚拟机管理器,安装在硬件平台上;第一操作单元,安装有第一操作系统,第一操作系统安装在虚拟机管理器上;第二操作单元,安装有第二操作系统,第二操作系统安装在虚拟机管理器上;虚拟机管理器包括第一处理单元,用于在接收到第二操作系统的任务的中断请求时,停止对第一操作系统的任务的调度处理;调度单元,用于在第一操作系统的任务当前占用CPU的时间片结束时,调度第二操作系统响应第二操作系统的任务的中断请求。该方案使第二操作系统的任务的中断请求得到及时响应。
文档编号G06F9/48GK101685407SQ20081022329
公开日2010年3月31日 申请日期2008年9月28日 优先权日2008年9月28日
发明者良 汤, 顾正华 申请人:联想(北京)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1