[发明专利]虚拟化操作系统中的调度方法和装置在审
申请号: | 201110378071.1 | 申请日: | 2011-11-24 |
公开(公告)号: | CN103136045A | 公开(公告)日: | 2013-06-05 |
发明(设计)人: | 党茂昌 | 申请(专利权)人: | 中兴通讯股份有限公司 |
主分类号: | G06F9/48 | 分类号: | G06F9/48 |
代理公司: | 北京康信知识产权代理有限责任公司 11240 | 代理人: | 余刚;梁丽超 |
地址: | 518057 广*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 虚拟 操作系统 中的 调度 方法 装置 | ||
技术领域
本发明涉及通信领域,具体而言,涉及一种虚拟化操作系统中的调度方法和装置。
背景技术
在计算机操作系统中,经常会使用虚拟化软件技术,例如,虚拟化操作系统。如附图1所示的虚拟化操作系统的结构示意图,它运行于单个硬件中央处理器(Central Processing Unit,简称为CPU)CPU之上,Domain调度器调度2个或多个Domain(GuestOS)同时运行。该虚拟化操作系统(hypervisor,也称为总虚拟化操作系统)可以实现单CPU上多个操作系统(GuestOS,也称子操作系统或任务操作系统)在相互隔离的内存域(Domain)中同时运行;其系统调度采用二级调度策略,GuestOS拥有自己的任务调度器,GuestOS处于task run(任务运行)和idle(空闲)状态。Domain处于run(运行)和ready(准备)两种状态。虚拟化操作系统对GuestOS(domain)进行第一级调度,GuestOS对自身的任务进行第二级调度,其中,第一级调度过程中采用第一级调度器,即图1中的Domain调度器(内存域调度器);第二级调度过程中采用第二级调度器,即图1中的任务调度器。
上述第一级调度器和第二级调度器上的调度策略通常是基于时间片的调度方法,例如,最早截止时间优先(Simply Earlist Deadline First,简称为SEDF)、BVT(Borrowed Virtual Time)、ARR、Credit scheduler等,这种时间片的调度方法采用轮询方式实现对各个子操作系统的调度,因此其通常应用于实时性要求较低的场合(如网络服务器等)。对于实时性要求比较高的场合(如手机等),该调度策略的实时性难以满足系统要求。
针对相关技术中虚拟化操作系统的调度策略难以满足实时系统要求的问题,目前尚未提出有效的解决方案。
发明内容
针对虚拟化操作系统的调度策略难以满足实时系统要求的问题,本发明提供了一种虚拟化操作系统中的调度方法和装置,以至少解决上述问题。
根据本发明的一个方面,提供了一种虚拟化操作系统中的调度方法,该方法包括:确定待调度事件中是否有紧急事件;如果是,启动事件驱动策略,按照事件驱动策略确定紧急事件对应的子操作系统;调度对应的子操作系统执行该紧急事件;如果否,启动时间片驱动策略,按照时间片驱动策略调度各个子操作系统执行待调度事件。
优选地,确定上述待调度事件中是否有紧急事件包括:当有事件到来时,对该事件在内存中的标识位进行置位;其中,该内存中的标识位分别对应不同的事件;确定置位后的标识位是否属于紧急事件对应的标识位,如果是,确定待调度事件中有紧急事件;当该事件执行完毕后,对该事件的标识位进行清除操作。
优选地,上述紧急事件为虚拟化操作系统中的实时响应事件。
优选地,上述实时响应事件包括以下三类:0类事件,所述0类事件指底层硬件需要上层指定内存域响应的中断事件;1类事件,所述1类事件指子操作系统之间需要被另一个内存域处理的通讯事件;2类事件,所述2类事件指内存域中的任务空闲时,通知第一级调度器释放中央处理器CPU的事件。
优选地,上述0类事件的优先级大于上述1类事件,上述1类事件的优先级大于上述2类事件;调度上述对应的子操作系统执行紧急事件包括:按照该紧急事件的优先级顺序调度对应的子操作系统。
优选地,启动事件驱动策略之前,按照子操作系统的状态和内存域的状态设置调度查询表,其中,该调度查询表为二维表,其中一个维度由调度触发事件表示,优先级从高到低排列,另一个维度由子操作系统的状态组合表示;按照上述事件驱动策略确定紧急事件对应的子操作系统包括:根据该紧急事件和当前各个子操作系统的状态确定对应的调度子操作系统。
根据本发明的另一方面,提供了一种虚拟化操作系统中的调度装置,该装置包括:事件确定模块,用于确定待调度事件中是否有紧急事件;第一驱动模块,用于当事件确定模块确定待调度事件中有紧急事件时,启动事件驱动策略;第一调度模块,用于按照第一驱动模块启动的上述事件驱动策略确定上述紧急事件对应的子操作系统,调度对应的子操作系统执行紧急事件;第二驱动模块,用于当事件确定模块确定待调度事件中没有紧急事件时,启动时间片驱动策略;第二调度模块,用于按照第二驱动模块启动的时间片驱动策略调度各个子操作系统执行待调度事件。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中兴通讯股份有限公司,未经中兴通讯股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201110378071.1/2.html,转载请声明来源钻瓜专利网。