论文部分内容阅读
随着实时系统的飞速发展,越来越多的实时应用程序不仅要求系统满足其实时性,同时还希望系统能够提供许多过去通常只在通用操作系统中提供的功能。另一方面,一些桌面系统也开始有实时性要求。目前现有的系统通常不能很好地兼顾上述两个方面。为了解决这个问题,我们基于红旗Linux开发了中国大陆第一个基于Linux的通用实时操作系统——红旗实时操作系统。本文描述了该系统中资源预留模型的原理与实现。 红旗实时操作系统的资源预留机制是通过资源内核来实现的,它实现了一个能够向应用程序提供实时的、可保证的、受保护的对系统资源访问的子系统。资源内核只要求应用程序指定它们的资源需求,而把对系统资源进行管理和分配的一系列复杂的细节问题屏蔽起来,简化了应用程序的开发,减轻了程序员的负担。该子系统主要由预留描述、许可控制、预留调度策略、强制中止和资源使用统计等机制组成。 我们在实现资源预留机制的同时为实时应用程序使用系统资源提供了一个良好的接口和保障,使应用程序能够通过这个接口充分使用系统资源,以满足其实时需求。在实现资源内核的过程中,我们引入了两个有效的优先级同步协议——任务冲突协议和优先级限制协议,同时实现了系统对优先级继承协议的支持,进一步减少了优先级反转,提供了更好的时间隔离性,使得原来在某些情况下不能满足的实时要求得以满足。此外,我们还对资源内核的数据结构和调度算法等进行了处理,使之可以适应对称多处理的要求,以充分发挥对称多处理系统的性能。 实践证明,本论文实现的资源内核在红旗实时操作系统中运转良好,为系统提供了可靠的资源管理手段。整个系统对软实时提供了较好的支持,在提供实时特性的基础上还提供了一般通用操作系统的功能,基本保持了系统的通用性,使运行在Linux平台上的大量应用程序可以不加修改地在我们的系统上运行。