我对Tesla代码一无所知,但我已经阅读了其他实时代码并分析了其中的时间单。一个基本的想法是,如果你每毫秒检查一下,你将始终在一毫秒内响应变化。最简单的实时系统有一个“循环执行”,围绕一个重复的时间表,告诉它在做什么时,做到这一点,以便在所有可能的情况下,必须处理的所有内容都在其截止日期内处理。传统上你在这里担心cpu时间,但不一定。我看到的系统受到称为1553的串行总线的时间表的影响最大( https://en.wikipedia.org/wiki/MIL-STD-1553)- 几乎没有足够的时间来按时传送和接收所有内容。
这有点过于简单,因为它无法应对必须快速处理的罕见事件,例如对中断的响应。用于中断处理的聪明方案没有你期望的那么多优势,因为通常有一种罕见的最坏情况使得聪明的方案表现不如循环执行,而实时代码必须在最坏的情况下工作,但是实践中你确实需要具有中断处理程序和高优先级进程的东西,这些进程必须按需运行,并且具有低优先级进程,当其他东西需要截止日期时可以忽略但是否则会运行。有各种各样的方案和方法可以证明这些更复杂的系统总能按时完成。其中一个最着名的是 https://en.wikipedia.org/wiki/Rate-monotonic_scheduling 。也可以看看 https://en.wikipedia.org/wiki/Earliest_deadline_first_scheduling 。
一个看到现实生活用途的开源实时操作系统 https://en.wikipedia.org/wiki/RTEMS 。