嵌入式硬实时 *** 作系统-RTLinux

嵌入式硬实时 *** 作系统-RTLinux,第1张

 

  RTLinux(RealTIme Linux)[1]是一种基于Linux的实时 *** 作系统,是由FSMLabs公司(Finite State Machine Labs Inc.)推出的与Linux *** 作系统共存的硬实时 *** 作系统。它能够创建精确运行的符合POSIX.1b标准的实时进程;并且作为一种遵循GPL v2协议的开放软件,可以在GPL v2协议许可范围内自由地、免费地使用、修改和再发行。本文介绍了RTLinux的特点及功能,并结合一个实时处理的具体实例对其编程方法加以说明。

  1 RTLinux的特点

  在Linux *** 作系统中,调度算法(基于最大吞吐量准则)、设备驱动、不可中断的系统调用、中断屏蔽以及虚拟内存的使用等因素,都会导致系统在时间上的不可预测性,决定了Linux *** 作系统不能处理硬实时任务。RTLinux为避免这些问题,在Linux内核与硬件之间增加了一个虚拟层(通常称作虚拟机),构筑了一个小的、时间上可预测的、与Linux内核分开的实时内核,使得在其中运行的实时进程满足硬实时性。并且RTLinux和Linux构成一个完备的整体,能够完成既包括实时部分又包括非实时部分的复杂任务。

  1.1 硬实时性

  RTLinux将Linux源码中所有的cli、sTI、iret指令分别用宏S_CLI、S_STI、 S_IRET替换,引入的虚拟层将截取所有的硬件中断,分割Linux系统与硬件中断之间的直接联系。当RTLinux虚拟层接收到与实时处理有关的硬件中断时,立即启动执行相应的实时中断服务程序;而接收到与实时处理无关的中断时,先保存相应的信息,等到RTLinux内核空闲时通过软中断传递给Linux内核去处理,这样就使得RTLinux内核不受各种软、硬件中断的影响,不会造成时间上的不可预测性。同时又区别于其他的实时处理方案,它并未对 *** 作系统的内核作结构性的修改,因此并不会妨碍Linux *** 作系统的进一步发展和变化。

  Linux采用基于最大吞吐量准则的调度策略,并不能确保各个实时进程的及时调度。而RTLinux在缺省情况下采用优先级的调度策略,即系统调度器根据各个实时任务的优先级来确定执行的先后次序。优先级高的先执行,优先级低的后执行,这样就保证了实时进程的迅速调度。同时RTLinux也支持其它的调度策略,如最短时限最先调度(EDP)、确定周期调度(RM)(周期短的实时任务具有高的优先级)。RTLinux将任务调度器本身设计成一个可装载的内核模块,用户可以根据自己的实际需要,编写适合自己的调度算法。

   *** 作系统精确的定时机制,可以提高任务调度器的效率,但增加了CPU处理定时中断的时间开销。RTLinux采用一种折衷的方案,不将8354定时器设计成10毫秒产生一次定时中断的固定模式,而是根据最近事件(进程)的时间需要,不断调整定时器的定时间隔。这样既可以提供高精度的时间值,又避免过多增加CPU处理定时中断的时间开销。RTLinux系统同时将各时间间隔相加,保持一个系统全局时间变量,并使用软中断的方式来模拟传统的100Hz定时中断,将其传递给Linux系统使用。

  1.2 完备性

  过去,实时 *** 作系统仅是一组原始的、简单的可执行程序,它所做的仅仅是向应用程序提供一个程序库。但如今,实时应用程序通常要求能够支持TCP/IP、图形显示、文件和数据库系统及其它复杂的服务。为了满足当今实时应用程序的多种需求,通常采用在实时控制内核上增加这些服务或完全修改标准 *** 作系统内核的方法,而RTLinux所采用的是一种新型高效的方式。将一个简单的小型实时内核与Linux内核共存,用简单的小型实时内核处理实时任务,将非实时任务交给Linux内核去处理,而Linux内核本身也作为一个RTLinux实时内核在空闲时运行的进程。这种将实时系统和平均时间优化的标准Linux *** 作系统协同工作的方式,使得许多实时应用都显示出一种增效。实时内核中的实时任务可以直接访问硬件,不使用虚拟内存,给实时进程提供了很大的灵活性;运行在Linux用户空间中的非实时任务,可以方便地使用系统提供的各种资源(网络、文件系统等),并受到系统的保护,增加了系统的安全性。

  2 RTLinux的主要功能

  RTLinux提供了一整套对硬实时进程的支持函数集。在此,仅对在嵌入式系统中最重要的三个方面:进程间的通讯、中断和硬件设备的访问以及线程间的同步加以阐述。

  

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/dianzi/2713214.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-08-17
下一篇 2022-08-17

发表评论

登录后才能评论

评论列表(0条)

保存