摘要:
Some electronic devices cannot embed any battery because of space- or cost-related concerns. Notably, small devices harvest energy from their environment to gap the absence of battery. Medical sensors and crop probes are examples of such devices. These devices are likely to consume energy faster than they can harvest, when considering non-solar energy or small harvesters for instance. They are thus exposed to frequent power outages and must cope with an intermittent supply and are referred to as transiently-powered systems. Instead of restarting the application from the very beginning on every boot, it is possible to resume the application where it stopped. Non-volatile memories keep their data across power outages and their usage enable persistent data storage. Non-volatile RAM (NVRAM) and traditional volatile RAM have similar access latencies, which makes NVRAM technologies good candidates for persistent storage of energy-constrained devices. This work highlights the benefits of using NVRAM for the purpose of enabling the execution of long-running application despite power outages. This study proposes to solve issues related to intermittent supply at operating system level, which role is to manage application progress persistence and maintain consistency between memories and peripherals. This work also proposes a model for transiently-powered systems to lay the ground for energy consumption estimation of code involving peripherals. A new checkpointing mechanism, based on a hardware MPU, is proposed as a checkpointing optimization. Finally, this work proposes an introduction to proof of correctness at operating system level for transiently-powered systems.