<svg xmlns="http://www.w3.org/2000/svg" style="display: none;"> <path stroke-linecap="round" d="M5,0 0,2.5 5,5z" id="raphael-marker-block" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);"></path> </svg>
讯享网
RTOS
RTOS(实时性操作系统),指系统的计算正确性不仅取决于计算的逻辑正确性,还取决于产生结果的时间。如果未满足系统的时间约束,则认为系统失效。
根据实际应用,可以选择采用硬实时操作系统或软实时操作系统。
- 硬实时系统指系统要有确保的最坏情况下的服务时间,即对于事件的响应时间的截止期限是无论如何都必须得到满足。
- 软实时系统就是那些从统计的角度来说,一个任务能够得到有确保的处理时间,到达系统的事件也能够在截止期限到来之前得到处理,但违反截止期限并不会带来致命的错误。
Linux系统并不算是一个RTOS系统,其实时处理能力不强,但是我们可以通过加入PREEMTP_RT补丁的方式,实现硬实时需求。
- 创建存放文件夹
讯享网
- 下载内核源码和补丁
内核下载地址:https://mirrors.edge.kernel.org/pub/linux/kernel/projects/rt/
补丁下载地址:https://mirrors.edge.kernel.org/pub/linux/kernel/v5.x/
- 安装下载依赖项
- 加入补丁
讯享网
Tip:补丁和内核的版本需严格对应!!
- 打开内核配置界面
- 选择General setup
- 选Preemption Model (Voluntary Kernel Preemption (Desktop))

- 选择内核抢占模型
选Fully Preemptible Kernel (RT)

其中:
Preemptible Kernel (Basic RT): 这种抢占模型类似于“抢占内核(低延迟桌面)”模型。除了上面提到的属性外,线程中断处理程序是强制的(就像使用内核命令行参数时一样threadirqs)。该模型主要用于 PREEMPT_RT 补丁实现的替代机制的测试和调试。
Fully Preemptible Kernel (Real-Time): 除了少数选定的关键部分之外,所有内核代码都是可抢占的。线程中断处理程序是强制的。此外,还实现了几种替代机制,如睡眠自旋锁和 rt_mutex,以减少抢占禁用部分。此外,大的抢占禁用部分被单独的锁定结构取代。必须选择这种抢占模型以获得硬实时行为。
按esc键返回至主页面
- 选Kernel hacking

- 选Memory Debugging
- 按下‘/’搜索DEBUG_INFO


选择OK,按下回车键
- 按下’1’

- 在Compile the kernel with debug info选项上按下‘n’,取消编译时产生debug文件

- 编译并安装内核
讯享网
在文件夹中会生成相应的deb包,强烈建议进行备份,在其他设备上则无需再次编译
- 安装内核
这一步可能会报错:
(1) dpkg: 处理软件包 linux-libc-dev:amd64 (–install)时出错: 现在尚不能配置软件
解决方法:
讯享网
(2) 没有规则可制作目标“debian/canonical-certs.pem”,由“certs/x509_certificate_list”错误
解决方法:
在下载的内核文件找到.config文件,Ctrl+F搜索 CONFIG_SYSTEM_TRUSTED,并将对应的两行删除
- 安装deb内核软件包
- 更新grub并重启
讯享网
- 查看内核版本
可能出现情况:
重启时可能出现进入不了系统的情况,提示:has invalid signature , you need to load the kernel first
解决方法:
重启进入bios界面,关闭secure boot
- 安装依赖
讯享网
- 下载测试源码
- 运行测试
讯享网
等待测试完成,测试结果会生成图片放在测试脚本所在文件


安装实时补丁前后的对比,可以明显看出安装补丁后实时性有了极大的提升。



版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/200317.html