  This paper presents Boomerang, an I/O system that integrates a legacy
non-real-time OS with one that is customized for timing-sensitive tasks. A
relatively small RTOS benefits from the pre-existing libraries, drivers and
services of the legacy system. Additionally, timing-critical tasks are isolated
from less critical tasks by securely partitioning machine resources among the
separate OSes. Boomerang guarantees end-to-end processing delays on input data
that requires outputs to be generated within specific time bounds.
  We show how to construct composable task pipelines in Boomerang that combine
functionality spanning a custom RTOS and a legacy Linux system. By dedicating
time-critical I/O to the RTOS, we ensure that complementary services provided
by Linux are sufficiently predictable to meet end-to-end service guarantees.
While Boomerang benefits from spatial isolation, it also outperforms a
standalone Linux system using deadline-based CPU reservations for pipeline
tasks. We also show how Boomerang outperforms a virtualized system called ACRN,
designed for automotive systems.
