33、实时系统与开源软件项目使用指南

实时系统与开源软件项目使用指南

实时系统相关

在实时系统中,我们需要关注软件和硬件的协同工作以最小化抖动。首先来看一些关于实时系统的性能数据:
| 操作 | 耗时 | 占比 |
| — | — | — |
| drm_ioctl vfs_ioctl do_vfs_ioctl sys_ioctl sysenter_do_call | 0.07 msec | 0.1% |
| Waiting for event (select) | 0.05 msec | 0.2% |
| Waiting for TTY to finish sending | 0.03 msec | 0.0% |

这里的输出与 ncurses 程序中的类似,虽然延迟的原因可能有所不同。该程序虽不显示有问题的行,但会显示延迟最长的事件类型。我们需要深入理解应用程序,找出这些调用发生的位置,并尝试寻找替代方案。例如,文件系统的读写操作是导致延迟的主要原因之一,我们可以让实时进程不依赖磁盘的读写操作,而是使用其他进程来读写数据,还可以在运行实时代码之前将所需的数据全部缓存到内存中。

同时,在构建实时系统时,还存在一些常见的硬件陷阱:
1. 系统管理中断(SMI) :当发生系统管理中断时,BIOS 中的代码会运行,此时其他所有代码都需等待。例如,插拔 USB 键盘或鼠标进行电源管理时可能触发 SMI。SMI 运行时并不知道它正在中断什么,所以它不会考虑是否有截止时间即将到来,或者代码是否正在关键部分运行且必须快速完成。许多桌面机器都有一些 SMI 服务,因此通常不适合用于实时系统。需要注意的是,不要在 BIOS 中禁用 SMI

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值