让linux变为实时操作系统
我们知道,相对比vxworks,linux内核属于非实时操作系统,原因主要是:(1)实时任务抢占时间是不可预期的。(2)为什么抢占是不可预期的呢?这涉及到内核中的抢占点知识,其中spin_lock锁,在unlock时是一个抢占点,但是spinlock本身内部是不可以抢占的,这种api在内核中大量使用,事实上是spin_lock与spin_unlock之间临界区代码片段不可预期的。具体用...