Seja Bem-Vindo. Este site tem recursos de leitura de texto, basta marcar o texto e clicar no ícone do alto-falante   Click to listen highlighted text! Seja Bem-Vindo. Este site tem recursos de leitura de texto, basta marcar o texto e clicar no ícone do alto-falante

Aula 10 – Arquitetura de Computadores

Virtualização

INTRODUÇÃO

Não poder usar mais aquele programa que você usava no Windows 95 porque ocorreu incompatibilidade ao migrar para o Windows 8 ou ter que instalar no disco rígido outro sistema que você ainda não domina ou nem mesmo o conhece só para testar. Com a evolução da computação muitas destas situações dentre outras se não acabaram, estão prestes a acabar.

A virtualização, simulação do ambiente real, revoluciona o mundo da computação. Este conceito tão popular atualmente, não é tão recente assim, tal conceito já vem evoluindo desde a década de 60 com os mainframes da IBM que através de softwares VM/CMS permitiam a criação de máquinas virtuais nestes servidores de grande porte.

É interessante mencionar a diferença entre emulação e simulação:

  • Simulação: Conforme (Da Silva 2009) significa imitar um processo ou operação real.
  • Emulação: Significa reproduzir as funções de um determinado ambiente.

Virtualização é um assunto muito abrangente, o que renderia um trabalho ou livro dedicado apenas para um dos seus tipos e aplicações, porém nessa aula serão abordados algumas informações e conceitos básicos virtualização, bem como seus tipos e utilização atualmente. Referentes a virtualização, bem como seus tipos e utilização atualmente.

Virtualização

De um modo genérico, a virtualização como técnica, permite que um sistema operacional seja executado dentro de outro através de máquinas virtuais, compartilhando os recursos de um único computador entre diferentes ambientes.

Cada máquina virtual possui seu sistema próprio, o que exclui a possibilidade de conflitos.

Algumas definições sobre virtualização:

Hypervisor ou Monitor de Máquina Virtual (MMV)

É a camada de virtualização que se encontra acima do hardware físico e responsável por distribuir os recursos da máquina física para as máquinas virtuais.

Virtualização Completa

Onde o host (hardware) é totalmente abstraído e as características da máquina virtual são emuladas. Assim o sistema operacional e as instruções críticas são executadas como se estivessem diretamente sobre o hardware físico. Neste caso o sistema operacional host não precisa ser alterado para executar em cima do MMV.

A virtualização completa possui alguns problemas como: as instruções executadas pelo sistema host devem ser testadas pela máquina virtual para identificar se são instruções privilegiadas, o que impacta no aumento do processamento. Outro problema é a dificuldade de implementação de uma máquina virtual que simule o exato comportamento dos dispositivos de E/S.

Processo da virtualização total

Para-virtualização

Como uma alternativa para melhorar problemas de desempenho na virtualização total, aqui o sistema operacional é alterado para sempre chamar o MMV quando tiver necessidade de uma instrução privilegiada e não se dirigir diretamente ao hardware.

Processo para-virtualização

CATEGORIAS DE VIRTUALIZAÇÃO

Existem muitos tipos ou modos de virtualizações, alguns destes são exemplificados abaixo:

Virtualização de Desktops

Talvez o tipo de virtualização mais comum entre estudantes de cursos de TI, que necessitam conhecer e aprender um novo sistema operacional ou até mesmo executar aplicativos em outras plataformas.

Basicamente este tipo de virtualização consiste em rodar outros sistemas operacionais em seu desktop além do sistema de origem já instalado.

O processo é realizado através de alguns softwares conhecidos como máquinas virtuais (Virtual Machines) ou VMs, como é popularmente conhecido na área da computação. 

Tais softwares emulam as partes físicas de um PC, assim, permitindo a instalação de vários sistemas operacionais em um único PC. Desta forma softwares que foram desenvolvidos para versões anteriores ao atual sistema ou até mesmo para outro sistema operacional, não terão problemas de incompatibilidade, permitindo assim, a utilização de outro sistema operacional sem a necessidade de possuir outro PC ou até mesmo ter que instalar o sistema operacional desejado diretamente no disco rígido. Conforme (Amaral 2009) é como se fosse um computador dentro do outro.

Exemplo de virtualização de desktop.

Virtualização de Aplicação

Esta categoria de virtualização resolve recorrentes problemas de incompatibilidade de aplicativos em desktops.

Neste caso há uma cópia do aplicativo instalada em um servidor virtual, assim servidor controla o envio dos aplicativos para o desktop. O Desktop executa a aplicação utilizando memória e processador. Tal virtualização pode ser utilizada com Microsoft Application Virtualization.

Exemplo de virtualização de aplicação

Virtualização de Apresentação

Neste modo os aplicativos de Desktop ficam instalados no servidor. O processamento e memória são executados pelo servidor. O Desktop final apenas recebe a tela de aplicação (apresentação) e apenas utilizará comandos do teclado e mouse.

Na linha Microsoft este serviço pode ser utilizado com o Terminal Services.

Exemplo de virtualização de apresentação.

Virtualização de Servidores

É a técnica que executa um ou mais servidores virtuais dentro de um único servidor físico. Nesta técnica os recursos do servidor físico são divididos em vários servidores virtuais.

Neste modo é possível executar diversos sistemas operacionais através das MVs em um mesmo hardware físico.

Com a instalação do Hypervisor são simulados novos hardwares que são conhecidas como máquinas virtuais. O próprio Hypervisor pode controlar, ou seja, administrar os recursos entre as VMs e alguns recursos o próprio administrador do servidor pode realocar conforme as necessidades de cada máquina Virtual.

Exemplo de virtualização de servidor.

USO E APLICAÇÕES

Nível de hardware

É a virtualização que imita a máquina real, a máquina virtual é executada em um de um sistema operacional e outros sistemas podem ser executados nela. Abaixo da máquina pode ter um sistema operacional ou um monitor de máquina virtual (hypervisor).

Deste nível são exemplos: VMware, Xen, VirtualBox.

Nível de Sistema Operacional

Possibilita a criação de partições lógicas em uma plataforma, deste modo cada partição é vista como uma máquina separada, porém compartilhando o mesmo sistema operacional. Este modo resolve a necessidade de aplicações serem executadas em sistema operacionais incompatíveis.

Deste nível são exemplos: FreeBSD jails, User-mode Linux, OpenVZ entre outros.

Nível de linguagem de programação

Aqui é possível fazer com que o PC se comporte de maneira diferente conforme instruções que o usuário definir através da máquina virtual. A própria MV transforma ou traduz as instruções em ações do sistema operacional.

São exemplos: Java, Smalltalk, Microsoft Commom Language Infrastucture, base do .Net

Exemplos de aplicação.

CONCLUSÕES

A virtualização tem alcançado e melhorado a vida de usuários comuns que necessitam ou apenas desejam aprender um novo sistema, como tem beneficiado muitas empresas na redução de custos, aproveitando mais os recursos existentes, reduzindo significativamente o consumo de energia elétrica.

Para o desenvolvedor, a possibilidade de trabalhar em várias plataformas sem custos adicionais, a utilização do máximo dos recursos computacionais quais muitas vezes ficavam ociosos.

Mesmo que seja um conceito antigo e já ofereça muitos benefícios, a virtualização ainda está em processo de melhoria dos benefícios já obtidos e criação de ferramentas novas, pois essa é a tecnologia do momento.

Sugestão de Estudo

Link para arquivo que descreve como instalar o virtual box e o Linux Fedora. É opcional. (link)

Fim da aula 10.

Click to listen highlighted text!