Linux的实时性改造及测试 Linux的实时性改造及测试

Linux的实时性改造及测试

  • 期刊名字:电子质量
  • 文件大小:846kb
  • 论文作者:刘彧,樊炜华,罗子明
  • 作者单位:西安交通大学
  • 更新时间:2020-09-03
  • 下载次数:
论文简介

试技术卷理论与研究TechnologyLi nux的实时性改造及测试Research and I nmpl enent at i on of Real-ti ee Li nux刘彧1,樊炜华2,罗子明3Liu Yu', Fan Wei-hua, Luo Zi ming1.西安交通大学机械工程学院陕西College of Mechanical Engineering, Xi'at西安710049;2.西安交通大学电子与Jiaotong University, Xi' an 710049, China: 2信息工程学院,陕西西安710049;3西安交通大学机械工程学院,陕西710049, China: 3. College of MechanicalEngineering, Xi'an Jiaotong UniDn西安710049710049, China)摘要:本文针对如何在有效利用 Li nux能够方便地移植到不同应用平台的优势的同时使其能够满足实时应用的翌求,对Linu-2.6.9核心进行了改造。首先,通过 RED Li nux9项目,在实时硬件抽象层(RTHL)上建立实时应用借口(RTAI),在新内核 Li nux-2.6.9-adeos上实现了RTAI,并进行了任务切换延迟、实时程序和普通程序三种测试最后对RTAI、 RTLI nu两种改造方案进行了比较关键词:实时; Li nux; RTHAL;RTAI; RTLi nux中图分类号:TP316.2文献标识码:A文章编号:1003-0107(2007)05-0009-04Abstract: To make use of the advantage of being easily migrated on different application flatports of Linux, and satisfy the real-time demand as well, the real-time ability of Linux 2.6.9oved. Firstly, construct the RTHAL, on which the RTAI was based, and thenew kernel was tested by task-delay program, real-time program and user program. At last,the two methods of RTAl and RTLinux were comparedKey words: Real-time; LinuxCLC number: TP316.2Document code: A Article ID: 1003-0107(2007)05-0009-04引言第—, Li nux的核心进程是不时钟中断越频繁。Linuⅹ通过对硬伴随着科技不断的日新月异推能被抢先的。即如果有Liηux的核件时钟编程产生周期为100Hz的陈岀新,信息家电、手持设备、无线心态进程在运行时,其他进程不管时钟中断,仼务调度的时间精度最备等个性化设备的出现,智能其优先级多高都必须等待高能达到10ms,这无法满足一些化、网络化将会无所不在,所有这第二, Li nux的进程调度方式对时间精度要求苛刻的实时应用些都离不开嵌入式软件,而在嵌入不是完全抢占式的。但是在实时系式软件中最核心的莫过于RTos统中,高优先级的进程决不能等待2.2调度算法改进的缺陷( Re aI ti me Oper a t i ng低优先级的进程用户可以改变调度算法使实时Syst en实时操作系统)1。由于第三,在系统调用中,为了保进程循环或定时被调用,并能锁定全世界各地的 Li nux用户和开发护临界区资源, Li nux会长时间关内存中的实时进程,从而使其页面者的不断努力, Li nux已成长为稳掉中断。这种情况在实时系统中是不被交换岀去。这两种方法是定性高且性能优异的操作系统,开不允许发生的。POSI X.1b-1993标准的一部分,发一个基于 Li nux的开放式、标准第四, Li nux采取了“虚拟内这个标准定义了实时进程,它也被化、高效亷价的实时操作系统是完存”的内存管理方式。即LiηuX利Liηux采用。在新版的 Li nux中,全可行的。本文将在PC机上用两用交换空间让进程运行在一个比实系统调用提供了如下操作:锁住内种方法实现Linuⅹ操作系统的实际内存大的虚拟内存空间里。它使存中的用户页面;修改调度规则使时性改造得操作花费的时间具有不可预测基本进程具有特权;对信号进行更性,在实时系统中是不允许的可靠的处理。但该标准不能解决所2. Li nux用于实时系统存在的第五,操作系统必须对时间精有的问题,其目标是实现所谓的软问题度和时钟中断处理的时间开销进2.1标准 Li nux的几点制约2折中考虑,时间精度越高,意味着YH中国煤化工CNMHG·2007第05其EL ECTRONICS QUALITY毛子质茧理论与研究测试技术卷3.有效的Linuⅹ实时性改造方4.RTAI的实现与测试max: 2273 average: -2410案4.1实现机制2005/061510:31:36min:-11790 3. 1 RTAIRTAI将 Li nux ker ne看作max:2729 average:-241RTAI修改了 Ii nux/arch/是一个空闲任务,仅当没有实时任2005/061510:31:37min:-11791386中与体系结构相关的代码而多,且实时内核处于空闲状态时,m3079624形成了 RTHAL I层。 RTHAL对内核执行这个任务。 Linux任务不能阻2005/06/510:31:38min:-1179口的改动很小,这样当内核版本升级塞中断或阻止自己被剥夺max:3679x时,RTA的移植工作量就会比较亥机制的实现方法是用软件模2005/061510:31:39min:-142小,而且也比较容易把RTAI移植拟中断控制硬件。当任何 Li nuxmax: 3679 average: -226UΦ到别的操作系统上。 RTHAL的作用码试图关闭中断,实时系统截取并2005/061510:31:40min:-142是使RTAI能够在实时任务需要运记录它,并将其返回给nux,无mx079age:26∩行的任何时刻中断 Li nux。引入论Lnux的状态如何,当一个中断结果分析:在这个测试结果中RTAI后,Linuκ的功能没有改变发生,实时内核截荻这个中断并决出现了负号是因为mn和mx被定但运行于最低优先级下,当无实时定分发到哪里。如果存在该中断的义为 r t_ge t-time()103任务执行时它才允许执行。系统结实时处理函数,则相应的函数被调 expect ed,它是反应时间和期望构图如图1。用,如果没有,或者该处理函数要值的差值,负号表示比期望更快将此中断分享给 Li nux,则中断被正号表示比期望慢。在测试结果3.2 RTLi nux标为挂起。无论 Li nux运行在用户中,平均值为负数,说明总体的平RTLi nUx由新墨西哥大学的态或是内核态,开中断还是关中均仼务切换延迟比期望的要短,也Vi ctor yoda ken等人开发的,断,实时系统都可以响应中断。就是RTAI实现了实时性要求。是一个严格遵守 POSIX1003.13技术规范的硬实时操作系统,主要4.2实现方法4.3.2测试方案二应用于仪器设备和嵌入式系统。通值得注意的一点是需要有与内编写方波测试程序进行实验过修改 Ii nux/arch/i386/下与核相对应的RTAI补丁包。本文使用并口输出方波到示波器可以直观体系结构有关的部分,在Linuⅹ与用的内核为Linuⅹ-2.6.9,补丁地看到RTAI的实时效果。本文使硬件之间创建一个硬实时内核。包为rtaj-3.1首先需要用两种方波程序测试RTAI的实时Linuⅹ作为此内核的一个优先级 pat c h新内核,然后在旧的配置基性:一种是实时程序;一种是普通低的任务运行。硬实时仼务都在硬础上升级内核配置。用户程序。其中,实时程序.C需要实时内核上运行,而所有非实时任有相应的 MakefiLe文件,普通用务都在 Li nux上运行。 RTLi nux4.3测试及结果演示户程序要用gcc编译器编译后再测的数据和控制流程见图2。Linux[linux[实时实时4.3.1测试方案①实时程序测试使用RTAI-3.1自带的测试编译通过以后,将计算机与示Linux内核程序。该程序能够显示任务切换最波器用并口连接起来,逐步执行大延迟、最小延迟及平均值,毎秒 st ar t.sh的命令,在示波器上我实时内核(RTAI)钟输出一次结果,具体演示如下:们将看到实时内核得到稳定的方波硬件抽象层( RTHAL)## RTAllatency calibration tool#输出,然后我们给CPU加重负荷图1 Linux/RTAI的系统结构图#period=100000(ns)可以使用 updat edb,也可以打开enfin,这时大家将会惊奇的Linuxcheck overall worst case发现方波频率仍然稳定!在测试工作中采集了50KHz的方波图像,如Linux内核RT进程图3(a(见下页),以及增加CPU实时内核(RTAI#timer mode is oneshot负荷之后的方波图像,如图3(111(见下页)。硬件中断nax: 2273 average: -235中国煤化工测试图2 RTLinux数据和控制结构图2005/06/510:31:35min:-11CNMHGect rectc子质ELECTRONICS QUALITY·2007第05期·测试技术卷理论与研究Test Technology编译该程序通过后,在示波器上同统在实时应用中能够保证实时任务样出现方波,与实时程序不同的是的时间片,在系统分配资源时不会5.3测试结果比较当我们使用 updat edb命令或者做受到其它进程的影响,起到了非实在进行性能测试时,我们采用打开一个文档的动作时,方波将会时操作系统实时化的效果;而没有软件读取定时计数器值的方法,在因为CPU当前的负荷加重而跳跃,调用实时模块的进程将会受到其它不同时刻读取计数值,其差值即为甚至在不做任何动作时,方波也会进程的影响,不具有实时性。另外,测试数据。从中断确认开始读取定由于系统的一些后台工作对资源的在测试过程中我们发现,实时程序时计数值,操作系统进行进入中断调用而不稳定。受影响前后的方波所得到的方波的最大频率可达的内核系统调用,接着执行服务程x图像如图4(a),图4(b)。50KH,而普通程序所得到的方波序,在服务程序的第一条指令前再m结果分析:实时程序和普通程的最大频率只有50Hz,也就是说读取定时计数值,两者之差即为中序的不同测试结果表明改造后的系实时程序可以以10u5/格的速度断响应时间。在多任务的情况下,输出高低电平,而普通程序最快也执行 RTLi nuⅹ操作系统,结果为只有10m5/格。在实际的实时应用7-9us。执行 Li nux,其中断响应中,表现为实时任务切换能够在很时间为490us·18π5。在单任务情短的延迟内得到响应。这就达到了况下,执行 RTLi nux,中断响应时:11实时操作系统的要求。间为4-7u5,执行 Li nux,其中断响应时间为4-9us6。5. RTLi nux的实现与测试从测试结果可以看出,在单任1 RTI nux的实现机制务情况下,体现不出 RTLi nux与图3(a)50KH的实时程序方波采用 Li nux标准内核与 Li nux在中断响应时间上的差距RTLi nUX的实时内核相结合,由但在多任务情况下,从测试得到的实时内核提供时间保证,标准内核数据来看,二者的差距非常明显提供扩展功能,即可实现基于这表明了 RTLI nUx采用双核机制Li nux的实时操作系统。 RTLi nuⅹ和实时调度算法,能提供很好的实通过一个高效的、可抢先的实时调时性。度核心来全面接管中断,并把Lⅰnux作为此实时核心的一个优6. RTLi nux与RTA的比较图3(b)打开 openfile后的实时先级最低的进程运行。当有实时任RT- Li nux属于硬实时,将程序方波务需要处理时, RTLi nux运行实 Li nux内核设计为可被抢占的,主时任务;无实时任务时, RTLi nux要方法是实现一个实时内核负责处运行 Li nux的非实时进程理硬件消息,接管中断,实时任务RTLi nux伤真了 Li nux内核的中可在该内核上直接运行。RTAI的断控制器。这样即使在被CPU中技术实现类似,但更成熟和完善。断,同时 Li nux内核请求被取消的RTAI和 RT-Li nux最大的不情况下,关键的实时中断也能够保同地方在于它适当的在Lⅰnuⅹ上定图4(a)50Hz的普通程序方波持激活义了一组 RTHAL。 RTHAL将RTAI需要在Linuⅹ中修改的部份定义成5.2实现方法组程序界面,RTAI只使用这组界将 RTI nux-3.1 Pat ch到面和 Li nux沟通。这样,可以把对小型化的Linuⅹ-2.4.4内核上,内核源码树的改动降低到可以控制重新编译内核,将内核配置为支持的程度,将直接修改Linuⅹ内核的多线程,支持硬实时,支持加载模程序代码减至最小,其优点是尽量块,形成—个新的具有实时性能的减少RTAI移植到新版 Li nux的工核心。这样,一个具有实时操作系作量。提供了更多的实时通信机制,图4(b)打开 open i Ie后的普通统特征的软件开发平台就搭建起来中国煤化工。re、实时程序方波了HCNMHGue等IPC机·2007第05其EL ECTRONICS QUALITY毛子质理论与研究测试技术卷制,实时任务和非实时任务都可以人电脑设计的操作系统,可以免费南[M·北京:中国电力出版社,2002调用。并且用户态进程也有相应的分发,并且兼容Unix,已经受到越[2]漆昭玲.基于 Power PC的嵌入⊙调用来与之通信。在 Li nux内核上来越多用户的重视和欢迎,成为版社,2004式 Li nux[M.北京:北京航空航天大学出以较小的改动,提供了接口,而把 W ndow操作系统之外的一个[3]于旭,基于 Li nux的实时内核实时调度和实时1Pc机制都用内核有发展前途的操作系统:而MRTAI的实现机制研究[].网络与信息,5 pdu e来实现dows Nt只部分兼容POSIⅩ10034] Terre Haut e, Fedor a Core 3-实时规范,在实时领域使用的并不6. 9-adeos HoC CP]. htt p://vw cSx7.结论多,所以将实时性与 Li nux操作系rose- hul man.edu/,2005,1实时操作系统在计算机应用的统相结合具有非常重要的意义。通[5] Rober t Kr ohn RtLi nux HowOo∽ooΦ许多重要领域起着不可替代的作过这项技术研究,不仅摸索出了实[cp].http://wwwfsmabscond,2005[6]夏一民,罗军,邓胜兰,实时用。这些领域对每个关键任务所用时性能更好的改进方案,同时也为Lnux操作系统初探[J].计算机应用研∩的最长时间都有着严格的要求,只嵌入式操作系统实时性研究和多平究,200有采用实时操作系统才能够保证关台移植提供了工作基础和一些理论●键任务能在规定的时间内完成。这依据。◆12ξ些应用的需求极大的促进了实时操参考文献作系统的发展。Linuⅹ作为普通个1]唐寅.实时操作系统应用开发指大大大大大上接08页_5源信号手枪机枪火炮轮式车辆坦克分离信号()参考文献0.98040.1941-0.00320.07100.0121-00232sour ce separ at i on-sem par aretri c0.81310.01010.48630.04740.2747st at i sti cal appr oach [J]. IEEE Transon si gnal Pr ocessi ng, 1997, 45(11)0.002-0.04590.00110.07010.99710.0232692-2700.2] Anari S,et al. A new I earn ng(a)多目标声信号al gor i t hm f or bl i nd separ at i on ofsour ces[Al. Advance源信号坦克1旦克3坦克5I nf or mat i on Pr ocessi ng, 8[ C]. MT分离信号Pr ess, Cambri ge, 1996, 757-7630.9385[3] A Bel I and0.04620.0625-0.8360.0383i nf or nat i on- rmaxi m zat i on appr oach0.1125890.1603001240.97940.35840.75580.05310.19920.51280.1069bl i nd separ ation and bl i nd0.04360.06720.99580.03720.00480.0387deconvol ut i on, Neur al Comput., vol. 70.09140.092800393-0.9796006930.1342(b)不同坦克声信号源信号直声机1直声机2直声机3直声机4直声机5直声机60.0330.02480.7417-0.02370.668303464-0.11240.02220.2378-0.9040.0366y(0)06862001840.032405930.4229001730.04900.98080.00840.0225-0.18840.0191ys(O)0.0010.0642-0.10430.05330019209923Y(D0.6074-0.07730.00640.79830.04810.0255(c)不同直声机声信号表1源信号和分离信号相关系数H中国煤化工CNMHG子质LECTRONICS QUALITY·2007第05期·

论文截图
版权:如无特殊注明,文章转载自网络,侵权请联系cnmhg168#163.com删除!文件均为网友上传,仅供研究和学习使用,务必24小时内删除。