CN103902366B - 一种不破坏客户操作系统自有调度策略的虚拟化调度方法 - Google Patents

一种不破坏客户操作系统自有调度策略的虚拟化调度方法 Download PDF

Info

Publication number
CN103902366B
CN103902366B CN201210578885.4A CN201210578885A CN103902366B CN 103902366 B CN103902366 B CN 103902366B CN 201210578885 A CN201210578885 A CN 201210578885A CN 103902366 B CN103902366 B CN 103902366B
Authority
CN
China
Prior art keywords
task
operating system
scheduling
client operating
priority
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.)
Active
Application number
CN201210578885.4A
Other languages
English (en)
Other versions
CN103902366A (zh
Inventor
周霆
胡宁
郝继锋
张灯
张勇
杨琼
何翔
虞保忠
尹超
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
AVIC No 631 Research Institute
Original Assignee
AVIC No 631 Research Institute
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by AVIC No 631 Research Institute filed Critical AVIC No 631 Research Institute
Priority to CN201210578885.4A priority Critical patent/CN103902366B/zh
Publication of CN103902366A publication Critical patent/CN103902366A/zh
Application granted granted Critical
Publication of CN103902366B publication Critical patent/CN103902366B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Computer And Data Communications (AREA)

Abstract

本发明涉及一种不破坏客户操作系统自有调度策略的虚拟化调度方法,通过对于具有相同响应性能要求的任务,赋予相同的优先级,调用虚拟化管理器的系统服务,在虚拟化管理器中创建包含优先级信息的任务控制块,将任务置于未激活状态等步骤,在确保实时性能和虚拟化原则的基础上使虚拟化管理器和客户操作系统的调度配合,避免了客户操作系统自有调度策略遭到破坏,使混合任务平台之上的全局统一调度成为可能,提高了整个系统的实时响应性能和调度效率。

Description

一种不破坏客户操作系统自有调度策略的虚拟化调度方法
技术领域
本发明属于航空电子技术领域,涉及一种不破坏客户操作系统自有调度策略的虚拟调化调度方法。
背景技术
随着航空电子技术的发展,机载电子系统综合化成为必然发展趋势,一个物理平台可能承担来自多个系统的不同类型的任务,这些任务可能是机电、航电或飞控应用,具有不同的响应性能要求。为了应对这种实时任务和一般任务共存的场景,合理的调度策略就是把当前调度集合中的实时任务和非实时任务按照优先级统一调度,达到优先处理强实时任务的效果。
如图1所示的全局统一调度方法,给混合任务平台上的所有任务赋予全局统一优先级,在虚拟化管理器中维护一个建立在当前活动分区所有任务集合之上的全局的任务优先级调度队列,进行全局统一调度。具体来说就是将所有任务的实时优先级都映射为全局的统一优先级,然后在时间片耗尽和实时事件触发时,由虚拟化管理器的调度器进行统一调度。
对于同一实时响应要求的任务全部给定相同的全局优先级,相同优先级的任务在全局实时调度中是以轮转Round-Robin方式进行调度。这种优先级配置策略在系统存在虚拟化分区的情况下将破坏客户操作系统原本的调度策略(比如Linux的CFS调度策略),违反了虚拟化的原则。因此,虚拟化管理器和客户操作系统必须采取必要的措施,在无更高优先级任务抢占时采取合理的配合机制,保留客户操作系统自身的调度策略。
发明内容
为了解决现有的调度方法无法满足不同类型任务的响应性能要求及全局实时虚拟化调度与客户操作系统自身调度不相协调的技术问题,本发明提供一种不破坏客户操作系统自有调度的虚拟化调度方法。
本发明的技术解决方案如下:
一种不破坏客户操作系统自有调度策略的虚拟化调度方法,其特殊之处在于:包括以下步骤:
1】在系统启动后,虚拟化管理器在初始化阶段创建多个分区,建立一个全局的任务优先级调度队列,所述分区包括含有客户操作系统的操作系统分区和不含客户操作系统的裸应用分区;
所述裸应用分区内的所有任务按照各自的优先级直接加入任务优先级调度队列;
所述操作系统分区在初始化阶段创建一个优先级高于所处客户操作系统中其他任务的客户级定时器处理线程,客户级定时器处理线程的初始状态为等待接收调度权利转移消息的状态;
2】在系统运行阶段,客户操作系统创建任务,并将其置于未激活状态,具体步骤如下:
2.1】在创建任务时按照任务响应性能的要求赋予优先级信息,对于具有相同响应性能要求的任务,赋予相同的优先级;
2.2】通过调用虚拟化管理器的系统服务,在虚拟化管理器中创建包含优先级信息的任务控制块,并将任务置于未激活状态;
3】进入一个时间中断触发的调度时机,虚拟化管理器接管时间中断,在时间中断预处理过程中开始执行任务调度的处理流程,具体步骤如下:
3.1】时间中断预处理程序在任务优先级调度队列中进行判断:
如果当前存在更高优先级的任务,则按照全局调度策略执行实时抢占,更高优先级的任务将获取处理器,调度结束;
如果不存在更高全局优先级的任务,则给当前客户操作系统的客户级定时器处理线程发送调度权利转移的消息,执行步骤3.2】;
3.2】客户级定时器处理线程判断当前任务是否耗尽了时间片:
如果已经耗尽,则激活客户操作系统的调度器,依据客户操作系统的调度策略进行调度,将选取的新任务加入任务优先级调度队列、停掉被剥夺CPU的上一个任务;
如果未耗尽,将不作处理,当前任务继续执行;
3.3】等到下一个调度时机,回到步骤3.1】。
本发明的有益效果:
本发明涉及一种不破坏客户操作系统自有调度策略的虚拟化调度方法,通过对于具有相同响应性能要求的任务,赋予相同的优先级,调用虚拟化管理器的系统服务,在虚拟化管理器中创建包含优先级信息的任务控制块,将任务置于未激活状态等步骤,在确保实时性能和虚拟化原则的基础上使虚拟化管理器和客户操作系统的调度配合,避免了客户操作系统自有调度策略遭到破坏,使混合任务平台之上的全局统一调度成为可能,提高了整个系统的实时响应性能和调度效率。
附图说明
图1为全局调度方法示意图;
图2为本发明不破坏客户操作系统自有调度的虚拟调度方法示意图。
具体实施方式
本发明针对航空电子系统综合化和遗产代码继承需求所产生的虚拟化多任务混合调度场景,能够在保证实时任务响应性能的同时,解决全局调度策略破坏客户操作系统自有调度策略的问题。
本发明应用的系统包括硬件、运行在硬件上的虚拟化管理器、及运行在虚拟化管理器提供的虚拟化硬件执行环境中的多个客户操作系统,虚拟化管理器读取硬件设备的注册信息获取对所有硬件设备的控制;客户操作系统通过虚拟化管理器的虚拟化服务接口与虚拟化管理器连接。
本发明的基本原理是:首先,限制单个客户操作系统上应用级任务在任务优先级调度队列中同时出现,从而使全局调度策略无法影响到客户操作系统内部的任务调度;其次,在触发调度的时机,全局调度器优先调度,如果没有当前运行客户操作系统之外的更高优先级的任务就绪,则将调度控制权交给当前客户操作系统的客户级调度器,此时激活客户级调度策略。
如图2所示,解决这一问题的虚拟化调度方法是:
在系统启动后,虚拟化管理器在初始化阶段创建多个分区,建立并维护一个全局的任务优先级调度队列,分区的类型包括含有操作系统的客户操作系统分区和不含操作系统的裸应用分区;裸应用分区内的所有任务按照各自的优先级顺序直接加入任务优先级调度队列。
客户操作系统可以按照实时性要求分为实时操作系统和非实时操作系统,在任务优先级调度队列中,实时操作系统中任务的优先级一般高于非实时操作系统任务。
客户操作系统分区在初始化阶段创建一个优先级高于所处客户操作系统中其他任务的客户级定时器处理线程,客户级定时器处理线程,等待接收虚拟化管理器发送的调度权利转移的消息,一旦接收此消息将进行客户级调度处理。
在系统运行阶段,客户操作系统创建任务,并将其置于未激活状态,具体步骤如下:
在创建任务时按照任务响应性能的要求赋予优先级,对于具有相同响应性能要求的任务,赋予相同的优先级;通过调用虚拟化管理器的系统服务,在虚拟化管理器中创建包含优先级信息的任务控制块,并将任务置于未激活状态,使其不会马上加入任务优先级调度队列。
在时间触发的调度时机,虚拟化管理器接管时间中断,在时间中断预处理过程中开始执行任务调度的处理流程,具体步骤如下:
时间中断预处理程序在任务优先级调度队列中进行判断,如果当前存在更高优先级的任务,则按照全局调度策略执行实时抢占,更高优先级的任务将获取处理器。
如果不存在更高全局优先级的任务,则给当前客户操作系统的客户级定时器处理线程发送调度权利转移的消息,将调度权力转交给客户操作系统。
客户级定时器处理线程判断当前任务是否耗尽了时间片,如果已经耗尽,则激活客户操作系统的调度器,依据客户操作系统的调度策略进行调度,将选取的新任务加入任务优先级调度队列、停掉被剥夺CPU的上一个任务;如果未耗尽,将不作处理,当前任务继续执行。
等到下一个调度时机,回到调度步骤。
通过上述虚拟化调度方法,可以在确保实时性能和虚拟化原则的基础上,完成虚拟化管理器和客户操作系统的调度配合,避免客户操作系统自有调度策略遭到破坏。

Claims (1)

1.一种不破坏客户操作系统自有调度策略的虚拟化调度方法,其特征在于:包括以下步骤:
1】在系统启动后,虚拟化管理器在初始化阶段创建多个分区,建立一个全局的任务优先级调度队列,所述分区包括含有客户操作系统的操作系统分区和不含客户操作系统的裸应用分区;
所述裸应用分区内的所有任务按照各自的优先级直接加入任务优先级调度队列;
所述操作系统分区在初始化阶段创建一个优先级高于所处客户操作系统中其他任务的客户级定时器处理线程,客户级定时器处理线程的初始状态为等待接收调度权利转移消息的状态;
2】在系统运行阶段,客户操作系统创建任务,并将其置于未激活状态,具体步骤如下:
2.1】在创建任务时按照任务响应性能的要求赋予优先级信息,对于具有相同响应性能要求的任务,赋予相同的优先级;
2.2】通过调用虚拟化管理器的系统服务,在虚拟化管理器中创建包含优先级信息的任务控制块,并将任务置于未激活状态;
3】进入一个时间中断触发的调度时机,虚拟化管理器接管时间中断,在时间中断预处理过程中开始执行任务调度的处理流程,具体步骤如下:
3.1】时间中断预处理程序在任务优先级调度队列中进行判断:
如果当前存在更高优先级的任务,则按照全局调度策略执行实时抢占,更高优先级的任务将获取处理器,调度结束;
如果不存在更高全局优先级的任务,则给当前客户操作系统的客户级定时器处理线程发送调度权利转移的消息,执行步骤3.2】;
3.2】客户级定时器处理线程判断当前任务是否耗尽了时间片:
如果已经耗尽,则激活客户操作系统的调度器,依据客户操作系统的调度策略进行调度,将选取的新任务加入任务优先级调度队列、停掉被剥夺CPU的上一个任务;
如果未耗尽,将不作处理,当前任务继续执行;
3.3】等到下一个调度时机,回到步骤3.1】。
CN201210578885.4A 2012-12-27 2012-12-27 一种不破坏客户操作系统自有调度策略的虚拟化调度方法 Active CN103902366B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210578885.4A CN103902366B (zh) 2012-12-27 2012-12-27 一种不破坏客户操作系统自有调度策略的虚拟化调度方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210578885.4A CN103902366B (zh) 2012-12-27 2012-12-27 一种不破坏客户操作系统自有调度策略的虚拟化调度方法

Publications (2)

Publication Number Publication Date
CN103902366A CN103902366A (zh) 2014-07-02
CN103902366B true CN103902366B (zh) 2017-03-29

Family

ID=50993705

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210578885.4A Active CN103902366B (zh) 2012-12-27 2012-12-27 一种不破坏客户操作系统自有调度策略的虚拟化调度方法

Country Status (1)

Country Link
CN (1) CN103902366B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116932227B (zh) * 2023-09-14 2023-12-22 西安华创马科智能控制系统有限公司 一种基于单线程的任务调度方法及装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1584843A (zh) * 2003-05-09 2005-02-23 太阳微系统公司 操作系统分区中的细粒度特权
CN101452404A (zh) * 2008-12-09 2009-06-10 中兴通讯股份有限公司 一种嵌入式操作系统的任务调度装置及方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4705051B2 (ja) * 2007-01-29 2011-06-22 株式会社日立製作所 計算機システム

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1584843A (zh) * 2003-05-09 2005-02-23 太阳微系统公司 操作系统分区中的细粒度特权
CN101452404A (zh) * 2008-12-09 2009-06-10 中兴通讯股份有限公司 一种嵌入式操作系统的任务调度装置及方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
航空电子双层任务分区调度设计;何锋等;《北京航空航天大学学报》;20081130;第34卷(第11期);1364-1368 *

Also Published As

Publication number Publication date
CN103902366A (zh) 2014-07-02

Similar Documents

Publication Publication Date Title
KR101658035B1 (ko) 가상 머신 모니터 및 가상 머신 모니터의 스케줄링 방법
CN101452404B (zh) 一种嵌入式操作系统的任务调度装置及方法
US7493436B2 (en) Interrupt handling using simultaneous multi-threading
CN102455933B (zh) 一种通过线程管理提高多任务处理效率的方法
CN109684060B (zh) 一种多类型时间关键任务的混合调度方法
WO2009096935A1 (en) Uniform synchronization between multiple kernels running on single computer systems
CN105550040B (zh) 基于kvm平台的虚拟机cpu资源预留算法
CN106406991B (zh) 一种ThreadX操作系统在ARM处理器上的运行方法
CN101751289A (zh) 一种嵌入式实时操作系统的混合调度方法
CN103064657A (zh) 单个处理器上实现多应用并行处理的方法及装置
CN101561768A (zh) 一种通用的调度多个任务的方法
CN103744716A (zh) 一种基于当前vcpu调度状态的动态中断均衡映射方法
CN101968749B (zh) 虚拟机过度分配环境下的mpi消息接收方法
KR101357975B1 (ko) 코루틴을 이용하여 원격 프로시저 호출 서비스를 제공하는 방법 및 장치
CN103389913A (zh) 一种用于Linux系统的实时中断处理方法
CN111324432A (zh) 处理器调度方法、装置、服务器及存储介质
CN110187956A (zh) 一种多智能体平台的分层实时任务调度方法和系统
EP3602290A1 (en) Cooperative virtual processor scheduling
CN103902366B (zh) 一种不破坏客户操作系统自有调度策略的虚拟化调度方法
CN100383743C (zh) Java操作系统中实时任务调度方法
CN106708618A (zh) 一种进程调度方法及装置
CN111143029B (zh) 基于Gitlab-CI回调集成实现虚拟机一致、自动伸缩的持续构建环境的方法
US9436505B2 (en) Power management for host with devices assigned to virtual machines
Casini et al. Addressing analysis and partitioning issues for the Waters 2019 challenge
CN101349975B (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
GR01 Patent grant
GR01 Patent grant