Busca avançada
Ano de início
Entree


Suporte para execução de máquinas virtuais nativas

Autor(es):
Alisson Linhares de Carvalho
Número total de Autores: 1
Tipo de documento: Dissertação de Mestrado
Instituição: Universidade Estadual de Campinas. Instituto de Computação
Data de defesa:
Membros da banca:
Mario Antonio Ribeiro Dantas; Islene Calciolari Garcia
Orientador: Edson Borin
Resumo

Uma máquina virtual é um programa de computador que emula uma interface para execução de outros programas. Esta tecnologia está presente em diversos sistemas computacionais e é utilizada desde o suporte a linguagens de programação de alto nível, como na máquina virtual Java, até a implementação de processadores com projeto integrado de hardware e software, como é o caso do processador Efficeon da Transmeta. Na tentativa de elevar o desempenho, alguns tipos específicos de máquinas virtuais podem requerer um acesso privilegiado a recursos administrados pelo sistema operacional. Consequentemente, em virtude dessa necessidade de obter um maior privilégio de execução, alguns projetos de máquinas virtuais optam por soluções nativas, removendo completamente a dependência de um sistema operacional. Essa solução, apesar da complexidade, possibilita a redução de grande parte da pilha de software existente entre a máquina virtual e o hardware, eliminando diversas restrições de acesso a dispositivos e a concorrência pela utilização de recursos. Apesar da flexibilidade proporcionada pela adoção de uma arquitetura nativa, existe um preço a ser pago na escolha dessa abordagem. Desenvolver um programa que executa sem o auxílio das abstrações fornecidas por um sistema operacional é uma atividade complexa, suscetível a erros e pode prejudicar gravemente a portabilidade. Dessa forma, conjecturamos que uma infraestrutura mínima, capaz de abstrair somente o essencial do hardware, fornecendo uma interface POSIX, simplificaria o projeto de novas máquinas virtuais nativas. Neste trabalho apresentamos o Native Kit, uma infraestrutura modular, compatível com o padrão POSIX e que foi construído para dar suporte à implementação e execução de máquinas virtuais nativas. Todos os módulos foram projetados de forma a eliminar dependências, tornando esta infraestrutura simples, flexível e capaz de se adaptar a diversos requisitos de aplicações nativas. Além disso, para validar e demonstrar como a nossa infraestrutura pode ser utilizada na prática, implementamos dois estudos de caso capazes de serem executados diretamente sobre o hardware, sem o auxílio de um sistema operacional. Esses estudos de caso poderão ser utilizados como ponto de partida para construção de novas máquinas virtuais nativas, contribuindo para o desenvolvimento de diversas pesquisas relacionadas. (AU)

Processo FAPESP: 13/26054-0 - Técnicas para implementação de máquinas virtuais nativas
Beneficiário:Alisson Linhares de Carvalho
Linha de fomento: Bolsas no Brasil - Mestrado