并行任务调度与同步机制解析
实时调度概述
实时操作系统的关键要求之一是能够在短且可预测的时间内对选定的事件做出反应,执行相关代码。为实现具有严格定时要求的功能,操作系统需专注于快速中断处理和调度,而非吞吐量或公平性等指标。每个任务可能有特定要求,如截止时间,表明执行必须开始或停止的精确时间,或与共享资源相关,这可能会引入与系统中其他任务的依赖关系。一个能执行具有确定性时间要求任务的系统,必须能够在可测量的固定时间内满足这些截止时间。
实时调度是一个复杂的问题,相关研究表明,基于为每个任务分配优先级,并结合在运行时切换任务的适当策略,可为实时需求提供通用解决方案。
为支持具有确定性截止时间的硬实时任务,操作系统应考虑实现以下特性:
1.快速上下文切换:调度器中实现快速上下文切换程序。
2.可测量的中断禁用间隔:系统在禁用中断的情况下运行的可测量间隔。
3.短中断处理程序:使用短中断处理程序。
4.支持中断优先级:支持中断优先级。
5.支持任务优先级:支持任务优先级,以最小化硬实时任务的延迟。
从任务调度的角度来看,实时任务的延迟主要与系统在外部事件发生时恢复任务的能力有关。为保证选定任务组的确定性延迟,实时操作系统(RTOS)通常实现固定优先级级别,在任务创建时分配给任务,并在调度器的每次执行中确定下一个任务的选择顺序。时间关键操作应在具有较高优先级的任务中实现。