Você está na página 1de 5

Máquina virtual

Origem: Wikipédia, a enciclopédia livre.

Na ciência da computação, máquina virtual consiste em


um software de ambiente computacional, que executa
programas como um computador real, também chamado
de processo de virtualização.

Uma máquina virtual (Virtual Machine – VM) pode ser


definida como “uma duplicata eficiente e isolada de uma
máquina real”. A IBM define uma máquina virtual como
uma cópia isolada de um sistema físico, e esta cópia está
totalmente protegida.

Máquinas virtuais são extremamente úteis no dia a dia,


pois permitem ao usuário rodar outros sistemas
operacionais dentro de uma única máquina física, tendo VirtualBox 2.0.4 no Ubuntu rodando o Fedora 10
acesso a outros software existentes que podem ser
instalados dentro da própria máquina virtual.

Índice
História
Definição
Funcionamento
Uso para teste
Tipos
Vantagens
Desvantagens
Segurança
Ver também
Referências
Notas

História
VM ou VM/CMS, do inglês Virtual Machine/Conversational Monitor System [1] [nota 1] é um sistema
operativo que permite a vários utilizadores trabalharem ao mesmo tempo como se estivessem a utilizar
sozinhos o computador. O sistema foi empregue na IBM mainframes System/360, donde VM/360, em 1964 -
História do Mainframe [2].
O sistema VM é usado nos mainframes - computadores de grande
capacidade capazes de oferecer serviços de processamento a milhares
de usuários através de milhares de terminais conectados diretamente
ou através de uma rede. O sistema operava unicamente em modo
batch (arquivo de lote).

O programa de controle (CP) gerencia o computador e efetua todas as


operações necessárias de tal forma que cada máquina virtual reaja e
trabalhe como um computador pessoal. O utilizador tinha em frente de
IBM 704
si unicamente: um écran, um teclado, e a caixa de ligação com
mainframe.

Definição
O termo máquina virtual foi descrito na década de 1960 utilizando um termo de sistema operacional: uma
abstração de software que enxerga um sistema físico (máquina real). Com o passar dos anos, o termo englobou
um grande número de abstrações – por exemplo, Java Virtual Machine – JVM que não virtualiza um sistema
real.

Ao invés de ser uma máquina real, isto é, um computador real feito de hardware e executando um sistema
operacional específico, uma máquina virtual é um computador fictício criado por um programa de simulação.
Sua memória, processador e outros recursos são virtualizados. A virtualização é a interposição do software
(máquina virtual) em várias camadas do sistema. É uma forma de dividir os recursos de um computador em
múltiplos ambientes de execução.

Ultimamente, é muito simples e fácil criar uma máquina virtual: basta apenas instalar um programa específico
dentro da máquina real, onde dentro desse programa poderá ser criado um disco rígido virtual e a partir disso,
será possível executar um sistema operacional inteiro por meio dele.

Entre os programas que simulam essas máquinas, são bastante conhecidos os emuladores de vídeo games
antigos e os emuladores de microcomputadores, como o VMware e o Bochs.

Apesar de alguns desses programas serem pagos, existem também softwares livre de fácil acesso, que é o caso
do VM VirtualBox (software livre da Oracle).

Funcionamento
Após a instalação do programa para criação da máquina virtual, é possível criar um disco rígido virtual, e a
partir disso, é possível executar um sistema operacional inteiro.

A máquina virtual irá alocar, durante a execução de sistemas operacionais, uma quantidade definida de
memória RAM. Ela normalmente emula um ambiente de computação física, mas requisições de CPU,
memória, disco rígido, rede e outros recursos de hardware serão todos geridos por uma "camada de
virtualização" que traduz essas solicitações para o hardware presente na máquina.

A partir disso, é possível a instalação de outros softwares dentro do presente software, fazendo simulações em
geral sem a necessidade um hardware específico.

Uso para teste


