知识大全 把Linux改造为实时操作系统(1)

Posted 实时

篇首语:生也有涯,知也无涯。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 把Linux改造为实时操作系统(1)相关的知识,希望对你有一定的参考价值。

把Linux改造为实时操作系统(1)  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

  作者 李宇     过去很多嵌入式系统不是一个操作系统 或者是提供商的专有核心 或者是DOS操作系统的扩展 显然这些方法并不能适应今天嵌入式系统开发的要求!现有的一些商业实时操作系统 尽管提供了很小的核心和多任务开发环境 但性能并不理想 也不符合现在实时嵌入式市场的需求     因此 人们把目光投向了通用操作系统(例如Windows Solaris Linux) 希望把它们 改造 为实时操作系统 通常这些操作系统功能强大 结构复杂 易于软件的二次开发 实用性强 并且提供编程人员熟悉的标准API 此外 这些操作系统也提供了一些对实时软件开发的支持 然而 这些操作系统用于嵌入式系统的开发还存在不足 嵌入式系统要求具备高可靠性 满足应用需求的可剪裁性 以及比通用操作系统要求更高的实时性     做为嵌入式系统开发的解决方案 Linux在众多通用操作系统中具有独一无二的优势     首先 Windows和Solaris等专有商业操作系统的剪裁受到商家的严格控制 这大大限制了开发者的剪裁深度 而Linux遵循GPL协议 开放所有系统源代码 非常易于剪裁     其次 同其它开放源码的通用操作系统(如FreeBSD)相比 Linux在多种处理器 开发板支持和软件开发工具支持上有很强的优势     Linux最初也是作为通用操作系统而设计开发的 但提供了一些实时处理的支持 这包括支持大部分POSIX标准中的实时功能 支持多任务 多线程 具有丰富的通信机制等     Linux还提供符合了POSIX标准的调度策略 包括FIFO调度策略 时间片轮转调度策略和静态优先级抢占式调度策略 其默认的调度策略是第三种 Linux还提供了内存锁定功能 以避免在实时处理中存储页被换出 也提供了符合POSIX 标准的实时信号机制     一个致命问题是 Linux在用户态支持可抢占调度策略 而在核心态却不支持抢占式调度策略 这样运行在Linux核心态的任务(或系统调用)是不能被其它优先级更高的任务所抢占的 这样就会引起优先级逆转问题 另外 Linux操作系统的中断处理句柄是不可调度的 不能依优先级高低调度 而在实时系统中 却希望中断处理句柄同实时任务一样 可以有优先级来被系统的调度程序所调度     此外 我们还关心和任务响应时间相关的时钟精度 以及由于资源共享而带来的优先级逆转问题 Linux中硬件时钟中断的默认时间间隔是 ms 所有的软件时钟都是靠硬件来触发的 而简单同步机制(互斥)不支持优先级继承又很可能导致优先级逆转       独立核方法      Linux作为实时系统的独立核方法是指设计一种完全独立的实时核心 但其API 与Linux核心相兼容 这种方法的理论基础是一款优秀的实时操作系统必须在其设计之初就充分考虑到系统实时性的要求 并能够提供符合标准的API 这种实现方法对很多与POSIX 兼容的专有实时系统提供商很有吸引力     这种方法的局限性是由于设计了一个完全独立的实时核心而没有使用原有Linux核心 导致Linux系统的一些优势难以继承 尤其是与Linux核心相关的一些优势无法获得 比如Linux核心对大量硬件的广泛支持 Linux核心超群的可靠性 稳定性等 另外 由于这种方法并没有通过修改Linux核心代码来开发实时核心 而是在Linux系统之上重新设计了一个实时核心 这样的开发并不要求源代码开放 因此 Linux一些基于开放源代码的优势也势必受损 最后一点 任何基于Linux核心的开发成果也无法方便地应用到实时核心中     当然这种实现方法也从Linux系统中得到了很多好处 由于Linux系统的支撑 实时核心就并不需要 真 的去实现 而且熟悉Linux系统的开发人员也可以很快地熟悉这种方法开发出的实时系统 人们也会自然地想到用Linux系统做嵌入式系统的开发平台 此外 如果这种实时系统的API是Linux系统API子集的话 我们还可以只在Linux主机上仿真 进行应用程序的开发和调试 免去了远程调试之苦! cha138/Article/program/Oracle/201311/17377

相关参考

知识大全 linux日志管理(一)

   日志简介  日志对于安全来说非常重要他记录了系统每天发生的各种各样的事情你可以通过他来检查错误发生的原因或者受到攻击时攻击者留下的痕迹日志主要的功能有审计和监测他还可以实时的监测系统状态监测和追

知识大全 js实时获取系统当前时间实例代码

在网页中实时的显示时间不但可以给网页添色还可以方便浏览者掌握当前时间为了提高网站的开发速度可以把主代码封装在一个单独的函数里面在需要的时候直接调用而我为了演示直接写在了主页面方便大家观看  

知识大全 Linux简明系统维护手册(1)

Linux简明系统维护手册(1)  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  摘要    本文

知识大全 Linux系统调用跟我学(1)

Linux系统调用跟我学(1)  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  作者雷镇    本

知识大全 Linux用作嵌入式操作系统

Linux用作嵌入式操作系统  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  LinuxasanE

知识大全 系统启动脚本分析(6)--其它一些脚本简介

  摘要  这段时间在搞一个微型的Linux将它作为一个项目的平台这个过程中看了研究了一下Linux的启动过程同时把启动配置文件看了一下作了一下注释同时和大家共享一下:)我使用的Linux平台是Red

知识大全 Linux各项系统开机服务的功能

Linux各项系统开机服务的功能  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  Linux在启动

知识大全 Linux系统病毒研究之一

Linux系统病毒研究之一  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  作者SilvioCes

知识大全 Linux 系统的优化和微调

Linux系统的优化和微调  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  针对系统的优化工作需要

知识大全 Linux系统安装php扩展cURL

Linux系统安装php扩展cURL  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  Linux作