随着实时系统的功能日益强大,应用成本的逐渐降低,实时系统在许多领域已经得到了广泛应用。在传统的实时系统中,通常都没有使用虚拟内存技术,这是因为虚拟内存技术涉及到页面I/O操作,使得时间性能分析非常困难。然而在现在的安全关键实时系统中,越来越多的应用要求将不同关键级别的任务运行在同一个处理器上,因此我们希望能为软实时任务提供虚拟地址空间以提高灵活性,同时也为硬实时任务提供可预测及高效的地址翻译。另外,为了让不同关键级别的应用程序能够安全地共存,实时系统必须能够在空间和时间上对这些应用程序进行恰当的隔离以保证资源的安全可用性,而通过使用虚拟内存技术和空间域保护技术则可以有效地提供对这种隔离机制的支撑。
本文主要研究了实时系统中的虚拟内存技术以及空间域保护机制。通过比较等价单地址空间、单地址空间和多地址空间三种不同的地址空间的优缺点,我们提出了一种组合的内存模型,使之不仅提供了虚拟内存,同时也可以很好地支持实时地址空间,优化了实时环境的性能。在实时系统中,TLB查找失败带来的时间开销对系统的整体性能有非常大的影响,因此我们探讨了使用软件来有效地管理TLB的各种策略。另外,作为系统防危的重要机制之一,空间域保护技术已经成为安全关键实时系统设计思想的一部分,本论文对这项技术在实时系统中的实现做了详细的研究与讨论。最后,基于实时操作系统CRTOSII,我们完成了内存管理系统的详细设计与实现,测试结果表明该系统能够同时支持实时环境和虚拟内存。