论文部分内容阅读
目前,嵌入式系统已经越来越多地应用在各个领域之中。嵌入式实时操作系统平台也得到了越来越广泛的应用。在抢占式多任务实时系统中,由于任务的并发执行以及对共享资源的使用,必然存在优先级反转(Priority Inversion)的危险,从而会影响到高优先级任务的响应时间。极端情况下,引起优先级无限反转,就会导致应用系统崩溃;同时,优先级反转也是应用系统许多不可预知错误的根源。因此,在嵌入式实时系统分析和设计时,实时操作系统层面上缓解优先级反转现象至关重要。 本文在优先级继承协议(Priority Inheritance Algorithm)和优先级置顶协议(Priority Ceiling Algorithm)两种防止μC/OS-II操作系统中优先级反转现象发生的算法基础上,通过对信号量的申请实现优先级的交换方法,对优先级的继承做了进一步的改进,提出了优先级继承改进算法(IPI)。该算法在克服上述两种方法缺点的基础上,能够有效的防止优先级的反转问题。但该算法增加系统的负担和环境切换的时间,会使任务运行效率降低。 容错技术具有处理不同类型的缺陷和错误的优点,据此提出了一套更加有效的方法来解决优先级的反转问题。在容错优先级继承(Fault-tolerant Priority Inheritance)和容错优先级提高(Fault-tolerant Priority Promotion)两种算法的基础上,通过适当降低容错优先级因子,设计了允许降低容错优先级的分配策略(ATDFP)。算例分析验证了这套方法的可行性。