O conceito de VM também pode ser utilizado como máquinas virtuais a efeito de testes, ou seja, quando
empresas de desenvolvimento desejam testar seus produtos ou até mesmos administradores de redes, sistemas
pretendem montar protótipos e projetos futuros.

Caso se trate de uma pequena e média empresa onde os recursos são reduzidos, podemos utilizar o Conceito
de VM, para que um servidor de arquivos além de armazenar dados, também possua uma outra tarefa como
por exemplo instalação de um (Servidor Jabber "comunicação", servidor CUPS "impressão" e até mesmo um
Postfix "correio eletrônico").

Tipos
As máquinas virtuais podem ser divididas em três tipos:

Tipo 1: Sistema em que o monitor é implementado entre o hardware e os sistemas convidados


(guest system), onde o monitor tem controle sobre o hardware e abre sessões (convidados)
para criação de máquinas virtuais semelhantes ao sistema operacional tradicional.
Tipo 2: Nele o monitor é implementado como um processo de um sistema operacional real,
denominado sistema anfitrião (host system), onde o monitor é executado como um Processo
por um Sistema Anfitrião, ou seja, um sistema gerencia o acesso do hardware ao monitor, que
por sua vez cria máquinas virtuais assim como descrito no Tipo 1.
Tipo 3: Utiliza os 2 conceitos do Tipo 1 e Tipo 2 ao mesmo tempo. Em resumo é a capacidade
da máquina virtual (sistema convidado) de acessar diretamente o hardware, sem ter que
passar todas informações ao monitor toda vez que desejar acessar algum
dispositivo/hardware.
Tipos Híbridos: Os monitores de tipo 1 e 2 raramente são usados em sua forma conceitual em
implementações reais. Na prática, várias otimizações são inseridas nas arquiteturas
apresentadas, com o objetivo principal de melhorar o desempenho das aplicações nos
sistemas convidados. Como os pontos cruciais do desempenho dos sistemas de máquinas
virtuais são as operações de E/S, as principais otimizações utilizadas em sistemas de
produção dizem respeito a essas operações.

Outra importante categoria de máquinas virtuais são as máquinas virtuais para computadores fictícios
projetados para uma finalidade específica. Atualmente a mais importante máquina virtual desta família é a
JVM (máquina virtual Java). Existem simuladores para ela em quase todos os computadores atuais, desde
computadores de grande porte até telefones celulares, o que torna as aplicações Java extremamente portáveis.

Uma importante vantagem sem duvida de se escrever código para uma máquina virtual é a de se poder
compilar o código sem que seja perdida a portabilidade, melhorando-se a velocidade em relação à
programação interpretada, que também é portátil, porém mais lenta, já que neste caso cada linha será traduzida
e executada em tempo de execução, e no caso da máquina virtual cada mnemônico da máquina virtual é
convertido no equivalente em linguagem de máquina (ou assembly) da máquina real.

Vantagens
Facilita o aperfeiçoamento e testes de novos sistemas operacionais.
Possibilita a comparação de vários sistemas operacionais utilizando o mesmo equipamento.
Executa diferentes sistemas operacionais sobre o mesmo hardware, simultaneamente.
Simula alterações e falhas no hardware para testes ou reconfiguração de um sistema
operacional, provendo confiabilidade e escalabilidade para as aplicações.
Diminuição de custos com hardware.
Facilidades no gerenciamento, migração e replicação de computadores, aplicações ou
sistemas operacionais.
Confiança e disponibilidade: A falha de um software não prejudica os demais serviços.
O isolamento da máquina virtual assegura que as aplicações e serviços que serão executados
dentro de uma máquina virtual não poderão interferir no sistema operacional original e nem em
outras máquinas virtuais.
Pode ser facilmente deslocadas, copiadas e transferidas entre computadores, possibilitando
aperfeiçoar os recurso do hardware.
Teste de diversos sistemas operacionais sem precisar particionar o HD, podendo instalar
versões antigas do Windows, Linux, ou qualquer outro sistema sem fazer alterações no disco
rígido.

