Utilize este identificador para referenciar este registo: https://hdl.handle.net/1822/91640

TítuloVirtIO infrastructure for a static partition hypervisor: virtio-blk and virtio-console
Outro(s) título(s)Infrastrutura VirtIO para um hypervisor de partições estáticas: virtio-blk e virtio-console
Autor(es)Ribeiro, António Nuno Alves Cardoso Capela
Orientador(es)Pinto, Sandro
Palavras-chaveVirtIO
Input/Output (I/O) Virtualization
BAO
MCS
Hypervisor
Embedded systems
ARM
Real-Time Operating System (RTOS)
General Purpose Operating System (GPOS)
Static partitioning hypervisors
Virtualização
RTOS
GPOS
Sistemas embebidos
Partições estáticas Hypervisor
Data4-Abr-2023
Resumo(s)The automotive industry has increasingly focused on the integration of systems that perform very specific functions. At the same time, there is an increasing need to reduce Size, Weight, Power and Cost (SWaP-C) and, consequently, the need to group subsystems, usually with different levels of criticality, onto the same hardware platform. Currently, these systems are referred to as Mixed-Criticality System (MCS) and require strong isolation between systems of different criticality to respect the freedom from interference and real-time deadlines. Virtualization emerged as a natural enabler for MCS, since, in addition to providing a way to integrate different subsystems onto the same hardware platform, it enforces a strong isolation among consolidated workloads. Following this trend, hypervisors, developed for server and cloud applications, were retrofitted to embedded system architectures such as Advanced RISC Machine (ARM). These hypervisors do not fulfil the requirements of real-time embedded systems, leading to the rise and adoption of static partitioning hypervisors. BAO is a static partitioning hypervisor, where the necessary resources are assigned to each Virtual Machine (VM) in the design. Hence, this hypervisor is not prepared for sharing peripherals between VMs, without failing to comply with the necessary requirements of MCSs. Under this light, this thesis proposes the development of an infrastructure following a standard commu nication protocol, known as VirtIO, to communicate between two unprivileged VMs, keeping the hypervisor minimalistic and simple. With this infrastructure, there is a VM exclusively assigned and dedicated to shar ing peripherals. Thus, whenever a VMs needs to perform an operation on a shared peripheral, it will have to make a request to the dedicated VM. To solve the limitation of sharing peripherals, it is necessary to relinquish part of the isolation between the dedicated VM and the other VMs. This thesis also proposes the implementation of two VirtIO devices, the virtio-console and the virtio-block, to test the infrastructure and, to share the Universal Asynchronous Receiver-Transmitter (UART) and Secure Digital (SD) Card peripherals.
A indústria automóvel tem apostado, cada vez mais, na integração de sistemas que desempenham funções muito específicas. Ao mesmo tempo, há uma necessidade crescente de redução de SWaP C e, consequentemente, a necessidade de agrupar subsistemas, normalmente com diferentes níveis de criticidade, nas mesmas plataformas de hardware. Atualmente, estes sistemas são referidos como MCS e necessitam de um forte isolamento entre os sistemas de criticidade diferentes para respeitarem a liberdade de interferência e prazos de tempo real. A virtualização surgiu como um facilitador natural para MCS, visto que, para além de fornecer uma forma de integrar diferentes subsistemas na mesma plataforma de hardware, reforça o isolamento entre os mesmos. Seguindo essa tendência, os hypervisors, desenvolvidos para servidores e aplicações de cloud, foram adaptados para arquiteturas de sistemas embebidos, como a ARM. Devido ao facto destes hypervisors não cumprem os requisitos de sistemas embebidos de tempo-real, começamos a ver o sur gimento e a adoção de hypervisors de partições estáticas. O Bao é um hypervisor de particionamento estático, onde os recursos necessários são atribuídos a cada VM em tempo de design. Por conta disso, este hypervisors não está preparado para a partilha de periféricos entre máquinas virtuais, sem deixar de cumprir os requisitos necessários dos MCS. Dito isto, esta tese propõem o desenvolvimento de uma infraestrutura seguindo um protocolo de comu nicação padrão, conhecido como VirtIO, para comunicar entre duas máquinas virtuais não privilegiadas, visando manter o hypervisor minimalista e simples. Com esta infraestrutura, existe uma VM exclusiva mente atribuída e dedicada à partilha de periféricos. Assim sendo, sempre que uma VM necessitar de realizar uma operação num periférico partilhado, esta terá de realizar um pedido à VM dedicada. Para solucionar a limitação da partilha de periféricos é necessário abdicar de parte do isolamento entre a VM dedicada e as outras máquinas virtuais. Esta tese também propõe a implementação de dois periféricos VirtIO, o virtio-console e o virtio-block, para testar a infraestrutura e para compartilhar os periféricos de UART e de cartão SD.
TipoDissertação de mestrado
DescriçãoDissertação de mestrado em Industrial Electronics and Computers Embedded Systems
URIhttps://hdl.handle.net/1822/91640
AcessoAcesso aberto
Aparece nas coleções:BUM - Dissertações de Mestrado

Ficheiros deste registo:
Ficheiro Descrição TamanhoFormato 
Antonio Nuno Alves Cardoso Capela Ribeiro.pdfDissertação de mestrado1,79 MBAdobe PDFVer/Abrir

Este trabalho está licenciado sob uma Licença Creative Commons Creative Commons

Partilhe no FacebookPartilhe no TwitterPartilhe no DeliciousPartilhe no LinkedInPartilhe no DiggAdicionar ao Google BookmarksPartilhe no MySpacePartilhe no Orkut
Exporte no formato BibTex mendeley Exporte no formato Endnote Adicione ao seu ORCID