应用定义调度与新调度策略的集成
在现代软件开发中,尤其是实时系统领域,高效的任务调度至关重要。本文将详细介绍应用定义调度与新调度策略的集成,包括如何告知系统任务的“截止时间”、API 概述、实现细节、示例以及性能评估等内容。
1. 告知系统任务“截止时间”的方法
为了让系统了解任务的“截止时间”,我们在添加“就绪”操作的过程中增加了一个新参数:
procedure Add_Ready
(Sched_Actions : in out Scheduling_Actions;
Tid : in Ada.Task_Identification.Task_Id;
Urg : in Ada.Dispatching.EDF.Deadline);
如果对一个已经活跃的任务执行此操作,它会更改该任务的截止时间,并强制对就绪队列进行重新排序。
同时,我们选择了栈资源策略(SRP)作为受保护对象的同步协议。通过使用 EDF 优先级带中的优先级作为 SRP 的实际抢占级别,我们可以在应用定义调度的上下文中实现 SRP。为了消除优先级反转效应,需要根据 SRP 的规则分配该优先级带中的优先级上限。
2. API 概述
Ada.Dispatching.Application_Scheduling 包包含了应用调度操作的提议接口。主要分为以下几类操作:
2.1 调度动作操作
这些操作允许应用调度器通过调度“动作”请求系统执行调
超级会员免费看
订阅专栏 解锁全文
1346

被折叠的 条评论
为什么被折叠?



