As 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 softwares existentes que podem ser instalados dentro da própria máquina virtual. O termo máquina virtual foi descrito na década de 1960 usando um termo de sistema operacional: uma abstração de software que vê um sistema físico (máquina real). Ao longo dos anos, o termo teve muitas derivações – como a Java Virtual Machine – JVM – que não virtualiza o sistema real.
Em vez de uma máquina real, ou seja, um computador real criado a partir de hardware e executando um sistema operacional específico, uma máquina virtual é um computador virtual criado a partir de um programa de simulação. Memória, processamento e outros recursos são virtualizados. Virtualização é a colocação de computadores (máquinas virtuais) em diferentes camadas do sistema.
É um método de dividir recursos de computação em vários ambientes de trabalho. Recentemente ficou muito simples e fácil criar uma máquina virtual: instale um programa especial em uma máquina real, neste programa é possível criar um disco virtual virtual que pode fazer todo o trabalho. o sistema através dele.
Entre os programas que simulam essas máquinas, os mais conhecidos são os antigos emuladores de videogame e emuladores de microcomputadores, como o VMware Player e o Bochs. Embora alguns desses programas sejam pagos, também há softwares livres de fácil acesso, como o VM Virtual Box (software gratuito da Oracle).
VM ou VM/CMS, do inglês Virtual Machine/Conversational Monitor System é um sistema operacional que permite que vários usuários trabalhem ao mesmo tempo como se estivessem usando o computador sozinho. O sistema foi usado nos mainframes IBM System/360, daí VM/360, em 1964 - História do Mainframe .
O sistema VM é usado em mainframes - computadores de grande capacidade capazes de oferecer serviços de processamento a milhares de usuários por meio de milhares de terminais conectados diretamente ou por uma rede. O programa de controle (CP) executa o computador e faz todo o trabalho necessário para fazer com que cada máquina virtual reaja e funcione como um PC.
O usuário tem apenas um à sua frente: uma tela, um teclado e uma caixa adicional com processador central. O termo máquina virtual foi definido na década de 1960 usando o termo sistema operacional: uma abstração de computador que analisa o sistema físico (a máquina real). Ao longo dos anos, houve muitas derivações do termo - como a Java Virtual Machine - JVM - que não virtualiza o sistema real.
Em vez de ser uma máquina real, ou seja, um computador real composto de hardware e rodando um sistema operacional específico, uma máquina virtual é um computador imaginário criado a partir de um programa de simulação. Memória, processamento e outros recursos são virtualizados. Virtualização é a colocação de computadores (máquinas virtuais) em diferentes camadas do sistema. É um método de dividir recursos de computação em vários ambientes de trabalho.
Recentemente ficou muito simples e fácil criar uma máquina virtual: instale um programa especial em uma máquina real, neste programa é possível criar um disco virtual virtual que pode fazer todo o trabalho. o sistema através dele Entre os programas que seguem esses motores, são bem conhecidos os emuladores clássicos de videogame e emuladores de software de computador, como VMware Player e Bochs. Embora alguns desses programas sejam pagos, também existem algumas ferramentas gratuitas, como o VirtualBox VM (Oracle Freeware)..
Após instalar o programa para criar a máquina virtual, é possível criar um disco rígido virtual, e a partir daí, é possível rodar um sistema operacional inteiro. A máquina virtual irá alocar, durante a execução dos sistemas operacionais, uma quantidade definida de RAM. Ela normalmente emula um ambiente físico de computação, mas as requisições de CPU, memória, disco rígido, rede e outros recursos de hardware serão todos gerenciados por uma "camada de virtualização" que traduz essas requisições para o hardware presente na máquina.
A partir disso, é possível instalar outros softwares dentro deste software, realizando simulações em geral sem a necessidade de hardware específico.
Uso para testes
O conceito de VM também pode ser utilizado como máquinas virtuais para fins de testes, ou seja, quando empresas de desenvolvimento querem testar seus produtos ou mesmo administradores de rede e sistemas querem montar protótipos e projetos futuros. Usando uma máquina virtual você poderá testar todas as distros do Sistema Operacional Linux seja no próprio Linux ou no Windows
No caso de uma empresa de pequeno ou médio porte onde os recursos são limitados, podemos utilizar o conceito de VM, de modo que um servidor de arquivos, além de armazenar dados, também tenha outra tarefa, como instalar um (servidor de "comunicação" Jabber, servidor de "impressão" CUPS e até mesmo um "e-mail" Postfix).
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 (guests) para criar máquinas virtuais semelhantes ao sistema operacional tradicional.
Tipo 2: Neste caso, o monitor é implementado como um processo de um sistema operacional real, chamado de sistema host, onde o monitor é executado como um Processo por um Sistema Host, ou seja, um sistema gerencia o acesso de hardware ao monitor, que por sua vez cria máquinas virtuais conforme descrito no Tipo 1.
Tipo 3: Utiliza os 2 conceitos do Tipo 1 e Tipo 2 ao mesmo tempo. Resumindo, é a capacidade da máquina virtual (sistema convidado) acessar diretamente o hardware, sem precisar passar todas as informações para o monitor toda vez que quiser acessar um dispositivo/hardware.
Tipo híbrido: O tipo 1 e a tela 2 não são usados em teoria na implementação. Na prática, muitas otimizações foram incorporadas à arquitetura com o objetivo principal de melhorar o desempenho das aplicações para os sistemas convidados. Como as funções mais importantes dos sistemas de máquinas virtuais são funções de E/S, as principais otimizações utilizadas nos sistemas de produção estão relacionadas a essas funções.
Outra categoria importante de máquinas virtuais são as máquinas virtuais para computadores reciclados projetadas para uma finalidade específica. Atualmente, a máquina virtual mais importante desta família é a JVM (Java Virtual Machine). Hoje, quase todos os computadores, desde placas-mãe até telefones celulares, possuem um emulador, portanto, os programas Java são muito portáteis.
Uma das principais vantagens de escrever código para uma máquina virtual é a capacidade de compilar o código sem perder a portabilidade, melhorando a velocidade de tradução dos programas, que também é portátil, mas é mais lento, pois neste caso cada linha de tempo de execução é compilada. é executado e, para uma máquina virtual, as memórias da máquina virtual são traduzidas para a mesma linguagem de máquina (ou assembly) da máquina real.
Vantagens
Novos sistemas operacionais podem ser facilmente atualizados e testados. Vários sistemas operacionais podem ser comparados usando uma única ferramenta. Executar diferentes sistemas operacionais simultaneamente no mesmo dispositivo. Modele alterações e falhas de hardware testando ou reconfigurando um sistema operacional, com confiabilidade e escalabilidade de aplicativos.
Reduza os custos de hardware. Facilidades para gerenciamento, transferência e replicação de software, programas ou sistemas operacionais. Confiabilidade e disponibilidade: a falha de um computador não afeta outros serviços. O isolamento da máquina virtual evita que programas e serviços executados em uma máquina virtual interfiram no sistema operacional subjacente ou em outras máquinas virtuais.
Fácil de mover, copiar e transferir entre computadores e otimizar recursos de hardware. Experimente diferentes sistemas operacionais sem particionar o HD, possibilidade de instalar versões mais antigas do Windows, Linux ou outros sistemas sem alterar o disco rígido. Problemas Gerenciamento: Os ambientes virtuais devem ser monitorados, configurados e mantidos.
Existem produtos que disponibilizam estas soluções, mas é aqui que o investimento em virtualização é fundamental, pois este é um dos maiores erros na implementação da virtualização. Desempenho: atualmente não existe uma maneira consistente de medir o desempenho de ambientes virtuais. Mas a introdução de outra camada de software entre o sistema operacional e o hardware, o VMM ou o Hypervisor, aumenta o custo de processamento mais do que no caso sem virtualização.
Outra coisa importante a enfatizar é que não está claro quantas máquinas virtuais podem ser executadas por processador sem comprometer a qualidade do serviço. A memória real da máquina é excessiva após um longo período de funcionamento. Isso reduzirá a experiência do usuário.
Embora a ferramenta necessite de um sistema real para funcionar, ela funciona de forma independente como qualquer outro computador, necessita de um sistema de segurança especial, ou seja, uma infecção por vírus na máquina virtual pode afetar a máquina real Em geral, o conceito . O número de máquinas virtuais cresceu não pelo desempenho oferecido nos produtos, mas pelo baixo custo dos equipamentos e manutenção que torna este software muito fácil de usar.
Geraldo de Azevedo