Máquina virtual

VirtualBox 6.1.14 no Kubuntu rodando o Fedora 33

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 acesso a outros software existentes que podem ser instalados dentro da própria máquina virtual.

História

VM ou VM/CMS, do inglês Virtual Machine/Conversational Monitor System é 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 .

IBM 704

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 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 Player 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:

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

Desvantagens

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.

Embora o isolamento entre máquinas virtuais e o sistema hospedeiro seja uma das principais vantagens da virtualização, esse isolamento não é absoluto. A segurança de ambientes virtualizados depende da correta configuração do hypervisor, da segmentação de rede, do controle de acesso e da atualização dos componentes da plataforma. Falhas no hypervisor, vulnerabilidades conhecidas e mecanismos de compartilhamento de recursos podem permitir ataques entre máquinas virtuais ou, em casos específicos, a escalada do sistema convidado para o hospedeiro, fenômeno conhecido como VM escape.

Por esse motivo, máquinas virtuais são amplamente utilizadas para isolamento, teste e consolidação de serviços, mas exigem controles de segurança próprios, monitoramento contínuo e políticas específicas de endurecimento da infraestrutura virtualizada.

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

Referências

  1. ↑ «Utilisação de Conversational Monitor System (CMS) & IBM». Consultado em 20 de setembro de 2011. Arquivado do original em 12 de janeiro de 2012
  2. ↑ - CERN Document Server
  3. 1 2 Scarfone, Karen; Souppaya, Murugiah; Hoffman, Paul (2011). «Guide to Security for Full Virtualization Technologies» (PDF). NIST. Consultado em 25 de março de 2026
  4. ↑ Badger, Lee (2008). «Clouds, Virtualization, and Security» (PDF). NIST. Consultado em 25 de março de 2026

Bibliografia

Notas

Ícone de esboço Este artigo sobre informática é um esboço. Você pode ajudar a Wikipédia expandindo-o.