HACK#9 RT Group Scheduling与RT Throttling

本节介绍对实时进程所使用的CPU时间进行限制的功能RT Group Scheduling和RT Throttling。

RT Group Scheduling和RT Throttling功能是用来限制使用实时调度策略的进程的CPU时间。内核2.6.25以后的版本都可以使用这个功能。

本节将介绍如何使用RT Scheduling和RT Throttling来限制实时进程的CPU时间。

为了让Linux系统能够应用到需要实时性的领域,Linux的进程调度程序采用的是实时调度策略(参考Hack#8)。

实时调度策略具有静态优先级,调度的优先级比其他一般进程高,需要执行时一定会分配CPU时间。如果实时进程陷入无限循环,就会占用CPU,其他处理完全无法运行。

该功能通过限制实时进程的CPU时间,使执行权即使在这种情况下也能切换到其他进程,可以避免产生系统死机的问题。

实时

实时功能的目的是实现满足实时限制的处理,即,在有限时间内得到处理结果。也就是将对特定事件进行处理的延迟控制在一定时间以内,在有意义的时间内一定作出应答的功能。因此,即使在内核运行过程中,也能迅速切换到要处理事件的进程。因此内核内部设置了优先权点(preemption point),可以根据事件立刻切换到实时进程。

要求实时性的处理,如图形处理。在实时图形处理中,画面更新的处理应当配合显示器上显示的刷新来进行。这个实时处理中重要的是要在一定时间(刷新率)内完成图形处理。

分配CPU时间提高吞吐量的目的和实时的目的是不同的,这点经常容易混淆。