电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

嵌入式linux实时性分析与验证--林大版

21页
  • 卖家[上传人]:第***
  • 文档编号:61116897
  • 上传时间:2018-11-24
  • 文档格式:DOC
  • 文档大小:227KB
  • / 21 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 1、东 北 林 业 大 学嵌入式Linux实时性分析与验证总页数:21正文:20附录:0目 录1嵌入式实时性操作系统简介11.1什么是实时性11.2什么是实时性嵌入式操作系统11.3评价嵌入式实时操作系统的指标11.4嵌入式实时操作系统业界水平21.4.1VxWorks嵌入式操作系统21.4.2COS-II嵌入式操作系统31.4.3Clinux嵌入式操作系统31.4.4eCos嵌入式操作系统31.4.5RTXC嵌入式操作系统31.5RTOS硬件和软件方面的要求41.5.1可预测性41.5.2可靠性42Linux作为嵌入式实时操作系统的分析42.1需要改进的地方42.1.1待改善的内核结构42.1.2实时性方面的不足52.2测试通用Linux实时性的方法62.2.1中断响应时间测试62.2.2调度延迟时间测试83目前业界改进Linux的典型案例103.1Kurt-Linux103.2Red-Linux103.3MontaVista-Linux113.4RT-Linux及RTAI114改进Linux实时性的基本策略124.1兼容内核方法124.2双内核方法134.3核心内核方法144.4资源内

      2、核方法145通过patch提高通用Linux实时性提升的方法145.1Ingo Molnar 的实时补丁141 嵌入式实时性操作系统简介1.1 什么是实时性所谓实时,就是系统的正确性不仅仅依赖于计算的逻辑结果的正确性,执行时间还必须是确定的,可预测的,并且在任何情况下都能保证任务的时限。及时、准时。1.2 什么是实时性嵌入式操作系统嵌入式操作系统的一般的定义为:以应用为中心、以计算机技术为基础、软件硬件可裁剪、功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。实时嵌入式操作系统是符合上述要求并具有实时性的操作系统。实时性系统一般分为两类:(1) 硬实时系统:要求可确定性强,具有明确的实时约束,在某个限定的时刻之前不能完成任务将造成灾难性的后果。(2) 软实时系统:也对时间敏感,但偶尔发生不能满足严格实时要求的情况也是允许的。1.3 评价嵌入式实时操作系统的指标嵌入式系统实时性一般来说通过三个指标来衡量,即响应时间、生存时间和吞吐量。但借鉴与Linux其它功能方面的表现已经非常出色,改造Linux过曾中采用如以下6个具体延迟时间指标。(1) 中断分配时间IDT(interruptd

      3、ispatchtime):当一个中断产生时,在调用中断处理程序占用CPU以前,操作系统用来保存所有的寄存器中的内容和系统中其他的关于这一任务状态的时间。(2) 中断服务时间:IST(interruptservicetime):中断服务程序用来从硬件设备读取信息或从操作系统收集信息所用的时间。(3) 内核抢占时间KPT(kernelpreemptiontime):在操作系统意欲抢占当前进程与抢占实际上发生之间的时间间隔。(4) 调度延迟SD(scheduledelay):调度程序用来调度另一个线程投入运行的时间。(5) 进程切换时间CST(contestswitchingtime):当前线程用来保存寄存器和系统状态的时间与将要运行的线程恢复寄存器中的内容和系统状态的时间总和。(6) 系统调用返回时间RST(returnfromsystemcall):处于内核态的线程在它返回用户态之前检查一些状态所用的时间。其中SD,CST,RST总是固定不变的,如果内核设计得当IDT,IST和KPT可以有效得减少。下图 1-1为Linux2.4进程切换的过程图,可作为参考。图 1-1Linux2.4内核

      4、任务响应模型1.4 嵌入式实时操作系统业界水平1.4.1 VxWorks嵌入式操作系统VxWorks是美国WindRiver公司的产品,是目前嵌入式系统领域中应用很广泛,市场占有率比较高的嵌入式操作系统。 VxWorks实时操作系统由400多个相对独立、短小精悍的目标模块组成,用户可根据需要选择适当的模块来裁剪和配置系统;提供基于优先级的任务调度、任务间同步与通信、中断处理、定时器和内存管理等功能,内建符合POSIX(可移植操作系统接口)规范的内存管理,以及多处理器控制程序;并且具有简明易懂的用户接口,在核心方面甚至町以微缩到8 KB。 1.4.2 COS-II嵌入式操作系统COS-II是在C-OS的基础上发展起来的,是美国嵌入式系统专家Jean JLabrosse用C语言编写的一个结构小巧、抢占式的多任务实时内核。COS-II能管理64个任务,并提供任务调度与管理、内存管理、任务间同步与通信、时间管理和中断服务等功能,具有执行效率高、占用空间小、实时性能优良和可扩展性强等特点。 1.4.3 Clinux嵌入式操作系统Clinux是一种优秀的嵌入式Linux版本,其全称为micro-c

      5、ontrol Linux,从字面意思看是指微控制Linux。同标准的Linux相比,Clinux的内核非常小,但是它仍然继承了Linux操作系统的主要特性,包括良好的稳定性和移植性、强大的网络功能、出色的文件系统支持、标准丰富的API,以及TCPIP网络协议等。因为没有MMU内存管理单元,所以其多任务的实现需要一定技巧。 1.4.4 eCos嵌入式操作系统eCos(embedded Configurable operating system),即嵌入式可配置操作系统。它是一个源代码开放的可配置、可移植、面向深度嵌入式应用的实时操作系统。最大特点是配置灵活,采用模块化设计,核心部分由小同的组件构成,包括内核、C语言库和底层运行包等。每个组件可提供大量的配置选项(实时内核也可作为可选配置),使用eCos提供的配置工具可以很方便地配置,并通过不同的配置使得eCos能够满足不同的嵌入式应用要求。 1.4.5 RTXC嵌入式操作系统RTXC是C语言的实时执行体(RealTime eXecutive in C)的缩写。它是一种灵活的、经过工业应用考验的多任务实时内核,可以广泛用于各种采用8/16位

      6、单片机、16/32位微处理器、DSP处理器的嵌入式应用场合。中国单片机公共实验室“经过几年的考察,认为比较适合中国的国情后,引入中国市场的”嵌入式实时多任务操作系统两者之一。1.5 RTOS硬件和软件方面的要求1.5.1 可预测性实时系统的要求能够对实时任务的执行时间进行判断,确定是否能够满足任务的时限要求。由于实时系统对时间约束要求的严格性,使硬件延迟的可预测性成为实时系统的一项重要性能要求。此外,还要求操作系统,包括应用程序的响应时间是可预测的。1.5.2 可靠性 在一些重要的实时应用中,任何不可靠因素和计算机的一个微小故障,或某些特定强实时任务超过时限,都可能引起难以预测的严重后果。为此硬件和其软件的可靠性成为衡量实时系统性能不可缺少的重要保障。2 Linux作为嵌入式实时操作系统的分析2.1 需要改进的地方2.1.1 待改善的内核结构Linux内核采用的是单内核结构(Monolithic),整个内核是一个单独的、非常大的程序,这样虽然能够使系统的各个部分直接沟通,有效地缩短任务之间的切换时间,但与嵌入式系统存储容量小、资源有限的特点不相符合。嵌入式系统经常采用的是另一种称为微内

      7、核(Microkernel)的体系结构,即内核本身只提供一些最基本的操作系统功能,而类似于文件系统和网络协议等附加功能则运行在用户空间中。见下图2-1、图2-2:微内核的执行效率虽然比不上单内核,但却大大减小了内核的体积,便于维护和移植,更能满足嵌入式系统的要求。可以考虑将Linux内核部分改造成微内核。2.1.2 实时性方面的不足 Linux虽然符合POSIX1003.1b关于实时扩展部分的标准,但仍然存在如下缺陷:(1) 定时器问题:Linux的周期模式定时器频率仅为1O0Hz,远不能满足实时应用的要求。(2) 调度问题:Linux虽然给实时进程提供了较高的优先级,但是并没有加入时间限制。另外,当多个实时进程互斥请求共享资源时,易发生优先级翻转。(3) 中断关闭问题:Linux的内核进程经常关闭中断以尽快完成自己的任务,如果低优先级的进程关闭了中断,那么即使有高优先级进程的中断发生,系统也无法响应。(4) 中断优先级问题:在一个有非常繁重的网络负载和I/O负载系统中,很有可能出现一直处在中断处理状态而没有机会运行任何实时任务。(5) 抢占问题:虽然Linux2.6开始引入了可抢占内

      8、核,但它是不完全抢占的,在这种不可抢占区域还需要给予更多的抢占点才能满足实时性的要求。(6) 虚拟内存管理问题:对于分时系统来讲这是一个好的解决办法,而对于实时系统却带来不可忍受的不可预测性。2.2 测试通用Linux实时性的方法根据上述的实时操作系统指标将对通用的Linux内核进行实时性测试,测试的方法是用TSC对中断响应时间和调度延迟进行精确计时。2.2.1 中断响应时间测试2.2.1.1 测试原理2.2.1.2 测试环境测试平台: VM下的CentOS5.5 Kernel: 2.6.18 CPU : Itel(R) Celeron(R) CPU 2.8GHz 内存:1.5GB2.2.1.3 测试代码#include#include #include #include #define rdtsc(low,high) _asm_ _volatile_(rdtsc : =a (low), =d (high)static void sig_usr(int);int now,last,high;int main() int i=0; if (signal(SIGINT,sig_usr)=SIG_ERR) printf(cant catch SIGINT); while(i+100) / rdtsc(last,high); raise(SIGINT); rdtsc(last,high); return 0;static void sig_usr(int signo) if(signo=SIGINT) rdtsc(now,high); printf(%dn,now-last); else printf(received signal %dn,signo); return ;2.2.1.4 测试结果响应时间数量级大概在 5微妙 跟网上的对于2.6内核的中断响

      《嵌入式linux实时性分析与验证--林大版》由会员第***分享,可在线阅读,更多相关《嵌入式linux实时性分析与验证--林大版》请在金锄头文库上搜索。

      点击阅读更多内容
    最新标签
    监控施工 信息化课堂中的合作学习结业作业七年级语文 发车时刻表 长途客运 入党志愿书填写模板精品 庆祝建党101周年多体裁诗歌朗诵素材汇编10篇唯一微庆祝 智能家居系统本科论文 心得感悟 雁楠中学 20230513224122 2022 公安主题党日 部编版四年级第三单元综合性学习课件 机关事务中心2022年全面依法治区工作总结及来年工作安排 入党积极分子自我推荐 世界水日ppt 关于构建更高水平的全民健身公共服务体系的意见 空气单元分析 哈里德课件 2022年乡村振兴驻村工作计划 空气教材分析 五年级下册科学教材分析 退役军人事务局季度工作总结 集装箱房合同 2021年财务报表 2022年继续教育公需课 2022年公需课 2022年日历每月一张 名词性从句在写作中的应用 局域网技术与局域网组建 施工网格 薪资体系 运维实施方案 硫酸安全技术 柔韧训练 既有居住建筑节能改造技术规程 建筑工地疫情防控 大型工程技术风险 磷酸二氢钾 2022年小学三年级语文下册教学总结例文 少儿美术-小花 2022年环保倡议书模板六篇 2022年监理辞职报告精选 2022年畅想未来记叙文精品 企业信息化建设与管理课程实验指导书范本 草房子读后感-第1篇 小数乘整数教学PPT课件人教版五年级数学上册 2022年教师个人工作计划范本-工作计划 国学小名士经典诵读电视大赛观后感诵读经典传承美德 医疗质量管理制度 2
     
    收藏店铺
    关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
    手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
    ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.