实时与非实时是对比实验报告(自动保存的)_第1页
实时与非实时是对比实验报告(自动保存的)_第2页
实时与非实时是对比实验报告(自动保存的)_第3页
实时与非实时是对比实验报告(自动保存的)_第4页
实时与非实时是对比实验报告(自动保存的)_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、实时与非实时系统对比实验报告目录一实时工具RTX简介2二安装RTX插件2三intervalzero rtx64延迟视图工具3四优先级翻转64.1概念64.2程序实现流程64.3实时与非实时系统结果对比74.4结论84.5感悟8一 实时工具RTX简介Windows是通用操作系统,其调度功能不针对实时应用程序。因此,实时开发人员受到严重限制,并且经常无法使用Windows操作系统。 IntervalZero的RTX64产品通过向Windows添加实时功能来弥补这一差距。它还提供用于构建和执行实时程序的工具和实用程序。实时系统有时被分类为硬实时或软实时系统。硬实时系统是其中响应时间确定性要求是绝对的

2、;对于软实时系统,允许一些小的偏差。 IntervalZero没有容忍的偏差,这意味着硬实时。通过扩展Windows操作系统,RTX64使需要确定性和高速响应时间的应用程序组件或模块与其他非实时应用程序组件一起在通用Windows系统上协同工作。使用RTX64,可以使用单个,低成本的平台来满足全方位的实时和嵌入式应用需求。二 安装RTX插件从intervalzero公司的官网即可下载RTX插件,64位系统可选择intervalzero公司最新推出了64位插件RTX64 3.0版本的插件,安装好RTX64 3.0 SDK和RTX64 3.0Runtime后需要激活。激活完成后,配置分配运行在wi

3、ndow系统下和RTSS系统下的处理器。打开RTX64 3.0Runtime下的ControlPanel软件点击Assign system processors进行分配。分配如图1所示,可选择将电脑或者笔记本的处理器分成window处理器和RTSS处理器,本次实验使用的笔记本有8个处理器,最大可选7个处理器为RTSS处理器。于是可分配处理器如图1所示,4个window处理器,4个RTSS处理器。重启电脑,在visual stdio工具中即可建立实时工程如图2所示。通过编译运行实时代码进行实时开发。图1图2三 intervalzero rtx64延迟视图工具intervalzero RTX64延

4、迟视图工具如图3所示,是RTX插件附带的一个程序, IntervalZero延迟视图工具显示Windows和RTX64内核之间的延迟比较。 系统定时器响应延迟测量为从子系统定时器中断发送信号到该信号被中断服务线程(IST)中运行的软件识别的总时间。 如图4所示,延迟由硬件延迟,(信号被中断服务程序(ISR)识别所花费的时间),以及软件延迟(从ISR到IST中的例程运行所花费的时间)组成 。图3 intervalzero RTX64延时视图工具图4延迟工具以1秒为间隔重复捕获数据,并为每个核心提供该时间段的最大值的图形显示。 每个磁芯还显示累计最小值,最大值和平均值。 可以从运行在Windows

5、内核上的32位和/或64位进程查看延迟值,并将其与运行在RTSS内核上的64位进程的延迟值进行比较。 可以选择向选定的内核添加视频和/或磁盘负载,模拟系统活动,以便更准确地显示繁忙系统上的最大延迟时间如图5所示选择加载磁盘负载来达到使系统繁忙情况下采集延迟值的数据。图5图6是在加载了磁盘负载的情况下,window系统内核的每个磁芯还显示累计最小值,最大值和平均值,图7在加载了磁盘负载的情况下,RTSS系统内核的每个磁芯还显示累计最小值,最大值和平均值。从显示的数据来看window系统内核的平均延迟为52us,53us,49us,49us,RTSS系统内核的平均延迟为2us,2us,2us,3u

6、s。RTSS系统响应延迟非常小,是window系统下响应延迟的1/26。图6图7那么实时window和非实时window下相同的程序运行结果会发生变化吗?我们进行了优先级翻转实时与非实时的对比试验进行观察。四 优先级翻转4.1 概念有优先级为A、B和C三个任务,优先级A>B>C,任务A,B处于挂起状态,等待某一事件发生,任务C正在运行,此时任务C开始使用某一共享资源S。在使用中,任务A等待事件到来,任务A转为就绪态,因为它比任务C优先级高,所以立即执行。当任务A要使用共享资源S时,由于其正在被任务C使用,因此任务A被挂起,任务C开始运行。如果此时任务B等待事件到来,则任务B转为就绪

7、态。由于任务B优先级比任务C高,因此任务B开始运行,直到其运行完毕,任务C才开始运行。直到任务C释放共享资源S后,任务A才得以执行。在这种情况下,优先级发生了翻转,任务B先于任务A运行。4.2 程序实现流程按照概念选择使用临界区建立线程1和线程3的共享资源,程序流程图如图8所示。首先建立三个线程1,2,3,并使3个线程挂起,为线程分配优先级。按照概念令线程1优先级最高,其次线程2,线程3优先级最低。初始化临界区,激活线程3,线程3处于运行状态执行占用临界区资源的指令。激活线程1,激活线程2,三个线程执行完后释放。图84.3 实时与非实时系统结果对比在window和RTSSwindow系统上实现

8、上述程序逻辑后。分别统计10次结果,window系统执行效果如图9所示,RTSSwindow如图10所示。Window系统下,程序执行不一定发生优先级翻转,而RTSSwindow系统下,程序均发生优先级翻转。图9图104.4 结论出现线程2先于线程1执行结果的情况即可认为优先级发生翻转,在本次实验window系统和RTSSwindow系统下模拟现实生活任务执行过程中出现的优先级翻转的情况,发现实时和非实时系统下执行效果具有如下差异:Ø 非实时情况下: 优先级不一定按照程序的逻辑效果进行翻转Ø 实时情况下: 优先级在观测下均发生发展,严格按照程序逻辑进行执行经思考,两者的差异来自于实时与非实时内核的延迟时间不同。实时系统在执行任务方面表现效果优于非实时系统。【注】:上次课堂上演示时,我说出现奇怪的结果,其实那种奇怪的结果是刚刚好线程3执行完线程2执行紧接着线程1出现的情况,这个也属于优先级翻转的情况,线程2先于线程1执行,并不是什么奇怪的结果。4.5 感悟 通过自己动手查资料,不断地思考,不断地发现问题,再不断地思考,最终学习到了很多之前没能深入思考的知识点

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论