论文部分内容阅读
当前数字信息技术和网络高速发展,嵌入式系统已经广泛地渗透到科学研究、工程设计、军事技术、各类产业和商业、文化、艺术以及人们日常生活等方方面面。随着嵌入式系统应用范围的不断扩大,功能不断增强,各个应用领域对嵌入式系统的要求越来越高,嵌入式实时操作系统逐渐被引入到嵌入式系统中。嵌入式实时系统要求任务能按时、正确地完成功能操作,这些任务还可能会互斥地访问共享资源。另外,系统的处理能力和内存容量往往是有限的,这就对调度算法提出了严格的要求。实际的嵌入式实时系统在开发过程中往往忽视从运行的角度利用成熟的实时调度理论,而已有的实时调度理论过于复杂,不适于直接应用在嵌入式系统之中。针对上述需求,本文研究了现有的经典实时调度算法及传统的自适应调度算法,分析了其应用于嵌入式系统的不足,从工控系统中任务的特点出发,将自动控制原理的思想引入到调度算法中。本文提出了周期与非周期任务、I/O消耗型与处理器消耗型任务的自动划分策略。对周期任务采用RM调度算法;而对于非周期任务,则采用FIFO调度算法。I/O消耗型任务经常处于可运行状态,但一般都只运行短短的一会,因为它在等待更多的I/O请求时总会阻塞。对这类任务来说,调度策略适当提高它们的优先级,延长其运行时间。而处理器消耗型任务将时间大多用在执行代码上,对于这类任务,调度策略尽量降低它们的运行优先级,减少其运行时间。从这两个方面对任务进行相应的反馈控制,使调度器具有一定程度上的自适应功能。最后,分析了μC/OS-II内核中与调度相关的数据结构,提出在其上的自适应调度算法的实现,主要包括控制器与基础调度器的实现。并通过实验比较了改进的算法与原算法的性能差别,验证了该调度模型用于嵌入式实时系统的可行性。系统所具备的主要功能特点使其在嵌入式实时系统领域具有良好的应用前景。