我有一个机械臂,它的控制信号依赖于控制循环时间。我想要改变树莓派零点的控制。它运行一个操作系统,理想情况下,它会将进程交换出去。我不知道这是什么时候发生的,为什么会发生。应该怎么做才能不让操作系统换出我的控制进程?我搜索了一下,发现内核必须被告知不要这样做。我不知道该怎么做。如果进程被换出,我的控制循环的时间会保持不变吗?
发布于 2021-03-03 01:36:51
您的程序可以调用mlockall(MCL_CURRENT | MCL_FUTURE),这将防止它的任何页面被换出。这可能只有在您是root用户时才会起作用。
如果你真正的问题是你需要实时行为,这是一个更深层次的问题。在https://eklitzke.org/mlock-and-mlockall上有一些信息
https://stackoverflow.com/questions/66444203
复制相似问题