论文部分内容阅读
随着嵌入式技术的不断发展成熟,其已经广泛应用于很多领域,比如智能家电、工业控制、航空航天、国防建设等等。其中,在航空航天、工业控制的某些领域中,对嵌入式系统的实时性有着很高的要求。比如要求系统能够及时快速地对接收到的数据进行相应的处理,有时甚至必须同时根据处理结果对在其控制下的系统或设备发出相应的控制指令。如果系统中的某些任务在规定的截止时间之前还没有得到执行,那么可能造成一些意象不到的有时甚至是灾难性的后果。因此,在具体的应用程序中,必须选择合适的调度算法,来保证整个系统的高实时性和高可靠性。单调速率(RM)调度算法是一种经典的静态优先级调度算法。如果一个任务集,在RM算法下是可调度的,那么利用RM算法,一定能够保证这个任务集执行的高实时性。因此根据本文的背景项目的特点,选择使用了RM算法。对于实时调度算法来说,任务集的可调度性判定是一个非常重要的问题。本文详细地介绍了各种RM算法下的任务集可调度性判定方法。并且在文中对RM算法进行了实现和性能分析。RM算法是基于优先级抢占调度的。单纯的优先级抢占调度算法,原理简单,容易实现,能够保证任务集的强实时性。但是,容易出现由于高优先级任务异常或者系统故障,而导致高优先级任务超时占用处理器资源,从而低优先级任务由于不能得到处理器资源而饿死,甚至导致系统的崩溃。时间片轮转调度算法是一种应用于分时系统的经典调度算法。其为每一个任务分配一个时间片,每个任务在所分配的时间片内独占处理器。这样就在各个任务之间形成了一个时间的隔离。利用时间片轮转调度算法的这个特性,本文构造了一种结合优先级抢占调度和时间片轮转调度优点的两级调度算法,将由于系统异常导致的影响控制在一个小的范围内,这样既不影响整个系统的实时性,同时也提高了系统的可靠性。本文从理论上对这种两级调度算法进行了构造与分析,将其在μC/OS-II操作系统上进行了实现,并做了性能分析。