Abstract

We present Hermes, a hypervisor for MMU-less microcontrollers. Hermes enables high-performance bare metal applications to coexist with real-time operating systems (RTOSes) and other less time-critical software on a single CPU. Hermes creates isolated virtual runtime environments for real-time tasks by adding a layer of abstraction between the hardware I/O devices and the software that services them. Virtualization on low-power mobile and embedded systems also enables some interesting software capabilities like secure execution of third-party apps, online privacy controls, and bare metal performance in a multitasking software environment. These features otherwise require additional hardware (i.e. multiple CPUs, hardware TPM, etc) or may not be available at all. In other projects, we have anecdotally noticed that RTOSes are not always able to respond quickly and deterministically enough to time-sensitive operations, particularly under high I/O load. We validate this observed timing problem by measuring interrupt latency in an RTOS environment and comparing to an experimental implementation of Hermes. In our evaluation we compare runtime performance of several realistic mobile apps on Hermes and FreeRTOS. We find that not only is the interrupt latency lower in the virtualized environment, but it is also much more deterministic---a key figure of merit for real-time software systems.

Full Text
Paper version not known

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call