论文部分内容阅读
自从在发动机的电子控制模块中嵌入第一台微处理器以来,汽车中嵌入微处理器的数量迅速增多。目前,某些汽车已使用了70多个微处理器,汽车电子软件系统越来越复杂,使得软件工程师需花费大量的时间和精力来开发和调试软件系统,进而导致了汽车电子软件的重复开发、软件工程师效率低下等问题。为了解决这些问题,欧洲几家主要汽车制造商在适用于汽车且可通用于其他领域的嵌入式分布式操作系统的规范化方面进行合作,制定了OSEK/VDX标准。该标准定义了嵌入式操作系统、网络通信和网络管理等方面的标准接口,这使得汽车电子软件的可重用性、可兼容性提高,避免了重复开发,提高了开发效率。因此,研究OSEK/VDX标准具有重要意义。近几年,国内也兴起了对OSEK/VDX标准的研究。本文首先根据OSEK/VDX操作系统标准,研究了操作系统的运行机制,对其体系结构、任务管理、事件机制、资源管理、中断机制、报警机制等进行了全面的分析。基于对运行机制的分析,设计和实现了OSEK/VDX操作系统中任务管理、事件机制、资源管理、中断机制和报警机制等模块的关键数据结构和系统调用。接着研究了OSEK/VDX操作系统的优化技术:针对每个优先级只有单个任务的任务管理设计了一个就绪表,使得查询最高优先级的就绪任务变为常数时间;针对任务终止时不必保存任务的上下文环境,提供了两种任务切换策略——一般任务切换和任务终止后的任务切换;针对OSEK/VDX标准的等待事件系统调用只能等待单个事件,提供了同时等待多个事件的系统调用;针对默认情况下,中断发生在任务的栈上,每个任务都必须预留支持中断嵌套的内存空间,提供了单独中断栈以减少整个系统对内存的需求。最后,研究了OSEK操作系统的移植,根据在80X86上的实现,设计了测试程序,验证了设计和实现的正确性,并给出了在80X86平台上的空间性能和时间性能指标。