TimeSys Linux/RT (Professional Edition)
制造商:TimeSys Corporation
电子邮件:info@timesys.com
价格:$199 US
评论员:Daniel Lazenby
Linux/RT 是一款用于开发和测试嵌入式和非嵌入式实时应用程序的工具。Linux/RT 的制造商 TimeSys 提出了 Linux/RT 可能适用的几个应用领域。建议的应用领域包括工业自动化、过程控制、电信、Web 服务器、航空电子设备等。
根据供应商的说法,Linux/RT 的架构在运行实时应用程序时提供了 Linux 的弹性和稳定性。为了实现这种架构,TimeSys 在其发布的 Linux 版本中添加了一些额外的调用,并使用了实时资源内核 (RK)。作为可加载内核模块 (LKM),实时 RK 与 Linux 内核交互。Linux 内核与硬件交互。使用这种架构,资源内核可以利用所有现有的 Linux 硬件驱动程序。现有应用程序继续与 Linux 内核交互,而实时应用程序与实时内核模块交互。通过这种方法,如果实时应用程序进程挂起或崩溃,整个系统都不会崩溃。这也意味着预先存在的(遗留)Linux 应用程序可以与实时应用程序并行运行。RK 模块可以像任何其他 LKM 一样加载或卸载。
Linux/RT 打包成三个版本:标准版、豪华版和专业版。专业版附带 Linux/RT、TimeTrace,以及根据网站信息,TimeWiz 的评估副本。评测包中不包含 TimeWiz。TimeSys Linux/RT 附带两个实时环境。Linux/RT 基于卡内基梅隆大学 Linux 资源内核 (Linux/RK)。Linux/RT 中包含了对 Robust Embedded (RED) Linux 系统事件日志记录的支持。为了与预先存在的系统兼容,TimeSys Linux/RT 包括实时应用程序接口 (RTAI)。需要注意的是,两个实时环境一次只能加载一个。图 1 显示了包含的 Linux/RT 实时示例程序之一。
根据该模型,资源内核可以保留一部分 CPU 周期、网络带宽、磁盘带宽和内存。这些保留被分组到资源集中并分配给一个进程。Linux/RT 1.0 版本支持多种功能。这些功能包括 256 个固定优先级调度级别、CPU 资源预留、高分辨率时钟和定时器、周期性实时任务以及固定实时进程使用的内存。评测副本的 Linux/RT 和手册似乎不支持网络或磁盘带宽预留。根据手册,Linux/RT 实用程序命令可用于将资源集分配给任何 Linux 进程。Linux/RT 的另一个特点是它能够提供服务质量 (QoS)。使用 Linux/RT 实用程序命令,可以为实时和遗留 Linux 程序赋予特定的 QoS 级别。
用于 Linux/RT 的 TimeTrace(标准版)提供了可视化和分析运行实时程序或应用程序的单个 Linux/RT 主机的能力。图 2 显示了 TimeTrace 界面的一个示例。TimeTrace 位于其自己的平台上,并提供受监控主机的图形用户界面 (GUI) 表示。使用 TimeTrace,您可以查看调度、上下文切换、系统调用和用户事件。根据供应商的说法,TimeTrace 可以提供您的实时任务的最坏情况和平均执行时间以及周期信息。专业版 TimeTrace 可以监控多个 Linux/RT 主机。
TimeWiz:建模、分析和模拟工具提供了直观地观察实时程序行为的能力。根据供应商的说法,该工具可用于分析最坏情况行为、模拟平均情况计时、建模端到端性能、表示硬件和软件配置以及生成报告。与 TimeTrace 一样,TimeWiz 运行在 Wintel 平台上。
Linux/RT 基于 Debian 发行版。标准的 Debian 安装过程可用于新的 Linux 安装。手册上说 Linux/RT 也可以用于非 Debian 发行版,包括 Red Hat、SuSE 和 Mandrake 的发行版。我的电脑上运行的是 Caldera 的发行版,我选择使用为在非 Debian 发行版上安装 Linux/RT 提供的脚本。非 Debian Linux 安装脚本提供了自定义或默认安装。自定义安装提供了选择目标安装目录以及向 LILO 注册 Linux/RT 的选项。我选择使用默认安装。安装过程很顺利。Caldera 2.4 现在使用 GRUB 作为其引导加载程序。Linux/RT 寻找 LILO,但无法识别 GRUB。我将 Linux/RT 内核添加到我的 GRUB 启动列表并重新启动。启动时,默认的 TimeSys 内核识别了我的 SCSI 卡、SCSI 设备和我的以太网卡。
用于 Linux/RT 的 TimeTrace 安装包括两个安装活动。首先,必须在 Linux 主机上安装 TimeSys Linux/RT 内核模块。其次,您必须在 Windows NT/95 主机上安装 TimeTrace。接下来,需要将安装在 Windows 主机上的两个用户模式收集器文件 (viewrk 和 viewrtai) 复制到 Linux/RT 主机。
TimeTrace 使用传统的 Windows 安装方法。一旦 CD 被 CD-ROM 驱动器识别,安装过程就很顺利。我不确定为什么我的普通 CD-ROM 在加载 TimeTrace CD 时会挂起。我将同一个 CD-ROM 驱动器用于所有 CD 安装介质。随意地,我尝试了我的 DVD 驱动器。安装 CD 立即被识别。TimeTrace 手册没有建议将需要复制到 Linux 平台的两个收集器文件的任何特定 Linux/RT 文件系统位置。我注意到其他几个 RK 实用程序文件被放置在 /usr/local/bin 目录中。因此,似乎将这两个文件放在那里是很自然的选择。
使用 Linux/RT 内核模块、RTAI 或 TimeTrace 涉及发出几个命令。对于 Linux/RT,这只是加载或卸载一些 Linux 内核模块的问题。使用 TimeTrace 假定实时应用程序已在 Linux 机器上运行,并且适当的用户模式收集器程序也在运行。
使用 Linux/RK 实用程序命令,可以将 Linux/RT 资源附加到遗留程序进程。遗留进程不必包含任何实时编程结构。我用我的 Netscape 浏览器做了一个实验。我将一个资源集附加到浏览器(大约 5% 的 CPU),然后开始使用 FTP 进行大型文件传输并打印大型 PDF 文档。我的浏览器似乎运行良好。
评测产品附带了三本手册和一本小册子:《TimeSys Linux/RT 用户手册》、《用于 TimeSys Linux/RT 的 TimeTrace 用户手册》和《TimeSys Linux/RT 程序员手册》。题为“实时系统简明手册”的小册子就像实时术语、概念和架构的 Cliff Notes。TimeTrace 和 Linux/RT 用户指南清楚地介绍了这两种产品的关系。用户指南和小册子都带有插图,并且在很大程度上写得很好。所有安装说明都是高水平的,并且是为经验丰富的软件安装人员编写的。
Linux/RT 和 TimeTrace 用户指南大约一半的篇幅用于讨论实时软件及其属性。指南的其余一半侧重于如何使用该产品。Linux/RT 的用户指南和发行说明描述了如何使用图形化的 Linux/RT 资源管理器。找到启动图形资源管理器的命令是一个挑战。在评测副本中,它没有被编译,发行说明中也没有任何地方说明该命令的位置。我不认为这是在非 Debian 发行版上安装 Linux/RT 的结果。在另一个地方,《Linux/RT 用户手册》说必须加载模块 measure-rk 才能使用 TimeTrace。在我的安装中找不到模块 measure-rk 的编译版本。我确实找到了一些看起来可能是该模块的源代码。TimeTrace 手册指出,使用 viewrk 文件来使用 TimeTrace。由于没有名为 measure-rk 的模块可用,我使用了 viewrk 文件。Viewrk 似乎工作正常。
附录 A 包含 Linux/RT RK 实用程序命令的列表。其中一些命令的大小写错误。另一些命令则不存在。我在手册中找不到 /usr/local/bin 目录中的几个命令。一个例子是打印时钟频率。实用程序列表说使用命令 clockfreq。我的安装中不存在该命令。我确实找到了一个提供时钟频率的 rkfreq 命令。还有一个名为 charter 的文件。我找不到关于这个可执行文件的任何信息。产品没有安装任何 man 页面。用户手册和程序员手册的 PDF 版本似乎只是印刷手册的电子副本。对 PDF 文件进行关键字搜索没有产生关于上述文件的任何信息。
179 页的程序员手册讨论了如何创建、执行和调试实时程序。提供了示例程序列表来说明各种函数和系统调用。GNU-Emacs、make、CVS、gcc 和 gdb 可用于开发和调试基于 Linux/RT 的实时程序。编译或重新编译任何分发的示例代码都需要链接到 librk.a。在对该文件位置的三次引用中,《程序员手册》是最准确的。请准备好编辑 makefile 目录,以正确识别库和头文件的正确位置。由于缺少文件,我在编译示例代码时遇到了一些问题。我认为编译原创作品应该没问题。
通过 TimeSys 网站提供支持。问题也可以通过电子邮件和传真发送给 TimeSys 支持部门。我没有使用 TimeSys 传真支持,无法对其质量发表评论。网站 FAQ 中的大多数问题给我的印象是非常以营销为导向。我没有轻易找到可搜索的知识库或其他形式的技术在线支持。有一个讨论论坛的雏形。基于少数帖子(在本次评测时),我不确定这个论坛的用处。
我在让 TimeTrace 显示 racer 和 rolling 示例程序的图形时遇到了一些问题,所以我发送了一封支持请求电子邮件。TimeSys 似乎正在经历一些成长的阵痛,并且花了几天时间才得到回复。一旦建立电子邮件联系,TimeSys 支持人员就与我合作解决了问题。
总的来说,我认为 Linux/RT 软件看起来很有前途,应该能够完成这项工作。文档需要进行一些清理,并且需要更准确地反映文件位置和命令用法。在某个时候,我相信 Linux/RT 将需要修复和补丁。网站应该能够提供修复和补丁,而无需下载 12+MB 的 Linux/RT tar 文件。如果支持依赖于注册产品,那么就需要有一种简单的方法让客户表明他们购买了该产品。
Daniel Lazenby (d.lazenby@att.net) 于 1983 年首次接触 UNIX,并于 1994 年发现了 Linux。