第 4 章 应用程序调整和部署


使用最佳配置和设置组合调整实时内核可帮助增强和开发 RHEL for Real Time 应用程序。

注意

通常,尝试使用 POSIX 定义的 API (应用程序编程接口)。RHEL for Real Time 符合 POSIX 标准。RHEL for Real Time 内核减少的延迟也基于 POSIX

4.1. 实时应用中的信号处理

传统 UNIXPOSIX 信号有其用途,特别是用于错误处理,但它们不适合实时应用程序中作为事件交付机制。这是因为当前的 Linux 内核信号处理代码非常复杂,主要是因为旧行为和需要支持的许多 API。这种复杂性意味着,在提供信号时所用的代码路径并非始终最佳,应用程序可能会经历较长的延迟。

UNIX 信号后的原始动机是执行的不同"线程"之间的多路控制(进程)。信号的行为与操作系统中断类似。也就是说,当向应用发送信号时,应用的上下文会被保存,并开始执行之前注册的信号处理程序。信号处理程序完成后,应用将返回到在发送信号时执行它的位置。在实践中,这可能会变得复杂。

在实时应用程序中,信号无法信任。一个更好的选择是使用 POSIX 线程(线程)来分发工作负载,并在各种组件之间进行通信。您可以使用 mutexes、条件变量和障碍的 pthreads 机制协调线程组。这些相对新结构的代码路径比传统的处理代码更加干净。

Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2026 Red Hat
返回顶部