本发明属于人工智能,具体涉及一种混合抢占式实时操作系统及方法。
背景技术:
1、在物联网领域,环境能物联网是一个备受关注的新兴技术领域。环境能物联网是一种不带电源或无内置电池的物联网终端,这些终端提取环境中诸如光照、热量、无线电信号中的能量,以满足其工作需求。环境能物联网设备不使用电池供电,可以部署在电池无法正常工作或者人力维护成本较大的恶劣环境中,因此设备的能耗控制就显得尤为重要。
2、环境能物联网设备的电力需求最主要的两种技术就是“微型猎能”和低功耗技术,两种技术的结合可以起到无电池供电和延长工作时间的效果。大多数物联网设备受限于硬件资源,软件大多是以裸机形式或者微型操作系统诸如nano rt-thread运行,裸机运行无法提供一些基本的任务调度,只能处理简单的逻辑;一些微型操作系统可以进行任务调度但是又无法兼顾设备的低功耗特性。目前存在环境能物联网设备运行的实时操作系统存在的无法兼顾设备能耗的问题。
技术实现思路
1、本发明针对现有技术下的问题,提供了一种混合抢占式实时操作系统及方法,有效的兼顾了设备能耗和实时性。系统将任务分为计算和外设任务,引入混合抢占调度,对计算任务优先调度并且在任何执行点都是可挂起和恢复的,采用抢占式调度;对外设任务采用非抢占式调度;保证了提高效率的前提下实现了高优先级任务的优先调用。
2、为了达到上述目的,本申请采用的技术方案为:
3、第一方面,本发明提供了一种混合抢占式实时操作系统,包括依次连接的光伏电路、储能单元、电压检测电路、能量率计算器、能量预测器、自适应任务调度器;
4、光伏电路通过光伏转换器将太阳能转换为光能输送至储能单元;
5、储能单元用于将电能存储在电容中,通过电压整流稳压器将电能输送至环境能物联网设备中;
6、电压检测电路用于监视和控制电路板上的电源,通过能量率计算器计算整体的能量利用率;
7、能量预测器基于神经网络获取太阳能收集率预测值,基于预测值对多种环境下充电速率进行动态调整;
8、自适应任务调度器用于系统中不同任务的自适应调度,系统支持由任务链组成的周期性应用,任务链在第一个任务被释放进入运行态时开始按顺序执行,并且只有当前一个任务执行完毕后,后一个任务才可以执行;将任务分为计算任务和外设任务,引入混合抢占调度,对计算任务优先调度并且在任何执行点都是可挂起和恢复的,对计算任务采用抢占式调度;对外设任务采用非抢占式调度。
9、进一步的,所述自适应任务调度器从启动到开始任务调度的流程如下:
10、步骤1,设备启动后,调度器检查设备非易失性存储器中有无jit检查点,若发现了检查点则从该检查点中恢复任务,并更新系统时间和定时器事件,若未发现检查点则进入步骤2;
11、步骤2,调度器从处于就绪态的任务队列中查找优先级最好的任务τh ,判断任务τh 的类别,若任务是非原子的,进入步骤3,若任务是原子的则进入步骤4;
12、步骤3,调度器执行任务τh的一个时间片,并继续查找高优先级的任务,重复上述过程;
13、步骤4,调度器估计执行任务所需要的能量,并且根据设备当前能量判断能否保证任务可以执行完,若能量足够,则调度器将调度该任务直至该任务执行完,若能量不够,则进入步骤5;
14、步骤5,系统执行一个能量循环以获得更多能量。
15、进一步的,所述步骤5的能量循环为:
16、步骤a,通过当前充电速率计算收集能量的时间 ∆t ,然后比较能量收集时间和其他高优先级周期性任务的未来释放时间,从而计算出设备下一个从待机到唤醒的时间,目的是为了确保在充电期间不会错过高优先级的任务;
17、步骤b,执行jit检查;
18、步骤c,发送充电请求。
19、进一步的,所述电压检测电路的外部中断或者定期轮询实现jit 检查服务,jit检查服务用于检测电容器的电压水平是否达到低压阈值,jit 检查服务还将当前的系统时间和计数器事件存储在非易失性存储器中,以确保计时器的正确执行。
20、进一步的,所述任务链上的每个任务τ1可以是原子或非原子任务,原子任务在执行期间不可抢占且不可挂起;非原子任务在任何时候都可抢占和挂起;
21、所述混合抢占调度方法是利用原子任务运行中是不可抢占的前提下,系统以非抢占式的方式调度原子任务,原子任务一旦调度,在系统能量充足的时刻会执行完毕,在此期间不会被其他高优先级任务抢占,而非原子任务则执行正常rtos的抢占式任务调度模式。
22、进一步的,所述能量预测器采用基于机器学习的能量预测模型,通过利用时间序列电压数据提供可靠的太阳能收集率预测,使用半小时时间间隔作为预测窗口。
23、第二方面,本发明提供了一种如第一方面所述的基于充电感知的嵌入式实时操作系统的工作方法,包括:通过软件的任务链以及即时点检查实现任务上下文在nvm的存储;通过电压检测电路和充电管理器实现了任务调度时间、充电时间的估计,保证原子任务能顺利执行完毕。
24、与现有技术相比,本发明的优点和积极效果在于:
25、1、本发明设计了一种混合抢占式实时操作系统,是适用于环境能物联网设备的支持任务混合调度的嵌入式实时操作系统,有效的兼顾了设备能耗和实时性。系统将任务分为计算和外设任务,引入混合抢占调度,对计算任务优先调度并且在任何执行点都是可挂起和恢复的,采用抢占式调度;对外设任务采用非抢占式调度;保证了提高效率的前提下实现了高优先级任务的优先调用。
26、2、本发明提供的实时操作系统,用于无电池供电的环境能物联网设备,旨在保证设备间歇性供电时任务能完整的执行。该系统保证了设备在电力中断期间依旧能保持可靠的实时性。此外,设计了一种专用的操作系统软件架构和专用的硬件电路架构,通过软件的任务链以及即时点检查实现任务上下文在nvm的存储;通过电压检测电路和充电管理器实现了任务调度时间、充电时间的估计,保证了原子任务能顺利执行完毕。本发明提出的系统结合了能量收集技术、能量存储技术和操作系统任务调度技术等,可应用在诸如智慧农业和建筑监控等不希望使用电池供电以免需要大量的人力成本维护的领域,具有较高的社会应用价值。
1.一种混合抢占式实时操作系统,其特征在于,包括依次连接的光伏电路、储能单元、电压检测电路、能量率计算器、能量预测器、自适应任务调度器;
2.根据权利要求1所述的一种混合抢占式实时操作系统,其特征在于,所述自适应任务调度器从启动到开始任务调度的流程如下:
3.根据权利要求1所述的一种混合抢占式实时操作系统,其特征在于,所述步骤5的能量循环为:
4.根据权利要求1所述的一种混合抢占式实时操作系统,其特征在于,所述电压检测电路的外部中断或者定期轮询实现jit 检查服务,jit 检查服务用于检测电容器的电压水平是否达到低压阈值,jit 检查服务还将当前的系统时间和计数器事件存储在非易失性存储器中,以确保计时器的正确执行。
5.根据权利要求1所述的一种混合抢占式实时操作系统,其特征在于,所述任务链上的每个任务τ1可以是原子或非原子任务,原子任务在执行期间不可抢占且不可挂起;非原子任务在任何时候都可抢占和挂起;
6.根据权利要求1所述的一种混合抢占式实时操作系统,其特征在于,所述能量预测器采用基于机器学习的能量预测模型,通过利用时间序列电压数据提供可靠的太阳能收集率预测,使用半小时时间间隔作为预测窗口。
7.一种如权利要求1-6任一项所述的基于充电感知的嵌入式实时操作系统的工作方法,其特征在于,包括:通过软件的任务链以及即时点检查实现任务上下文在nvm的存储;通过电压检测电路和充电管理器实现了任务调度时间、充电时间的估计,保证原子任务能顺利执行完毕。
