Virtualizing Mixed-Criticality Operating Systems - Meurer, Rodrigo Schmitt; Ludwich, Mateus Krepsky; Fröhlich, Antônio Augusto (Anais do Simpósio Brasileiro de Engenharia de Sistemas Computacionais (SBESC); 2016: Anais do VI Simpósio Brasileiro de Engenharia de Sistemas Computacionais, 2016)
The forever growing number of embedded control units in some applications such as cars or airplanes are increasing system complexity and making harder to coordinate all this hardware. The increasing capacity of embedded hardware and the advances in virtualization technology make it possible to deal with this problem. There is a current trend to bring many of this control systems to a single platform, thus making it possible for a single hardware platform to manage a whole system with the same isolation guarantees that the use of multiple Microcontroller Units (MCUs) provides, which also implies in a reduction of cost. However, all these different applications have very different purposes and requirements, so the platform should be able to handle all of them, from human interaction to hard real-time control. In our paper, we explore Linux paravirtualization interface, paravirt_ops, to make it run on a confined Virtual Machine (VM) on top of the HyperEPOS real-time hypervisor. The virtualized Linux provides embedded systems with all the functionalities of a general purpose operating system, including human interaction and connectivity, while other VMs define a realm for the proper operation of safe-critical tasks.