基于Linux的嵌入式实时操作系统

来源 :中国信息技术教育 | 被引量 : 0次 | 上传用户:zjjsdsxq
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘要:本文简单介绍了实时操作系统的概念,并对标准Linux操作系统作了分析,介绍了以Linux为基础的实时操作系统的特点,及对标准Linux操作系统修改的常用方法。
  关键词:Linux;嵌入式;实时操作系统
  
  引言
  
  Linux操作系统是一个功能强大、稳定和通用的操作系统,它持多用户和多进程,支持TCP/IP等网络协议,具有图形用户界面和强大的开发工具。由于Linux代码公开,遵循GPL条款,因此Linux越来越广泛地应用于嵌入实时环境中。
  操作系统的某些方面与实时应用密切相关,例如中断机制和细粒度定时器直接关系到对外部事件的响应速度;内核本身是否被抢占关系到实时任务是否可及时占有系统资源;实时调度策略决定了实时操作系统可应用的范围和处理器利用率。
  实时操作系统所遵循的设计原则是:采用各利,算法和策略,始终保证系统行为的可预测性。可预测性是指在系统运行的任何时刻,在任何情况下实时操作系统的资源调配策略都能为多个实时任务合理分配资源,使每个实时任务的实时性要求都能得到满足。
  
  Linux与嵌入式实时操作系统
  
  实时操作系统是指一个能够在指定时间内完成特定功能或者对外部的异步事件做出响应的操作系统。
  嵌入式实时操作系统要求快速、可预测等特点,必须保证实时任务在要求时间内完成。现有的Linux是一个通用的操作系统,尽管它采用了许多技术来加快系统的运行和反应速度,但是它本质上不是一个嵌入式实时操作系统,不能直接应用于嵌入式实时环境。Linux是通用的操作系统,通用操作系统的设计原则是最大限度地利用各种资源,尽量公平地调度各个进程,以获得最佳的整体性能,因此将Linux应用于嵌入式实时环境有以下几点制约因素:
  1.Linux的核心态进程是不能被抢先的。
  2.Linux的进程调度方式不是完全抢先式的。
  3.Linux内核的进程经常关闭中断以尽快完成自己的任务。
  4.Linux采取了“虚拟内存”的内存管理方式。
  5.在Linux中,高优先级的进程不能抢占低优先级进程的资源。
  
  Linux内核实时化方法
  
  独立核方法
  Linux实时系统的独立核方法是指设计一种完全独立的实时核心,但其API与Linux核心相兼容。这种方法的理论基础是必须在其设计之初就要充分考虑系统的实时性要求。这种方法的局限性是由于设计了一个完全独立的实时核心而没有使用原有的Linux核心,导致了Linux系统的一些优势难以继承。另外,由于这种方法并没有通过修改Linux核心代码来开发实时核心,而是在Linux系统之上重新设计了一个核心,这样的开发并不要求源代码开放,因此Linux一些基于开放源代码的优势也会受到影响。
  
  双核方法
  这种方法在同—硬件平台上采用了两个相互配合,共同工作的系统核心,一个核心提供精确的实时多任务管理,另一个核心提供复杂的非实时通用功能。这种方法是通过在Linux操作系统的最底层增加一层实时核心层来实现,实时核心层负责硬件管理并提供实时任务管理。
  这种方法的关键所在是运行在常规Linux核心上的所有非实时任务必须是支持可抢占式调度,这样才能做到对实时核心提供精确实时保证而不受到任何影响。由于实时核心非常小,并不会增加整个系统的负载,所有这些对开发实时性要求严格的实时软件都提供了有力保障。这种方法的缺点是南于实时任务的开发是直接而向提供精确实时服务的小实时核心的,而并非功能强大的常规Linux核心实时任务是运行在系统核心层的,这就意味着这些实时任务可以运行在没有内存保护的级别之上,因此一个实时任务的错误可能会导致整个系统的瘫痪。
  
  修改核方法
  这种方法是基于已有Linux系统对实时软件开发的支持,进行源代码级修改而使Linux变成一个真正的实时操作系统。任何基于Linux核心源代码的修改都要遵循GPL协议,对所有软件人员开放源代码。
  
  资源核方法
  这种方法是为解决传统实时操作系统中固定优先级抢占式调度策略的局限性而产生的。同定优先级抢占式调度算法没有任务间的临时保护,因此可预见的任务响应时间依赖于对所有更高优先级任务执行时间的预测。在很多实时应用中更希望实时系统可以根据应用程序获得资源,动态地调整任务属性,以求得到最优的效果。资源核方法是一种以资源为中心来指导实时核心提供精确的、有保证的、可抢占的获取系统资源的方法。这种方法的优点是系统具有很好的健壮性、可精确预见的实时性,而且允许应用程序根据实际情况动态调整自身属性。
  
  嵌入式实时操作系统
  
  Linux操作系统在进入内核空间时不能发生进程切换,如果单一对关键资源加锁,然后强行进行调度,可以实现实时化,但是关键资源数量巨大,加锁管理的协调难度也比较多。另外,以前的操作系统将功能过于复杂化,而一些嵌入式操作系统又使功能过于专一,不利于系统的扩张。所以对于操作系统比较理性的评估是,操作系统只需要完成以下功能:进程切换、关键资源管理、中断管理和消息传递。对于操作系统内核而言,只存在进程和线程,而进程直接的服务和要求,都是以消息的形式通过内核来传递。南于内核只负责消息传递、资源审批和进程切换,因此内核改变了以前一次要把工作负责到底的方式。
  进程申请内核服务通过系统调用的方式,系统调用的主要传递对象是服务消息,内核在收到服务消息后根据类型作以下几种处理。
  1.关键资源的初始化、申请和释放消息:微内核把消息转交给资源管理器,让资源管理器对消息操作的合法性作出相应的操作。
  2.进程服务消息:微内核将消息转交给相应的进程。
  3.进程调度消息:微内核根据消息的内容来进行进程的调度操作。
  当有中断发生的时候,微内核进人中断管理器作相应的处理。
  消息格式为:
  Street message
  (
  Long mtype;//消息类型
  Void*data//传递数据的指针
  )
  在操作系统中设计一个中断管理器,主要任务:中断线程的生成、管理和注销。
  每个进程的进程控制块中在初始化时都有一个指针指向资源管理器,每个进程在进入内核态的时候都通过系统堆栈找到自己的进程控制块,然后取得资源管理器的入口,每次在需要进行系统关键资源的操作时都通过资源管理器来协调。资源管理器在对每个特定资源操作的时候不是把操作一次做完,而是把操作细化,每做完一个动作后就观察有没有发生资源竞争所引起的调度,如果有就把控制权交给微内核。当一个进程通过资源管理器对一个资源操作发生冲突的时候,资源管理器就会做出调解,使占有资源的进程得到比较高的优先级,并且通知这个占有资源的进程,如果没有未完成的操作就完成并释放资源,如果没有开始操作那就释放资源并通知内核发生调度。
  
  结论
  
  Linux是一个性能卓越,技术上处于前沿的操作系统,但作为一个通用的操作系统在实时性方面有其不足,这就使在一些实时性要求较高环境中,就要对Linux做进一步改进。
  实时操作系统模型的建立是在对Linux操作系统软件结构的一个改进,也就是操作系统发生本质的变化,但是内核的外壳没有发生变化,也就是说代码的对外接口还是沿用Linux操作系统的接口标准。但是Linux的实时化设计是一个任重而道远的任务,为了国家安全和信息独立化,必须开发出一个全新的操作系统。
