【技术实现步骤摘要】
一种基于静态优先级的多核VCPU调度方法
本专利技术属于嵌入式系统VCPU调度领域,特别涉及一种Xen的VCPU调度及时性技术。
技术介绍
随着嵌入式平台性能的增强,人们亟需对过去隶属于一个系统,却由于运行的OS环境不同,或是应用安全等级需求不同,而分散于各个平台的各类安全关键应用、实时应用进行整合,这不仅可以降低硬件系统设计复杂度,也能节省在硬件、能源上的开支。这些整合需求刺激了虚拟化技术在嵌入式上的发展,从行业领先的嵌入式厂商WindRiver公司推出的虚拟化产品VxWorksMILSPlatform可以看出,“分离”的思想在高可靠的多级安全关键领域是发展趋势,而采用虚拟化技术来实现“分离”,则是理所应当的。相比于两款商业界的嵌入式虚拟化产品,开源界的三款产品中,除Xvisor一开始就是面向嵌入式领域之外,KVM和Xen均是面向服务器的,因此在各个方面存在诸多问题,例如,即使将RTOS移植到虚拟平台之上,它们也不能满足硬实时需求。此外,这三款产品均未提供安全增强措施,虽然满足MILS结构,但仍然不具备高安全、高可信的特点。现有的商用嵌入式虚拟化产品如LynxS ...
【技术保护点】
1.一种基于静态优先级的多核VCPU调度方法,其特征在于,包括:S1、为每个域提供一个静态优先级,同一个域中的VCPU具有相同优先级;S2、仅维护一个全局VCPU就绪队列,就绪队列按照优先级划分为64个子队列,优先级相同的VCPU放在同一子队列中,VCPU优先级与子队列优先级一致;S3、调度时,按优先级由高到低依次扫描各个子队列,当子队列非空时,按照先来先服务原则选取第一个可运行的VCPU,该VCPU即为当前就绪队列中优先级最高的VCPU。
【技术特征摘要】
1.一种基于静态优先级的多核VCPU调度方法,其特征在于,包括:S1、为每个域提供一个静态优先级,同一个域中的VCPU具有相同优先级;S2、仅维护一个全局VCPU就绪队列,就绪队列按照优先级划分为64个子队列,优先级相同的VCPU放在同一子队列中,VCPU优先级与子队列优先级一致;S3、调度时,按优先级由高到低依次扫描各个子队列,当子队列非空时,按照先来先服务原则选取第一个可运行的VCPU,该VCPU即为当前就绪队列中优先级最高的VCPU。2.根据权利要求1所述的一种基于静态优先级的多核VCPU调度方法,其特征在于,步骤S3具体为:S31、按照优先级从高到低扫描每个子队列;S32、如果子队列不为空,那么选择子队列上的第一个VCPU,并执行步骤S33,否则回到步骤S31选择下一优先级对应的子队列;S33、测试选出的VCPU是否可以在当前CPU上运行,如果不可运行,回到步骤S32;如果可以运行,返回选择的VCPU。S34、如果扫描完子队列均没有合适的VCPU,那么返回NULL,代表选择IDLEVCPU,VCPU选择结束。3.根据权利要求2所述的一种基于静态优先级的多核VCPU调度方法,其特征在于,步骤S33通过屏蔽位cpumask确定是否选出的VCPU可以在运行在当前CPU上。4.根据权利要求2所述的一种基于静态优先级的多核VCPU调度方法,其特征在于,当新的VCPU被插入到就绪队列或调度末尾,还包括VCPU抢占,设引起抢占的VCPU为vcpux,vcpux上次运行的CPU为cpux...
【专利技术属性】
技术研发人员:杨霞,郭文生,罗雄,高扬,卢秀台,张冯博,廖士钞,向蓓蓓,古涛铭,钱智成,李南铮,瞿元,黄一,潘文睿,熊宇,
申请(专利权)人:电子科技大学,
类型:发明
国别省市:四川,51
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。