CN103853598A - 实现嵌入式虚拟机硬实时虚拟定时器响应的方法 - Google Patents
实现嵌入式虚拟机硬实时虚拟定时器响应的方法 Download PDFInfo
- Publication number
- CN103853598A CN103853598A CN201410060572.9A CN201410060572A CN103853598A CN 103853598 A CN103853598 A CN 103853598A CN 201410060572 A CN201410060572 A CN 201410060572A CN 103853598 A CN103853598 A CN 103853598A
- Authority
- CN
- China
- Prior art keywords
- timer
- virtual machine
- virtual
- hypervisor
- subregion
- 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
本发明公开了一种实现嵌入式虚拟机硬实时虚拟定时器响应的方法,其特征在于:步骤如下:通过在Hypervisor中构建定时器中断派发表,将有限的硬件定时器中断,通过Hypervisor的中断派发表进行直接派发,从而减少原有虚拟机事件通道、虚拟时钟等方式带来的延迟,并能实现嵌入式处理器平台中有限的硬件定时器中断在多个分区间的共享。本发明通过减少原有虚拟机事件通道、虚拟时钟等方式带来的延迟,并能实现嵌入式处理器平台中有限的硬件定时器中断在多个分区间的共享,从而提高虚拟机分区的虚拟定时器精度与响应速度,最终解决嵌入式虚拟化技术在航天领域内应用所面临的一大难题。
Description
技术领域
本发明属于虚拟机软件开发领域,具体地说,涉及一种实现嵌入式虚拟机硬实时虚拟定时器响应的方法。
背景技术
以ARINC653规范为代表的综合模块化航空电子系统(IMA)已经成为第四代航空电子系统的实际标准,在航空航天、能源国防领域内得到了普遍应用。而随着虚拟化技术的发展,利用Hypervisor提供的虚拟机分区机制来提供安全性、隔离性、复用性,广泛应用于高性能计算、商业服务器领域,并衍生出诸多采用虚拟化方法实现ARINC653标准的嵌入式实时操作系统,如XtratuM、Integrity、PikeOS等。
在航天领域内,尤其是火箭、导弹等运载器控制系统中,点火控制、停机控制、数据采集等诸多应用对时间准确性要求高,定时器响应精度直接影响飞行器的导航、定位精度,以及飞行器的任务执行。
传统虚拟化技术,并没有考虑航空航天、能源国防等诸多领域控制系统对实时性的考虑。如Xen-ARM,将系统定时器中断通过事件机制向虚拟机分区中进行传递,并在事件处理过程中更新虚拟机分区中的虚拟定时器的值。Xen默认每隔10毫秒为每个虚拟机分区更新虚拟定时器,也就是虚拟机分区的定时器有可能最多延迟到10毫秒。在嵌入式虚拟化操作系统XtratuM中,为了提高系统的时间响应速度,在ARINC653规范定义的事件分区调度之外,采用了基于优先级调度的方法,从而使得高优先级分区能够尽早得到响应,并为每个虚拟分区分配一个硬件定时器,作为虚拟分区时钟。优先级调度的方式只能满足高优先级分区尽早得到调度,仍然无法满足分区内定时器能够及时更新,当分区未被调度运行时,其内部定时器仍然无法及时得到更新,从而定时器事件无法得到响应。在某些研究中,研究人员将高性能处理器平台中的多个高精度时钟中断(如Intel HPET)直接映射到指定的虚拟机分区中,从而虚拟机分区的虚拟定时器直接绑定到硬件定时器中,硬件定时器产生的中断信号直接通过虚拟中断的方式传递给虚拟机分区,从而提高虚拟化分区的虚拟定时器响应速度。
在嵌入式尤其是航天领域内,上述方法存在如下问题:
1、传统虚拟化技术采用的事件通道传递虚拟定时器中断的方法,虚拟分区内部时钟与实际物理时钟存在着一定的偏差,这种偏差最大可以到一个调度周期,乃至数十毫秒,对于硬实时控制系统而言,很多情况下无法满足应用需求。
2、通过优先级调度,能够尽可能加快高优先级任务的响应速度,但是优先级与定时器中断到达时间无直接关联,即使高优先级分区,在虚拟机分区不处于调度窗口时,其内部时钟仍然无法即使更新,从而无法保证内部虚拟定时器的响应速度。
3、在嵌入式平台尤其是航天嵌入式平台中,大量采用的是SPARC、ARM等嵌入式处理器,其硬件定时器相对有限(如SPARC V8处理器只有2个硬件定时器),无法为每个虚拟机分区提供独立的硬件定时器以进行映射,这样就无法采用上述硬件定时器直接映射方式来提高分区的虚拟定时器响应速度的方法。
发明内容
本发明要解决的技术问题是克服上述缺陷,提供一种利用虚拟化技术提供的时空隔离等安全性机制的同时,保证强实时应用对高精度定时器的需求,从而实现强实时、高安全嵌入式虚拟化系统的实现嵌入式虚拟机硬实时虚拟定时器响应的方法。
为解决上述问题,本发明所采用的技术方案是:
一种实现嵌入式虚拟机硬实时虚拟定时器响应的方法,其特征在于:步骤如下:通过在Hypervisor中构建定时器中断派发表,将有限的硬件定时器中断,通过Hypervisor的中断派发表进行直接派发,从而减少原有虚拟机事件通道、虚拟时钟等方式带来的延迟,并能实现嵌入式处理器平台中有限的硬件定时器中断在多个分区间的共享。
作为一种改进,响应方法的步骤如下:
1)、在嵌入式处理器平台中设置32位定时器,包括定时器1和定时器2,并且将虚拟机设置有虚拟机分区1(VM1)、虚拟机分区2(VM2);
2)、定时器1被用于Hypervisor的系统时钟,为分区操作系统提供虚拟时钟中断,维护整个系统的时钟;
3)、定时器2用于硬件定时器中断,在Hypervisor空间构建定时器中断派发表,派发表的表项有虚拟机分区VID、定时器计数值VTCNT、定时器溢出回调函数VTISR;
4)、当虚拟机分区VM1、VM2应用需要较高的定时器响应精度时,分别通过Hypervisor提供的API接口,向定时器派发表中注册对应的定时器,写入虚拟机分区ID:VM1、VM2,定时器计数值VTCNT1、VTCNT2,定时器回调函数VTISR1、VTISR2;
5)、在系统运行过程中,Hypervisor的定时器中断服务程序定期检查派发表,当定时器的计数值VTCNT1、VTCNT2到达时,中断服务程序直接激活对应的虚拟机分区VM1、VM2,并将对应的回调函数传递给分区内的虚拟机操作系统,使得操作系统以最短路径来调度对应的回调函数,从而完成虚拟定时器的及时响应。
由于采用了上述技术方案,与现有技术相比,本发明通过在Hypervisor中构建定时器中断派发表,将有限的硬件定时器中断,通过Hypervisor的中断派发表进行直接派发,从而减少原有虚拟机事件通道、虚拟时钟等方式带来的延迟,并能实现嵌入式处理器平台中有限的硬件定时器中断在多个分区间的共享,从而提高虚拟机分区的虚拟定时器精度与响应速度,最终解决嵌入式虚拟化技术在航天领域内应用所面临的一大难题。
附图说明
图1为本发明一种实施例的工作程序图。
具体实施方式
实施例:
一种实现嵌入式虚拟机硬实时虚拟定时器响应的方法,步骤如下:通过在Hypervisor中构建定时器中断派发表,将有限的硬件定时器中断,通过Hypervisor的中断派发表进行直接派发,从而减少原有虚拟机事件通道、虚拟时钟等方式带来的延迟,并能实现嵌入式处理器平台中有限的硬件定时器中断在多个分区间的共享。
如图1所示,响应方法的步骤如下:
1)、在嵌入式处理器平台中设置32位定时器,包括定时器1和定时器2,并且将虚拟机设置有虚拟机分区1(VM1)、虚拟机分区2(VM2)。
2)、定时器1被用于Hypervisor的系统时钟,为分区操作系统提供虚拟时钟中断,维护整个系统的时钟。
3)、定时器2用于硬件定时器中断,在Hypervisor空间构建定时器中断派发表,派发表的表项有虚拟机分区VID、定时器计数值VTCNT、定时器溢出回调函数VTISR。
4)、当虚拟机分区VM1、VM2应用需要较高的定时器响应精度时,分别通过Hypervisor提供的API接口,向定时器派发表中注册对应的定时器,写入虚拟机分区ID:VM1、VM2,定时器计数值VTCNT1、VTCNT2,定时器回调函数VTISR1、VTISR2。
5)、在系统运行过程中,Hypervisor的定时器中断服务程序定期检查派发表,当定时器的计数值VTCNT1、VTCNT2到达时,中断服务程序直接激活对应的虚拟机分区VM1、VM2,并将对应的回调函数传递给分区内的虚拟机操作系统,使得操作系统以最短路径来调度对应的回调函数,从而完成虚拟定时器的及时响应。
本发明通过在Hypervisor中构建定时器中断派发表,将有限的硬件定时器中断,通过Hypervisor的中断派发表进行直接派发,从而减少原有虚拟机事件通道、虚拟时钟等方式带来的延迟,并能实现嵌入式处理器平台中有限的硬件定时器中断在多个分区间的共享,从而提高虚拟机分区的虚拟定时器精度与响应速度,最终解决嵌入式虚拟化技术在航天领域内应用所面临的一大难题。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (2)
1.一种实现嵌入式虚拟机硬实时虚拟定时器响应的方法,其特征在于:步骤如下:通过在Hypervisor中构建定时器中断派发表,将有限的硬件定时器中断,通过Hypervisor的中断派发表进行直接派发,从而减少原有虚拟机事件通道、虚拟时钟等方式带来的延迟,并能实现嵌入式处理器平台中有限的硬件定时器中断在多个分区间的共享。
2.根据权利要求1中所述的实现嵌入式虚拟机硬实时虚拟定时器响应的方法,其特征在于:响应方法的步骤如下:
1)、在嵌入式处理器平台中设置32位定时器,包括定时器1和定时器2,并且将虚拟机设置有虚拟机分区1(VM1)、虚拟机分区2(VM2);
2)、定时器1被用于Hypervisor的系统时钟,为分区操作系统提供虚拟时钟中断,维护整个系统的时钟;
3)、定时器2用于硬件定时器中断,在Hypervisor空间构建定时器中断派发表,派发表的表项有虚拟机分区VID、定时器计数值VTCNT、定时器溢出回调函数VTISR;
4)、当虚拟机分区VM1、VM2应用需要较高的定时器响应精度时,分别通过Hypervisor提供的API接口,向定时器派发表中注册对应的定时器,写入虚拟机分区ID:VM1、VM2,定时器计数值VTCNT1、VTCNT2,定时器回调函数VTISR1、VTISR2;
5)、在系统运行过程中,Hypervisor的定时器中断服务程序定期检查派发表,当定时器的计数值VTCNT1、VTCNT2到达时,中断服务程序直接激活对应的虚拟机分区VM1、VM2,并将对应的回调函数传递给分区内的虚拟机操作系统,使得操作系统以最短路径来调度对应的回调函数,从而完成虚拟定时器的及时响应。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410060572.9A CN103853598B (zh) | 2014-02-21 | 2014-02-21 | 实现嵌入式虚拟机硬实时虚拟定时器响应的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410060572.9A CN103853598B (zh) | 2014-02-21 | 2014-02-21 | 实现嵌入式虚拟机硬实时虚拟定时器响应的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103853598A true CN103853598A (zh) | 2014-06-11 |
CN103853598B CN103853598B (zh) | 2017-03-01 |
Family
ID=50861287
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410060572.9A Active CN103853598B (zh) | 2014-02-21 | 2014-02-21 | 实现嵌入式虚拟机硬实时虚拟定时器响应的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103853598B (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105224886A (zh) * | 2014-06-26 | 2016-01-06 | 中国移动通信集团甘肃有限公司 | 一种移动终端安全隔离方法、装置及移动终端 |
CN108196934A (zh) * | 2016-12-08 | 2018-06-22 | 阿里巴巴集团控股有限公司 | 一种定时器的定时设置方法、装置和虚拟化设备 |
WO2018157543A1 (zh) * | 2017-02-28 | 2018-09-07 | 华为技术有限公司 | 定时器实现方法及相关装置 |
CN110333843A (zh) * | 2019-04-19 | 2019-10-15 | 中科创达(重庆)汽车科技有限公司 | 虚拟机高精度定时器的实现方法、装置及电子设备 |
CN112463125A (zh) * | 2020-12-09 | 2021-03-09 | 百富计算机技术(深圳)有限公司 | 一种虚拟定时器的定时方法及设备 |
CN113687916A (zh) * | 2021-08-17 | 2021-11-23 | 锐捷网络股份有限公司 | 数据处理方法及装置、时间更新方法及装置、电子设备 |
CN116302303A (zh) * | 2022-09-09 | 2023-06-23 | 科东(广州)软件科技有限公司 | 一种基于type1虚拟化系统的实时性增强方法及装置 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8191062B2 (en) * | 2006-03-31 | 2012-05-29 | Intel Corporation | System for processor frequency governors to govern a processor frequency by deriving CPU utilization information based on the state of virtual machine monitor |
CN101335694B (zh) * | 2007-06-29 | 2011-03-02 | 联想(北京)有限公司 | 中断处理方法和系统 |
CN101441498B (zh) * | 2007-11-19 | 2010-06-09 | 联想(北京)有限公司 | 虚拟机监视器、虚拟机系统及其时钟分配使用方法 |
CN101303647A (zh) * | 2008-03-20 | 2008-11-12 | 中科院嘉兴中心微系统所分中心 | 一种无线传感器网络专用操作系统的设计方法 |
JP5434616B2 (ja) * | 2010-01-15 | 2014-03-05 | 富士通株式会社 | 仮想計算機、仮想計算機モニタ、および計算機の制御方法 |
CN103036947B (zh) * | 2012-11-21 | 2015-05-20 | 北京航空航天大学 | 基于kvm的虚拟机迁移方法及系统 |
-
2014
- 2014-02-21 CN CN201410060572.9A patent/CN103853598B/zh active Active
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105224886A (zh) * | 2014-06-26 | 2016-01-06 | 中国移动通信集团甘肃有限公司 | 一种移动终端安全隔离方法、装置及移动终端 |
CN108196934B (zh) * | 2016-12-08 | 2022-04-26 | 阿里巴巴集团控股有限公司 | 一种定时器的定时设置方法、装置和虚拟化设备 |
CN108196934A (zh) * | 2016-12-08 | 2018-06-22 | 阿里巴巴集团控股有限公司 | 一种定时器的定时设置方法、装置和虚拟化设备 |
WO2018157543A1 (zh) * | 2017-02-28 | 2018-09-07 | 华为技术有限公司 | 定时器实现方法及相关装置 |
CN108512780A (zh) * | 2017-02-28 | 2018-09-07 | 华为技术有限公司 | 定时器实现方法及相关装置 |
CN108512780B (zh) * | 2017-02-28 | 2020-12-15 | 华为技术有限公司 | 定时器实现方法及相关装置 |
CN110333843A (zh) * | 2019-04-19 | 2019-10-15 | 中科创达(重庆)汽车科技有限公司 | 虚拟机高精度定时器的实现方法、装置及电子设备 |
CN112463125A (zh) * | 2020-12-09 | 2021-03-09 | 百富计算机技术(深圳)有限公司 | 一种虚拟定时器的定时方法及设备 |
CN112463125B (zh) * | 2020-12-09 | 2023-09-15 | 百富计算机技术(深圳)有限公司 | 一种虚拟定时器的定时方法及设备 |
CN113687916A (zh) * | 2021-08-17 | 2021-11-23 | 锐捷网络股份有限公司 | 数据处理方法及装置、时间更新方法及装置、电子设备 |
CN113687916B (zh) * | 2021-08-17 | 2023-01-10 | 锐捷网络股份有限公司 | 数据处理方法及装置、时间更新方法及装置、电子设备 |
CN116302303A (zh) * | 2022-09-09 | 2023-06-23 | 科东(广州)软件科技有限公司 | 一种基于type1虚拟化系统的实时性增强方法及装置 |
CN116302303B (zh) * | 2022-09-09 | 2024-02-13 | 科东(广州)软件科技有限公司 | 一种基于type1虚拟化系统的实时性增强方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN103853598B (zh) | 2017-03-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103853598A (zh) | 实现嵌入式虚拟机硬实时虚拟定时器响应的方法 | |
CN102890643B (zh) | 基于应用效果即时反馈的显卡虚拟化下的资源调度系统 | |
Vaishnav et al. | Resource elastic virtualization for FPGAs using OpenCL | |
US20150067356A1 (en) | Power manager for multi-threaded data processor | |
US20130166271A1 (en) | Simulating and testing avionics | |
US20170004005A1 (en) | Exception handling in microprocessor systems | |
EP2807555B1 (en) | Para-virtualized asymmetric gpu processors | |
US10055248B1 (en) | Virtual processor scheduling via memory monitoring | |
CN105940388A (zh) | 用于图形处理单元的工作负荷批量提交机制 | |
CN103620552A (zh) | 采用动态操作系统容器的应用迁移 | |
CN104094223A (zh) | 通过指令不确定度的多线程处理器指令平衡 | |
US10002016B2 (en) | Configuration of virtual machines in view of response time constraints | |
Cheng et al. | End-to-end analysis and design of a drone flight controller | |
EP2709010B1 (en) | System and method for synchronizing processor instruction execution | |
US20120029901A1 (en) | System and method for time virtualization in computer systems | |
Kato et al. | Operating systems challenges for GPU resource management | |
CN112363799A (zh) | 一种基于分层解耦架构的航空电子设备模拟器 | |
CN106250217A (zh) | 一种多虚拟处理器间的同步调度方法及其调度系统 | |
CN103049314A (zh) | 一种开放式系统实时调度方法 | |
CN104834628A (zh) | 多态计算平台及其构造方法 | |
US10509737B2 (en) | Data processing system for a graphical interface and graphical interface comprising such a data processing system | |
CA2826568C (en) | System and method for controlling processor instruction execution | |
Hyun et al. | Fault-tolerant scheduling in hierarchical real-time scheduling framework | |
Patte et al. | System impact of distributed multi core systems | |
Crago et al. | Programming models and development software for a space-based many-core processor |
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 | ||
CP01 | Change in the name or title of a patent holder |
Address after: 100094 No. 28, Yongfeng Road, Beijing, Haidian District Patentee after: Beijing Shenzhou Aerospace Software Technology Co.,Ltd. Address before: 100094 No. 28, Yongfeng Road, Beijing, Haidian District Patentee before: BEIJING SHENZHOU AEROSPACE SOFTWARE TECHNOLOGY Co.,Ltd. |
|
CP01 | Change in the name or title of a patent holder |