论文部分内容阅读
随着个人消费类电子产品、工业控制、通信以及国防领域的发展,对嵌入式实时系统的灵活性和功能性有了更高的要求。嵌入式实时操作系统,以其具有多任务管理能力、可剪裁性、可配置、低功耗、高实时性等优点在嵌入式系统中得到广泛应用。为了在嵌入式系统中支持多任务管理的功能,需要操作系统提供多任务管理能力,多任务的切换过程会发生上下文切换操作。为了降低系统中任务切换时的开销,实时操作系统需要有一个快速的上下文切换机制。此外,为了满足嵌入式应用领域对灵活性和功能性的需求,嵌入式操作系统需要提供具有灵活性的内存管理机制——动态内存管理,同时要克服动态内存管理在实时性方面的缺点。本文针对上述两方面问题,结合项目所用的雷达信息采集数字信号处理器系统——BWDSP104X系统的特性,对操作系统动态内存管理机制和上下文切换机制的实时性进行研究和分析。本文的工作主要有以下两个方面:1.为了满足项目对系统实时性的要求,我们为RTEMS操作系统增加了一个具有实时性的动态内存管理器,该管理器基于TLSF(Two-level Segregated Fit)算法。首先,我们对TLSF算法进行静态分析,从其内存分配和回收的代码上分析其时间复杂度;之后,通过实验对比基于TLSF算法的动态内存管理器和RTEMS操作系统中原来的动态内存管理器在内存分配和释放操作上的时间性能和碎片率。实验结果表明,基于TLSF算法的动态内存管理器比RTEMS中的内存管理器具有更好的时间性能和更低的碎片率。2.在BWDSP104X系统中上下文相关寄存器的数量高达1303个,我们在完成RTEMS操作系统在BWDSP104X设备上的移植之后,为了提高系统上下文切换的性能,通过对BWDSP104X系统的上下文切换的时间进行建模,利用BWDSP104X系统提供的双数据通路和对存储系统具有并行访问的特性,提出了一种上下文切换的优化方法——双数据通路上下文切换方法(Context Switching via Dual Data Paths,CSDDP)。 CSDDP方法将任务上下文相关的寄存器组分为两部分,分别保存在可以并行访问的内存中,通过BWDSP104X系统的双数据通路并行存取这两部分的内容。最后,将CSDDP方法在RTEMS操作系统中进行了实现。运行结果表明,在BWDSP104X系统中,采用CSDDP方法能将上下文的保存和恢复时间降低为原来单数据通路切换时间的49.04%。