CN104866373A - 基于跨平台技术的实时操作系统仿真方法 - Google Patents
基于跨平台技术的实时操作系统仿真方法 Download PDFInfo
- Publication number
- CN104866373A CN104866373A CN201510258338.1A CN201510258338A CN104866373A CN 104866373 A CN104866373 A CN 104866373A CN 201510258338 A CN201510258338 A CN 201510258338A CN 104866373 A CN104866373 A CN 104866373A
- Authority
- CN
- China
- Prior art keywords
- operating system
- real
- cross
- sandbox
- time
- 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
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明公布了一种基于跨平台技术的实时操作系统仿真方法,是一种可在非实时操作系统上模拟软件在实时操作系统运行的方法。本发明基于跨平台技术,在跨平台中间件建立一个微型沙箱。模拟运行时,将有实时性要求的线程置入沙箱中,由沙箱管理程序统一调度,并根据目标模拟的操作系统调整调度算法,实现实时软件在宿主操作系统上的精确模拟运行,执行效率高。
Description
技术领域
本发明涉及跨平台和系统仿真技术,具体是一种可在非实时操作系统上模拟实时软件运行的方法。
背景技术
目前基于嵌入式实时操作系统的应用开发都基于交叉开发环境,采用Host-target模式,这种方式较为繁琐,应用程序的调试也要通过仿真器连接target进行。
当然可以对程序进行跨平台封装,使其同时支持在非实时的Host上运行,但由于实时操作系统(RTOS)和非实时操作系统(Non-RTOS)的差异,在两者上程序执行的输出结果存在明显的差异,无法做到精确仿真,实用性不大。
如果要做到精确仿真,可采用成熟的虚拟机技术,例如VMware、VirtualBOX等都是很成熟的虚拟机软件。虚拟机在宿主操作系统(Host OS)上,通过为客户操作系统(Guest OS)虚拟一套独立于实际硬件的虚拟硬件环境(包括处理器,内存,I/O 设备),对于客户操作系统而言,基于虚拟硬件环境运行,与在实际硬件上运行没有差别。
但全面的模拟仿真导致目前虚拟机技术普遍存在的问题是操作较为繁琐,而且系统执行效率不高。对于实时应用程序开发者而言,使用虚拟机技术进行调试仿真,相对于交叉开发模式而言,开发效率无法得到很大提高。
发明内容
本发明目的在于综合跨平台封装技术和虚拟机技术的优点,在宿主操作系统(Host OS通常是非实时操作系统)上构建轻量级模拟环境,应用程序基于此环境运行,逻辑行为能力与在实时操作系统上运行保持一致。
基于跨平台技术的实时操作系统仿真方法,其特征在于,构建跨平台中间件,应用程序运行于跨平台中间件之上;在非实时操作系统侧的跨平台中间件建立微型沙箱,应用程序在非实时操作系统运行时,将有实时性要求的线程置入微型沙箱内,由沙箱管理程序对实时线程进行统一调度,将无实时性要求的线程仍置于微型沙箱外,由宿主操作系统的调度机制调度。
应用程序在非实时操作系统侧的跨平台中间件上模拟运行时,实时线程的调度采用沙箱管理程序维护的实时系统模拟调度算法。
沙箱管理程序的调度算法根据目标模拟的实时操作系统进行修改。
根据目标模拟操作系统的不同,沙箱管理程序调整为不同的调度算法,调度算法包括:先来先服务调度算法、基于抢占的时间片轮转调度算法、短任务优点调度、时间片轮转调度和/或基于抢占的优先级调度算法。
本发明基于跨平台技术,对宿主操作系统(Host OS)上的跨平台中间件进行适当改动,引入微型沙箱(Micro-Sandbox),将有实时性要求的线程放入微型沙箱统一调度管理,沙箱内线程的调度算法可根据目标模拟的实时操作系统特性进行调整;对于没有实时性要求的线程,可仍然在沙箱外由非实时操作系统调度管理。
本发明的可行性基于这样一个现实:分析绝大部分基于RTOS的应用开发实践可知,一个现实的实时系统应用通常只要求少数几个关键线程要在有限时间内响应,它们之间有严格的时序关系,其他非关键线程的调度并不影响模拟结果。于是,关注点就可以缩小到这有限个线程间,系统的分析和模拟的规模可大大减小。这时再借助Host OS的一些系统机制建立微型沙箱,在沙箱的管理程序中模拟RTOS的线程调度算法,统一调度管理置入沙箱的实时线程。
在这种经优化的跨平台中间件上层开发的应用程序,在Non-RTOS上模拟运行时,逻辑行为与在RTOS上实际运行无差异,执行效率也足够高。
本发明所达到的有益效果:
本发明公布了一种可在非实时操作系统上模拟软件在实时操作系统运行的方法。基于跨平台技术,在跨平台中间件建立一个微型沙箱。模拟运行时,将有实时性要求的线程置入沙箱中,由沙箱管理程序统一调度,并根据目标模拟的操作系统调整调度算法,实现实时软件在宿主操作系统上的精确模拟运行,执行效率高。
附图说明
图1是本发明层次架构示意图。
具体实施方式
以在Windows系统上搭建模拟系统为例,如图1。
(1)根据Windows系统特性和目标模拟的操作系统特性,分析系统调用的映射层次,确定以一个进程作为单位,模拟一个完整的实时系统(如vxWorks),这样做的好处是:在Windows上同时可以模拟多个实时系统运行;
(2)构建跨平台中间件,封装操作系统调用,例如线程接口、消息队列接口、信号量接口等;
(3)在跨平台中间件建立微型沙箱:根据目标模拟操作系统不同,沙箱管理程序可调整,以最简单的调度算法,先来先服务(FCFS)为例:将置入沙箱的线程按优先级顺序排序,放入Host OS的单一线程(这里的线程指Windows线程,不指被模拟线程)中顺序执行,如果程序中调用了线程等待调用,则切换到下一个被模拟线程执行;
(4)如果模拟更复杂的调度算法,需要用到更多系统机制,例如基于抢占的时间片轮转调度算法:沙箱管理程序为每个置入沙箱的模拟线程维护一个计时器,当发现某个线程占用的系统时间达到分配的时间,则通过发送系统消息,唤醒或停止模拟线程运行,完成调度;
通过修改沙箱管理程序的模拟调度算法,可支持更多调度算法,诸如短任务优点调度、时间片轮转调度、基于抢占的优先级调度算法等;
(5)将沙箱的系统接口(例如模拟线程创建、信号量操作等)经过封装,与跨平台中间件的系统接口统一,但需要通过标志区分实时或非实时线程;
(6)经过改造的跨平台中间件提供的接口与改造前基本一致,但模拟运行时实时线程的调度采用了实时系统模拟调度算法,能准确模拟软件在实时操作系统上的运行行为。
Claims (4)
1. 基于跨平台技术的实时操作系统仿真方法,其特征在于,构建跨平台中间件,应用程序运行于跨平台中间件之上;在非实时操作系统侧的跨平台中间件建立微型沙箱,应用程序在非实时操作系统运行时,将有实时性要求的线程置入微型沙箱内,由沙箱管理程序对实时线程进行统一调度,将无实时性要求的线程仍置于微型沙箱外,由宿主操作系统的调度机制调度。
2.根据权利要求1所述的基于跨平台技术的实时操作系统仿真方法,其特征在于,应用程序在非实时操作系统侧的跨平台中间件上模拟运行时,实时线程的调度采用沙箱管理程序维护的实时系统模拟调度算法。
3.根据权利要求1所述的基于跨平台技术的实时操作系统仿真方法,其特征在于,沙箱管理程序的调度算法根据目标模拟的实时操作系统进行修改。
4.根据权利要求1所述的基于跨平台技术的实时操作系统仿真方法,其特征在于,根据目标模拟操作系统的不同,沙箱管理程序调整为不同的调度算法,调度算法包括:先来先服务调度算法、基于抢占的时间片轮转调度算法、短任务优点调度、时间片轮转调度和/或基于抢占的优先级调度算法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510258338.1A CN104866373B (zh) | 2015-05-20 | 2015-05-20 | 基于跨平台技术的实时操作系统仿真方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510258338.1A CN104866373B (zh) | 2015-05-20 | 2015-05-20 | 基于跨平台技术的实时操作系统仿真方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104866373A true CN104866373A (zh) | 2015-08-26 |
CN104866373B CN104866373B (zh) | 2019-01-18 |
Family
ID=53912222
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510258338.1A Active CN104866373B (zh) | 2015-05-20 | 2015-05-20 | 基于跨平台技术的实时操作系统仿真方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104866373B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104598306A (zh) * | 2014-12-05 | 2015-05-06 | 中国航空工业集团公司第六三一研究所 | Phm仿真验证中的一种进程调度方法 |
CN105335236A (zh) * | 2015-12-10 | 2016-02-17 | 厦门市美亚柏科信息股份有限公司 | 一种分布式取证动态负载均衡调度方法和装置 |
CN111488142A (zh) * | 2020-04-10 | 2020-08-04 | 中电科航空电子有限公司 | 支持多操作系统平台的嵌入式航空通信中间件及其应用 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1609797A (zh) * | 2004-11-22 | 2005-04-27 | 浙江大学 | 避规RTLinux双内核的方法 |
CN101887378A (zh) * | 2010-06-18 | 2010-11-17 | 阳坚 | 一种半实物实时仿真机和半实物实时仿真系统 |
CN101894045A (zh) * | 2010-06-18 | 2010-11-24 | 阳坚 | 一种实时Linux操作系统 |
CN102184356A (zh) * | 2011-04-21 | 2011-09-14 | 奇智软件(北京)有限公司 | 利用沙箱技术进行防御的方法、装置及安全浏览器 |
CN102314373A (zh) * | 2011-07-07 | 2012-01-11 | 李鹏 | 一种基于虚拟化技术实现安全工作环境的方法 |
CN102663318A (zh) * | 2012-03-22 | 2012-09-12 | 百度在线网络技术(北京)有限公司 | 浏览器及客户端 |
CN102902920A (zh) * | 2012-09-13 | 2013-01-30 | 西北工业大学 | 一种虚拟化用户准入安全检测和隔离方法及其系统 |
CN103713940A (zh) * | 2013-12-24 | 2014-04-09 | 四川川大智胜软件股份有限公司 | 一种基于rtx-hla-反射内存卡的可重构分布式实时仿真方法 |
-
2015
- 2015-05-20 CN CN201510258338.1A patent/CN104866373B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1609797A (zh) * | 2004-11-22 | 2005-04-27 | 浙江大学 | 避规RTLinux双内核的方法 |
CN101887378A (zh) * | 2010-06-18 | 2010-11-17 | 阳坚 | 一种半实物实时仿真机和半实物实时仿真系统 |
CN101894045A (zh) * | 2010-06-18 | 2010-11-24 | 阳坚 | 一种实时Linux操作系统 |
CN102184356A (zh) * | 2011-04-21 | 2011-09-14 | 奇智软件(北京)有限公司 | 利用沙箱技术进行防御的方法、装置及安全浏览器 |
CN102314373A (zh) * | 2011-07-07 | 2012-01-11 | 李鹏 | 一种基于虚拟化技术实现安全工作环境的方法 |
CN102663318A (zh) * | 2012-03-22 | 2012-09-12 | 百度在线网络技术(北京)有限公司 | 浏览器及客户端 |
CN102902920A (zh) * | 2012-09-13 | 2013-01-30 | 西北工业大学 | 一种虚拟化用户准入安全检测和隔离方法及其系统 |
CN103713940A (zh) * | 2013-12-24 | 2014-04-09 | 四川川大智胜软件股份有限公司 | 一种基于rtx-hla-反射内存卡的可重构分布式实时仿真方法 |
Non-Patent Citations (3)
Title |
---|
刘冰等: ""基于实装软件的混合式仿真方法研究"", 《计算机工程与设计》 * |
周立国等: "跨平台实时数据库中间件的研究", 《计算机工程与应用》 * |
王震: "面向RTX操作系统的GUI中间件研究与实现", 《计算机测量与控制》 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104598306A (zh) * | 2014-12-05 | 2015-05-06 | 中国航空工业集团公司第六三一研究所 | Phm仿真验证中的一种进程调度方法 |
CN104598306B (zh) * | 2014-12-05 | 2018-12-25 | 中国航空工业集团公司第六三一研究所 | Phm仿真验证中的一种进程调度方法 |
CN105335236A (zh) * | 2015-12-10 | 2016-02-17 | 厦门市美亚柏科信息股份有限公司 | 一种分布式取证动态负载均衡调度方法和装置 |
CN105335236B (zh) * | 2015-12-10 | 2019-03-19 | 厦门市美亚柏科信息股份有限公司 | 一种分布式取证动态负载均衡调度方法和装置 |
CN111488142A (zh) * | 2020-04-10 | 2020-08-04 | 中电科航空电子有限公司 | 支持多操作系统平台的嵌入式航空通信中间件及其应用 |
Also Published As
Publication number | Publication date |
---|---|
CN104866373B (zh) | 2019-01-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI534709B (zh) | 用於進行虛擬機器分支和平行執行的電腦實施方法、電腦系統及電腦可讀取儲存媒體 | |
US10871982B2 (en) | Virtual processor scheduling via memory monitoring | |
EP2615546A1 (en) | Method and system, scheduler for parallel simulating processors | |
CN102799465B (zh) | 分布式虚拟化系统的虚拟中断管理方法及装置 | |
CN104951352B (zh) | 一种数据流的迁移方法和设备 | |
CN103955373A (zh) | 一种sdn应用集成开发环境的设计方法 | |
CN105740139B (zh) | 一种基于虚拟环境的嵌入式软件调试方法 | |
US10002016B2 (en) | Configuration of virtual machines in view of response time constraints | |
CN104866373A (zh) | 基于跨平台技术的实时操作系统仿真方法 | |
CN111123737A (zh) | 一种数字硬件虚拟仿真系统 | |
Galante et al. | A programming-level approach for elasticizing parallel scientific applications | |
CN115146582A (zh) | 仿真方法及仿真装置、电子设备和计算机可读存储介质 | |
CN109783239B (zh) | SystemC仿真调度核的多线程优化方法、系统及介质 | |
EP2672388B1 (en) | Multi-processor parallel simulation method, system and scheduler | |
KR20110100070A (ko) | 재구성 가능한 프로세서 코어를 사용하는 멀티코어 시스템의 시뮬레이터 및 시뮬레이션 방법 | |
RU2013118640A (ru) | Аппаратно-вычилистельный комплекс виртуализации и управления ресурсами в среде облачных вычислений | |
JP2012509546A (ja) | 組み込みシステムをシミュレートするための方法及びデータ処理システム | |
Coutinho et al. | Harness project: Managing heterogeneous computing resources for a cloud platform | |
Arta et al. | KNOPPIX: Parallel computer design and results comparison speed analysis used AMDAHL theory | |
CN108196883A (zh) | 一种智能指令调度器 | |
Janpan et al. | A virtual machine consolidation framework for CloudStack platforms | |
CN103197959B (zh) | 一种多核cpu的切换方法 | |
Panitkin et al. | ATLAS Cloud R&D | |
Dakic et al. | OPTIMIZING KUBERNETES PERFORMANCE, EFFICIENCY AND ENERGY FOOTPRINT IN HETEROGENOUS HPC ENVIRONMENTS. | |
KR101280864B1 (ko) | 시뮬레이션 실행의 고속화 기법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
EXSB | Decision made by sipo to initiate substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |