RTLinux(Real-TimeLinux)
:是由新墨西哥大学(
NMT
)开发,是可嵌入系统并支持硬实时特性,部分支持
POSIX.1b
标准。其内核结构和系统特点是实现了一个小的实时核心,并“架空”了
Linux
内核,而实时任务作为可加载模块运行,属于实时
EXE (realtime executive)
的体系结构。其实时内核支持底层任务创建﹑中断服务例程的装入﹑底层任务通信队列﹑中断服务例程
(ISR)
和
Linux
进程。
RTLinux
的设计原则是通过对
Linux
本身做最小的改造,以提供实时应用所需要的最基本的功能。
最小的改造意味着
Linux
内核所提供的所有服务仍然可用。
其主要是利用微内核的思想,在硬件平台与标准 Linux内核之间增加一个精巧的虚拟机层 ——实时内核层,通过接管硬件中断和使用虚拟中断控制器实现了一个具有硬实时特性的系统,其结构如图 2.1所示。实现过程中采用的主要方法包括:
l 微内核, l 微内核的主要作用是为实时任务提供直接访问和控制硬件的机制,以保证减少延迟和提高响应速度。
使内核可抢占,虚拟机层通过使用一个固定优先级的调度器,把标准的
Linux
内核的优先级设为最低,并作为实时内核的一个进程与用户的其它实时任务一起调度。
图
2.1 RTLinux
内核结构
实时任务所需的所有资源都是任务创建时静态分配的,包括: Memory, fifos和处理时间,从而保证实时任务行为的确定性。
中断控制及处理,把中断分成两类,一类称为硬中断( Hard interrupts) ,包括所有的硬件中断,具有低延迟性;另一类称为软中断( Soft interrupts ),为正常的 Linux 内核中断 。通过使用虚拟中断模式保证了 Linux 内核永远不能封闭中断 。