This paper presents CARTOS, a charging-aware real-time operating system designed to enhance the functionality of intermittently-powered batteryless devices (IPDs) for various Internet of Things (IoT) applications. While IPDs offer significant advantages such as extended lifespan and operability in extreme environments, they pose unique challenges, including the need to ensure forward progress of program execution amidst variable energy availability and maintaining reliable real-time time behavior during power disruptions. To address these challenges, CARTOS introduces a mixed-preemption scheduling model that classifies tasks into computational and peripheral tasks, and ensures their efficient and timely execution by adopting just-in-time checkpointing for divisible computation tasks and uninterrupted execution for indivisible peripheral tasks. CARTOS also supports processing chains of tasks with precedence constraints and adapts its scheduling in response to environmental changes to offer continuous execution under diverse conditions. CARTOS is implemented with new APIs and components added to FreeRTOS but is designed for portability to other embedded RTOSs. Through real hardware experiments and simulations, CARTOS exhibits superior performance over state-of-the-art methods, demonstrating that it can serve as a practical platform for developing resilient, real-time sensing applications on IPDs.
翻译:本文提出CARTOS,一种充电感知实时操作系统,旨在增强间歇供电无电池设备在各种物联网应用中的功能。虽然IPDs具有延长使用寿命和在极端环境下运行等显著优势,但也带来独特挑战,包括需在能量可用性多变的条件下确保程序执行的前向进展,以及在电源中断期间维持可靠的实时时序行为。为应对这些挑战,CARTOS引入混合抢占调度模型,将任务划分为计算任务与外围任务,并通过为可分割计算任务采用即时检查点机制、为不可分割外围任务提供不间断执行,确保其高效及时运行。CARTOS还支持处理具有优先约束的任务链,并能根据环境变化自适应调整调度策略,从而在多样化条件下实现连续执行。该系统通过新增API和组件在FreeRTOS上实现,但设计具备可移植性以适配其他嵌入式实时操作系统。通过真实硬件实验与仿真验证,CARTOS展现出优于现有先进方法的性能,证明其可作为在IPDs上开发高鲁棒性实时传感应用的实用平台。