Resumo de artigo "Sistemas Operacionais x Virtualização"
Autor: Victor Figueiredo | Publicado: 2012-04-27T03:05:00-03:00

Resumo do artigo "Sistemas Operacionais x Virtualização " que foi produzido e desenvolvido por Carlos Alberto Maziero, respeitado Professor da Universidade Pontifícia Católica, do Paraná. 


Download do Artigo "Sistemas Operacionais x Virtualização ", disponível em: http://www.mediafire.com/download.php?c7ql0ufgg1piyxt


Download do Resumo do Artigo, disponível em: 
http://www.mediafire.com/download.php?z4fkhb98c7sqs6b


Máquinas Virtuais podem ter diferentes finalidades quanto ao seu uso, em diversas situações e meios como a segurança, a compatibilidade de aplicações legadas, consolidação de servidores, entre outros. Por essas e outras razões o Professor Carlos Alberto Maziero, em seu artigo "Sistemas Operacionais IX – Máquinas Virtuais" fez um estudo bastante significativo que envolve histórico, conceitos, tipos, técnicas, aplicações e ambientes voltados aos sistemas virtualizados, que segundo ele, têm sido objeto da atenção crescente de pesquisadores, fabricantes de hardware/software, administradores de sistemas e usuários avançados. 




Inicialmente, é exposto alguns exemplos dos primeiros ambientes que já tinham suporte a virtualização de sistemas e aplicações e como o conceito de virtualização se solidificou no mercado de computadores. O experimental M44/44X, surgido na década de 60 pela então consolidada IBM, foi um dos primeiros no ramo. Então, em meados de 1970, os pesquisadores Popek &amp; Goldberg formalizaram vários conceitos associados às máquinas virtuais, e definiram as condições necessárias para que uma plataforma de hardware suporte de forma eficiente a virtualização, o que consolidou a tendência e interesse em desenvolver novos "ambientes virtuais". Isso resultou em diversas experiências concretas de utilização de máquinas virtuais para a execução de aplicações. 


Maziero complementa, no entanto, que em 1980, com a popularização de plataformas de hardware baratas, a virtualização perdeu importância, por ter um custo muito maior que os PCs da época. O interesse só veio a tona, depois do avanço de desempenho e funcionalidades tecnológicas dos PCs e o surgimento da linguagem JAVA, seguidas das soluções engenhosas da VMWare, principal organização de desenvolvimento de técnicas de virtualização, e também, da corrida para oferecer suporte a isso, da PC Intel. 


Após breve apresentação de histórico, o Professor da PUC, aborda conceitos que julga necessários para o entendimento de virtualização como Interfaces de Sistemas, e seus componentes típicos, o Conjunto de Instruções (ISA), Instruções de Usuários (User ISA), Instruções de Sistemas (System ISA), Chamadas de Sistemas, e Chamadas de bibliotecas. Ele explica, que a partir desses conceitos, para que programas e bibliotecas possam executar sobre uma determinada plataforma, é necessário que tenham sido compilados para ela, respeitando o conjunto de instruções do processador em modo usuário (User ISA) e o conjunto de chamadas de sistema oferecido pelo sistema operacional. Essas dificuldades e muitas vezes impossibilidades pela incompatibilidade entre interfaces e hardware, fez com que as técnicas de virtualização fossem, e ainda são, uma das abordagens mais promissoras no sentido de resolver esses problemas, completa Maziero. 


Então Maziero, define o que é uma maquina virtual, com base em conceitos de camada de virtualização, hipervisor ou monitor de maquina virtual. Mas afinal, o que é e quando ocorre a virtualização? Segundo o professor, conforme visto a pouco sobre os problemas de interoperabilidade de sistemas conforme o hardware disponível, através de uma camada de virtualização construída em software, usando os serviços oferecidos por uma determinada interface de sistema, é possível construir uma camada de software que ofereça aos demais componentes uma outra interface. Essa camada de software permitirá o acoplamento entre interfaces distintas, de forma que um programa desenvolvido para a plataforma A possa executar sobre uma plataforma distinta B. 


Conforme visto, a virtualização permite a interação entre componentes de sistemas construídos para plataformas distintas. E como existem varias interfaces entre componentes, Maziero aborda as formas mais usuais de virtualização com base em estudos de [Rosenblum and Garfinkel, 2005], são eles: 


 Virtualização do hardware 


 Virtualização da interface de sistema 


 Virtualização de dispositivos de entrada/saída 


 Virtualização do sistema operacional 


 Virtualização de chamadas de sistema 


 Virtualização de chamadas de biblioteca 



Logo após, o Professor expõe os principais tipos de maquinas virtuais, são elas: 


 Máquinas virtuais de processo 


 Máquinas virtuais de sistema operacional 


 Máquinas virtuais de sistema 



Após detalhado estudo sobre as formas e tipos de virtualização, Maziero, descreve as técnicas de virtualização como sendo a construção dos hipervisores (gerenciadores da camada de virtualização) e na definição de estratégias para ela. As estratégias mais utilizadas são a emulação completa do hardware, a virtualização da interface de sistema, a tradução dinâmica de código e a para-virtualização. Além disso, algumas técnicas complementares são usadas para melhorar o desempenho dos sistemas de máquinas virtuais. 


Conforme explicado por Maziero, na emulação completa toda interface de hardware é virtualizada, ou seja, todas as instruções do processador, memória e dispositivos periféricos são disponibilizados ao sistema convidado, conforme as necessidades do mesmo, como se fosse outro equipamento. Já na Virtualização da interface do sistema, o User ISA (instruções, em modo não privilegiado) do processador e demais itens de hardware acessíveis aos programas do usuário é mantido, enquanto as instruções privilegiadas e dispositivos são virtualizados. Na tradução dinâmica ocorre recompilação dinâmica de código binário na medida em que o sistema convidado executa tarefas e aplicações. Por fim, descreve a Paravirtualização que modifica a interface entre o hipervisor e os sistemas operacionais convidados, oferecendo a estes um hardware virtual que é similar, mas não idêntico ao hardware real. Essa técnica permite que o sistema convidado acesse alguns recursos do hardware diretamente, sem a intermediação ativa do hipervisor. Por fim, ele apresenta os prós e os contras de cada uma das técnicas, sempre levando como ponto de referência o desempenho dos sistemas. 


Como tópico final, o Professor Carlos Alberto Maziero, apresenta os sistemas de máquinas virtuais mais representativos atualmente. Estão entre eles o VMWare, FreeBSD Jails, Xen, User-Mode Linux, QEMU, Valgrind e JVM.