其他文献
目前,校园网作为信息化应用的重要载体,所面临的安全问题越来越复杂,安全风险正在飞速增加,如黑客攻击、蠕虫病毒、间谍软件、垃圾邮件等。如何化解校园网内黑客的入侵、病毒的侵
现状分析  新课程改革推进到今天,我们面对的还是这样一个问题:新课程改革,到底要改变什么?从改变课程,改变教学方法到改变考试方式,教育界从没有像今天这样大动干戈,但我们不得不面对这样一个现实:分数还是那个分数,课堂还是那个课堂。负担还是那个负担。其实原因很简单,因为教师还是那个教师。面对新的课程,新的教育理念,很多教师还是固执地习惯性地摆弄自己的三斧头;还是年复一年地用现成的教案一板一眼地在一问一
以市场为导向,以企业为主体,产学研相结合的高新技术研究、开发以及产业化,已成为我国经济领域中的一个热点。文章针对产学研这一合作模式,在做了大量调查研究的基础上,对目前我国
现代信息技术的发展对数学教育和课堂教学产生了深刻的影响。信息技术辅助课堂教学创造了一种新的教学理念、教学技术、教学环境。结合教学实践设计开发数学CAI课件,合理地运用到新课标数学教学改革中,使信息技术与数学教学相互综合、相互渗透,为数学课堂教学的开放性,为学习者的自主性、研究性提供了有力的支持。信息技术辅助课堂教学是新课程改革和发展的强大动力,是构建数学高效课堂的重要途径。    探求创新,再现知
一天,我在一间生意清淡的发屋理发,看见一个理发师在旁边漫无目的地调台:新闻频道、综艺频道、影视频道、体育频道……教育频道,心里一阵窃喜,可是,仅仅停留了一两秒钟,很快就“擦肩
全面分析研究社区人民内部矛盾诸问题,是正确推进社区建设、维持社会稳定的必要理论基础。本文力图从理论与实际的结合上探析社区作为人民内部矛盾主要载体的重要地位、社区
工程教育中的素质教育概念,不仅要克服科学主义与人文主义的分离,还要克服工程类大学生在技术性素质与非技术性素质发展中的不均衡问题。为了培养适应21世纪的新型工程师,应处理