Desvantagens
Gerenciamento: Os ambientes virtuais necessitam ser, monitorados, configurados e salvos .
Existem produtos que fornecem essas soluções, mas esse é o campo no qual estão os
maiores investimentos na área de virtualização, justamente por se tratar de um dos maiores
contratempos na implementação da virtualização.
Desempenho: Atualmente, não existem métodos consolidados para medir o desempenho de
ambientes virtualizados. No entanto, a introdução de uma camada extra de software entre o
sistema operacional e o hardware, o VMM ou hypervisor, gera um custo de processamento
superior ao que se teria sem a virtualização. Outro ponto importante de ressaltar é que não se
sabe exatamente quantas máquinas virtuais podem ser executadas por processador, sem que
haja o prejuízo da qualidade de serviço.
Enorme uso da memoria da maquina real, depois de uma grande tempo de estar em modo
ligada. Isso ocasiona lentidão para o usuário que está utilizando.

Segurança
Embora a máquina necessite do sistema real para sua inicialização, trabalha de maneira independente como se
fosse outro computador, isto requer também um sistema de segurança independente, ou seja, a ocorrência de
infecção por vírus na máquina virtual não afeta a máquina real.

Em geral o conceito sobre máquinas virtuais vem crescendo, não só pela performance apresentada nos
resultados, mas pelo custo reduzido de hardware e manutenção, o que facilita muito o uso desses softwares.

Ver também
VMware
VirtualBox
Bochs
QEMU
oVirt
Kernel-based Virtual Machine
Virtual PC
Parallels Desktop

Referências
1. «Utilisação de Conversational Monitor System (CMS) & IBM» (https://web.archive.org/web/201
20112130917/http://cernsearch.web.cern.ch/cernsearch/Default.aspx?query=Conversational%
20Monitor%20System). Consultado em 20 de setembro de 2011. Arquivado do original (http://c
ernsearch.web.cern.ch/cernsearch/Default.aspx?query=Conversational%20Monitor%20Syste
m) em 12 de janeiro de 2012
2. - CERN Document Server (http://cdsweb.cern.ch/search?f=keyword&p=IBM360&ln=en)

Marcos Laureano, Máquinas Virtuais e Emuladores - Conceitos, Técnicas e Aplicações (http://


www.novateceditora.com.br/livros/maquinasvirtuais/). Novatec Editora. ISBN 85-7522-098-5.
Marcos Laureano, Detecção de Intrusão em Máquinas Virtuais (http://www.laureano.eti.br/proje
tos/deteccao-de-intrusao-em-maquinas-virtuais/). Dissertação de mestrado apresentada na
Pontifícia Universidade Católica do Paraná.
Marcos Laureano, Carlos Maziero, Virtualização: Conceitos e Aplicações em Segurança (http
s://web.archive.org/web/20100215022001/http://www.ppgia.pucpr.br/~maziero/lib/exe/fetch.ph
p/research:2008-sbseg-mc.pdf). Mini-curso do VIII Simpósio Brasileiro em Segurança da
Informação e de Sistemas Computacionais, 2008.
Diogo Menezes Ferrazani Mattos, Vantagens e Desvantagens (http://www.gta.ufrj.br/grad/08_1/
virtual/VantagenseDesvantagens.html).
Fernando Ulisses dos Santos, [http://blog.bluesolutions.com.br/2014/07/o-que-e-uma-maquina-
virtual.html O que é uma máquina virtual?

Notas
1. Ver Discussão:Máquina_virtual

Obtida de "https://pt.wikipedia.org/w/index.php?title=Máquina_virtual&oldid=59162011"

Esta página foi editada pela última vez às 19h51min de 25 de agosto de 2020.

Este texto é disponibilizado nos termos da licença Atribuição-CompartilhaIgual 3.0 Não Adaptada (CC BY-SA 3.0) da
Creative Commons; pode estar sujeito a condições adicionais. Para mais detalhes, consulte as condições de utilização.

Você também pode gostar