We design and analyze operating systems and hypervisors so that modern devices – from embedded ARM boards to cloud servers – can run multiple OSes and applications with real‑time guarantees. Our work on Xen‑ARM introduces real‑time–aware scheduling, timer hypercalls, and interrupt‑latency optimizations that let mobile and embedded systems meet strict deadlines even when they are fully virtualized. We also study I/O paths in virtualized environments to understand where latency comes from, and how to reshape the scheduler and interrupt handling to make response times predictable.

Building on this foundation, we explore how containers and KVM‑based VMs can be orchestrated efficiently on multi‑core and next‑generation platforms. This includes understanding how virtualization interacts with CPU power management, fairness, and device drivers, and how to configure the OS stack so that latency‑sensitive and best‑effort workloads can safely share the same hardware. The common theme is using OS and virtualization techniques to make complex, multi‑tenant systems behave like well‑tuned, responsive machines rather than black boxes.