- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
多核嵌入式实时操作系统测试方法.doc
多核嵌入式实时操作系统测试方法 摘要:嵌入式实时操作系统测试结果是嵌入式应用软件的重要参考依据,而对多核嵌入式实时操作系统需要考虑多核的因素对其功能、性能及安全性进行测试。评估多核嵌入式实时操作系统的时间性能,设计了不同的测试方法,考虑多核情况下核间同步时间。针对某国产多核嵌入式实时操作系统的测试方法,在测试项目实施过程中方法可行。 中国 8/vie 关键词:多核嵌入式操作系统;时间性能;测试方法 中图分类号:TP316.2 文献标识码:A :1007-9416(2017)02-0184-04 在单核操作系统中,内核负责任务管理、资源管理、中断管理、事件处理及通信管理等工作。在多核操作系统中,这些功能同样具有,除此之外,还包括核间通信与同步、核间任务调度管理、资源共享及设备管理等部分。性能方面主要考虑任务切换时间、中断响应时间、运算性能、信?量延迟时间、内存读写性能等常规的嵌入式实时操作系统性能以外,针对多核还需要检测核间同步时间,针对图形的操作系统检测图形的运行性能,针对文件系统进行文件读写性能。以下是针对某国产多核嵌入式实时操作系统的测试方法。 1 功能测试 针对多核嵌入式实时操作系统以下几方面的功能进行测试: 多核管理功能:操作系统能在系统初始化阶段,完成引导可用的所有处理器核。支持处理器集合操作,对处理器核能够进行启停状态查询的功能进行测试,通过对已加载被测系统的目标机上电,在上电完成后监测所有处理器核的启停状态,验证多核管理功能的正确性。 多核同步功能:提供自旋锁、原子操作、内存屏障等机制实现多个处理器核间数据可重入的功能进行测试,通过运行测试程序,构建多个任务,对比使用和不使用自旋锁的方式访问共享的临界资源,监测这些任务对临界资源访问的正确性(符合数据的可重入),验证多核同步功能的正确性;通过在使用内存屏障的情况下,多任务并发访问同一全局变量,通过对比编译之后的汇编代码及运行结果,验证多核环境下内存屏障能够保证数据运算顺序的正确性;通过运行测试程序,对启用原子操作和不启用原子操作时程序运行结果进行对比,验证多核环境下启用原子操作能够保证运行结果的正确性。 多核调度功能:支持多核并行运行,支持核心可抢占、提供基于优先级抢占调度、时间片轮转调度,保证任务不会有饿死的情况;采用统一的任务队列管理,基于高效的核间中断机制实现多核任务统一调度,赋予多核环境中各CPU调度本地就绪队列的能力;支持处理器亲和性,提供任务和中断绑定到指定处理器核的编程接口,用户可以根据应用的需要把任务绑定到指定的处理器核上运行的功能进行测试。通过运行测试程序,测试多种优先级任务组合情况下,同时运行的环境下监测任务调度情况,查看系统中各个CPU的负载情况,验证多核调度功能的正确性。设置了如下几种优先级任务组合情况,查看是否依据任务优先级进行调度,假设任务优先级由0~255个级别。 运行4个任务,优先级相同(250),不指定运行在哪个cpu上,观察4个任务在cpu上的分布情况,之后运行4个新任务,优先级逐一提高(251、252、253、254),观察任务抢占调度。是否高优先级任务抢占低优先级任务。四个核上运行任务为(251、252、253、254),待这4个任务完成之后再运行优先级为250的4个任务。 运行4个任务,优先级各不相同(250、251、252、253),不指定运行在哪个cpu上,观察4个任务在cpu上的分布,之后运行4个新任务,优先级逐一提高(251、252、253、254),观察任务抢占调度。是否高优先级任务抢占低优先级任务。251的抢250、252的抢251、253的抢251、254的抢252,此时四个核上运行的任务应该为254、253、253、252,待任务运行完之后再按顺序调度252、251、251、250的任务。 运行4个任务,优先级相同(250),不指定运行在哪个cpu上,观察4个任务在cpu上的分布,之后运行4个新任务,优先级逐一提高(251、252、253、254),观察任务抢占调度;之后动态调整优先级252任务的优先级到249,观察任务抢占调度。是否高优先级任务抢占低优先级任务。动态调整优先级252任务的优先级到249后,252任务运行的核被优先级为250的任务抢占。 运行4个任务,优先级各不相同(250、251、252、253),指定cpu(对应顺序0、1、2、3),观察4个任务在cpu上的分布。是否每个任务运行在指定的核上。 运行4个任务,优先级各不相同(250、251、252、253),指定cpu(对应顺序0、1、2、3),观察4个任务在cpu上的分布;之后运行4个新任务,不指定CPU,优先级254,观察任务抢占调度。是否高优先级任务抢
文档评论(0)