
设计开发
多核嵌入式实时操作系统测试方法
沈昱园傅俊彦
(中国电子科技集团公司第三十二研究所,上海201800)
热事共本与质用
摘要:嵌入式实时操作系统测试结果是嵌入式应用软件的重要参考依据,而对多核嵌入式实时操作系统需要考虑多核的因素对其功能、性能及安全性进行测试。评估多核嵌入式实时操作系统的时间性能,设计了不同的测试方法,考虑多核情流下核间同步时间。针对某国产多核嵌入式实时操作系统的测试方法,在测试项目实施过程中方法可行。
关键词:多核嵌入式操作系统;时间性能;测试方法
中图分类号:TP316.2
文献标识码:A
在单核操作系统中,内核负责任务管理、资源管理、中断管理,事件处理及通信管理等工作。在多核操作系统中,这些功能同样具有,除此之外,还包括核闻通信与同步、核间任务调度管理、资源共享及设备管理等部分。性能方面主要考虑任务切换时间、中断响应时间、运算性能、信号量延迟时间、内存读写性能等常规的最人式实时操作系统性能以外,针对多核还需要检测核间同步时间,针对图形的操作系统检测图形的运行性能,针对文件系统进行文件读写性能。以下是针对某国产多核嵌人式实时操作系统
的测试方法。 1功能测试
针对多核联人式实时操作系统以下几方面的功能进行测试多核管理功能:操作系统能在系统初始化阶段,完成引导可用
的所有处理器核。支持处理器集合操作,对处理器核能够进行启停状态查询的功能进行测试,通过对已加载被测系统的目标机上电,在上电完成后监测所有处理器核的启停状态,验证多核管理功能的正确性。
多核同步功能:提供自旋锁、原子操作、内存屏障等机制实现多个处理器核间数据可重人的功能进行测试,通过运行测试程序,构建多个任务,对比使用和不使用自旋锁的方式访问共享的临界资源,监测这些任务对临界资源访问的正确性符合数据的可重人),验证多核同步功能的正确性,通过在使用内存屏障的情况下,多任务并发访间同一全局变量,通过对比编译之后的汇编代码及运行结果,验证多核环境下内存屏障能够保证数据运算顺序的正确性;通过运行测试程序,对启用原子操作和不启用原子操作时程序运行结果进行对比,验证多核环境下启用原子操作能够保证运行结果的正确性。
多核调度功能:支持多核并行运行,支持核心可抢占、提供基于优先级抢占调度、时间片轮转调度,保证任务不会有饿死的情况,采用统一的任务队列管理,基于高效的核间中断机制实现多核任务统
收稿日期:2017-02-08
文章编号:1007-9416(2017)02-0184-04
一调度,赋争予多核环境中各CPU调度本地就绪队列的能力,支持处理器亲和性,提供任务和中断绑定到指定处理器核的编程接口,用户可以根据应用的需要把任务绑定到指定的处理器核上运行的功能进行测试。通过运行测试程序,测试多种优先级任务组合情况下,同时运行的环境下监测任务调度情况,查看系统中各个CPU的负载情况,验证多核调度功能的正确性。设置了如下几种优先级任务组合情况,查看是否依据任务优先级进行调度,假设任务优先级由0~ 255个级别。
运行4个任务,优先级相同(250),不指定运行在哪个cu上,观察 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、252253),指定cpu(对应顺序0.1,2.3),观察4个任务在cpu上的分布。是否每个任务运行在指定的核上。
运行4个任务,优先级各不相同(250.251.252.253),指定
作者简介:沈曼园(1982一),女,上海人,工程师,硕士,研完方向:软件测评,软件工程化。万方数据