基于跨平台技术的实时操作系统仿真方法技术方案

技术编号:11973339 阅读:127 留言:0更新日期:2015-08-28 10:50
本发明专利技术公布了一种基于跨平台技术的实时操作系统仿真方法,是一种可在非实时操作系统上模拟软件在实时操作系统运行的方法。本发明专利技术基于跨平台技术,在跨平台中间件建立一个微型沙箱。模拟运行时,将有实时性要求的线程置入沙箱中,由沙箱管理程序统一调度,并根据目标模拟的操作系统调整调度算法,实现实时软件在宿主操作系统上的精确模拟运行,执行效率高。

【技术实现步骤摘要】

本专利技术涉及跨平台和系统仿真技术,具体是一种可在非实时操作系统上模拟实时软件运行的方法。
技术介绍
目前基于嵌入式实时操作系统的应用开发都基于交叉开发环境,采用Host-target模式,这种方式较为繁琐,应用程序的调试也要通过仿真器连接target进行。当然可以对程序进行跨平台封装,使其同时支持在非实时的Host上运行,但由于实时操作系统(RTOS)和非实时操作系统(Non-RTOS)的差异,在两者上程序执行的输出结果存在明显的差异,无法做到精确仿真,实用性不大。如果要做到精确仿真,可采用成熟的虚拟机技术,例如VMware、VirtualBOX等都是很成熟的虚拟机软件。虚拟机在宿主操作系统(Host OS)上,通过为客户操作系统(GuestOS)虚拟一套独立于实际硬件的虚拟硬件环境(包括处理器,内存,I/O设备),对于客户操作系统而言,基于虚拟硬件环境运行,与在实际硬件上运行没有差别。但全面的模拟仿真导致目前虚拟机技术普遍存在的问题是操作较为繁琐,而且系统执行效率不高。对于实时应用程序开发者而言,使用虚拟机技术进行调试仿真,相对于交叉开发模式而言,开发效率无法得到很大提高。
技术实现思路
本专利技术目的在于综合跨平台封装技术和虚拟机技术的优点,在宿主操作系统(Host OS通常是非实时操作系统)上构建轻量级模拟环境,应用程序基于此环境运行,逻辑行为能力与在实时操作系统上运行保持一致。,其特征在于,构建跨平台中间件,应用程序运行于跨平台中间件之上;在非实时操作系统侧的跨平台中间件建立微型沙箱,应用程序在非实时操作系统运行时,将有实时性要求的线程置入微型沙箱内,由沙箱管理程序对实时线程进行统一调度,将无实时性要求的线程仍置于微型沙箱外,由宿主操作系统的调度机制调度。应用程序在非实时操作系统侧的跨平台中间件上模拟运行时,实时线程的调度采用沙箱管理程序维护的实时系统模拟调度算法。沙箱管理程序的调度算法根据目标模拟的实时操作系统进行修改。根据目标模拟操作系统的不同,沙箱管理程序调整为不同的调度算法,调度算法包括:先来先服务调度算法、基于抢占的时间片轮转调度算法、短任务优点调度、时间片轮转调度和/或基于抢占的优先级调度算法。本专利技术基于跨平台技术,对宿主操作系统(Host OS)上的跨平台中间件进行适当改动,引入微型沙箱(Micro-Sandbox),将有实时性要求的线程放入微型沙箱统一调度管理,沙箱内线程的调度算法可根据目标模拟的实时操作系统特性进行调整;对于没有实时性要求的线程,可仍然在沙箱外由非实时操作系统调度管理。本专利技术的可行性基于这样一个现实:分析绝大部分基于RTOS的应用开发实践可知,一个现实的实时系统应用通常只要求少数几个关键线程要在有限时间内响应,它们之间有严格的时序关系,其他非关键线程的调度并不影响模拟结果。于是,关注点就可以缩小到这有限个线程间,系统的分析和模拟的规模可大大减小。这时再借助Host OS的一些系统机制建立微型沙箱,在沙箱的管理程序中模拟RTOS的线程调度算法,统一调度管理置入沙箱的实时线程。在这种经优化的跨平台中间件上层开发的应用程序,在Non-RTOS上模拟运行时,逻辑行为与在RTOS上实际运行无差异,执行效率也足够高。本专利技术所达到的有益效果: 本专利技术公布了一种可在非实时操作系统上模拟软件在实时操作系统运行的方法。基于跨平台技术,在跨平台中间件建立一个微型沙箱。模拟运行时,将有实时性要求的线程置入沙箱中,由沙箱管理程序统一调度,并根据目标模拟的操作系统调整调度算法,实现实时软件在宿主操作系统上的精确模拟运行,执行效率高。【附图说明】图1是本专利技术层次架构示意图。【具体实施方式】以在Windows系统上搭建模拟系统为例,如图1。(I)根据Windows系统特性和目标模拟的操作系统特性,分析系统调用的映射层次,确定以一个进程作为单位,模拟一个完整的实时系统(如vxWorks),这样做的好处是:在Windows上同时可以模拟多个实时系统运行; (2)构建跨平台中间件,封装操作系统调用,例如线程接口、消息队列接口、信号量接口等; (3)在跨平台中间件建立微型沙箱:根据目标模拟操作系统不同,沙箱管理程序可调整,以最简单的调度算法,先来先服务(FCFS)为例:将置入沙箱的线程按优先级顺序排序,放入Host OS的单一线程(这里的线程指Windows线程,不指被模拟线程)中顺序执行,如果程序中调用了线程等待调用,则切换到下一个被模拟线程执行; (4)如果模拟更复杂的调度算法,需要用到更多系统机制,例如基于抢占的时间片轮转调度算法:沙箱管理程序为每个置入沙箱的模拟线程维护一个计时器,当发现某个线程占用的系统时间达到分配的时间,则通过发送系统消息,唤醒或停止模拟线程运行,完成调度; 通过修改沙箱管理程序的模拟调度算法,可支持更多调度算法,诸如短任务优点调度、时间片轮转调度、基于抢占的优先级调度算法等; (5)将沙箱的系统接口(例如模拟线程创建、信号量操作等)经过封装,与跨平台中间件的系统接口统一,但需要通过标志区分实时或非实时线程; (6)经过改造的跨平台中间件提供的接口与改造前基本一致,但模拟运行时实时线程的调度采用了实时系统模拟调度算法,能准确模拟软件在实时操作系统上的运行行为。【主权项】1.,其特征在于,构建跨平台中间件,应用程序运行于跨平台中间件之上;在非实时操作系统侧的跨平台中间件建立微型沙箱,应用程序在非实时操作系统运行时,将有实时性要求的线程置入微型沙箱内,由沙箱管理程序对实时线程进行统一调度,将无实时性要求的线程仍置于微型沙箱外,由宿主操作系统的调度机制调度。2.根据权利要求1所述的,其特征在于,应用程序在非实时操作系统侧的跨平台中间件上模拟运行时,实时线程的调度采用沙箱管理程序维护的实时系统模拟调度算法。3.根据权利要求1所述的,其特征在于,沙箱管理程序的调度算法根据目标模拟的实时操作系统进行修改。4.根据权利要求1所述的,其特征在于,根据目标模拟操作系统的不同,沙箱管理程序调整为不同的调度算法,调度算法包括:先来先服务调度算法、基于抢占的时间片轮转调度算法、短任务优点调度、时间片轮转调度和/或基于抢占的优先级调度算法。【专利摘要】本专利技术公布了一种,是一种可在非实时操作系统上模拟软件在实时操作系统运行的方法。本专利技术基于跨平台技术,在跨平台中间件建立一个微型沙箱。模拟运行时,将有实时性要求的线程置入沙箱中,由沙箱管理程序统一调度,并根据目标模拟的操作系统调整调度算法,实现实时软件在宿主操作系统上的精确模拟运行,执行效率高。【IPC分类】G06F9-455【公开号】CN104866373【申请号】CN201510258338【专利技术人】徐頔飞 【申请人】南京国电南自电网自动化有限公司【公开日】2015年8月26日【申请日】2015年5月20日本文档来自技高网...

【技术保护点】
基于跨平台技术的实时操作系统仿真方法,其特征在于,构建跨平台中间件,应用程序运行于跨平台中间件之上;在非实时操作系统侧的跨平台中间件建立微型沙箱,应用程序在非实时操作系统运行时,将有实时性要求的线程置入微型沙箱内,由沙箱管理程序对实时线程进行统一调度,将无实时性要求的线程仍置于微型沙箱外,由宿主操作系统的调度机制调度。

【技术特征摘要】

【专利技术属性】
技术研发人员:徐頔飞
申请(专利权)人:南京国电南自电网自动化有限公司
类型:发明
国别省市:江苏;32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1