我正在编写一个非常小的守护进程,即使在系统承受巨大压力时它也必须保持响应。我正在研究 SCHED_FIFO 和 SCHED_RR 在调度方面的差异,并试图确定一个合理的优先级。
哪种调度程序适合小型但关键的监视守护程序,什么优先级比较安全?在试图理解两者之间的区别时,我仍然有点模糊。
我的程序正在分配 3k 以下(并使用 mlockall()),它向 xenbus 写入大约 600 个字节然后休眠,但我无法说出实际写入数据需要多少时间(以毫秒为单位)。 . 因为写入的内容取决于配置文件。
提前感谢您的任何建议/解释。
最佳答案
声名狼藉的 pchdtvr
程序捕获数字电视信号,它使用 SCHED_FIFO
来确保无论如何都将电视数据包写入磁盘。在旧计算机上播放 Doom 时,它可以一次捕获 4 个节目。
该程序臭名昭著,因为它是在 GPL 下发布的,作者 tried to revoke the GPL retroactively .这一举动激起了一场小 Storm 。无论如何,你可以在http://frequal.com/pmn/pchdtvr.html找到最新的版本来学习。 .
关于c - 在 Linux 上 SCHED_FIFO 和 SCHED_RR,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/405246/