Design and Analysis of Virtualized Real-Time Systems based on KVM (Masterarbeit)
Modern embedded systems consist of multiple processing units which are connected by one or more buses. In many application fields, such as the automotive domain, adding new functions is traditionally associated with adding new processing units. This has led to increasing complexity as well as increasing costs and has become difficult to handle. As a consequence, there is a big interest in consolidating functions onto fewer processing units. However, functions that were originally running on separated processing units must now share the same hardware. For this reason, isolation between functions is required to guarantee that they do not affect each other, in particular, in the context of safety-critical applications. Virtual machines (VM) seem to be an appropriate solution to provide such isolations. Since virtual machines were initially developed for the PC and server domain, their use in embedded systems requires careful design. In this work, we investigate the use of Kernel-based Virtual Machine (KVM) for virtualized systems. We analyze Linux's real-time capability when using KVM as a hypervisor and evaluate the performance of combining Real-Time Operating Systems (RTOS) guests and General Purpose Operating Systems (GPOS) guests on KVM to enable real-time support. The final objective is the development of real-time-aware design techniques for KVM-based systems.