Linux中常见实时进程的一些示例

时间:2010-04-26 23:26:40

标签: linux scheduling real-time

Linux中有哪些常见的SCHED_FIFO和SCHED_RR进程?用户输入是否属于实时流程的范围?

1 个答案:

答案 0 :(得分:7)

看看at this question。 “实时”(对于进程)是指调度算法,或者内核在决定运行哪个进程时所做的思考。当收到中断并且需要运行时,实时进程 preempt 所有其他进程(调度权重较小)。

只接受用户输入的程序将在等待输入时进入休眠(阻塞),甚至在击键之间(取决于)。这样的程序不需要具有如此高的调度优先级。 RT进程应该需要在系统上的每个其他进程之前运行。这可能是因为该过程对于某些关键目标至关重要,或者需要高性能定时器(在这种情况下,您需要一个实时操作系统,标准Linux )。

无论如何,要概述SCHED_FIFO和SCHED_RR之间的差异,请参阅我链接的问题。如果如果程序需要作为RT运行,那么你应该做出的决定是不是,这是一个基本的工程决策。在两者之间做出决定只是你希望你的流程如何与他人合作的问题。

如果我使用标准内核来控制电梯,那么从微型交换机处理硬件中断的过程可能会使用RT权重的SCHED_FIFO。然后,我可能不会使用标准的Linux。

如果我正在编写电子邮件客户端,我会使用标准调度程序,让用户nice按照自己的意愿运行程序。