Virtualização

Origem: Wikipédia, a enciclopédia livre.
Ir para: navegação, pesquisa


Em computação, virtualização é a simulação de uma plataforma de hardware, sistema operacional, dispositivo de armazenamento ou recursos de rede.

Cada vez mais empresas estão buscando formas de reduzir os custos e complexidade com o ambiente de TI. A virtualização se tornou um componente chave para o desenvolvimento de uma estratégia eficiente na busca destes objetivos. Dentre os desafios enfrentados nos datacenters podemos destacar:

  • datacenters atingiram a capacidade máxima;
  • servidores subutilizados;
  • gerenciamento e Segurança complexa dos servidores;
  • problemas de compatibilidade de aplicações.


O que é virtualização?[editar | editar código-fonte]

Virtualização, basicamente, é a técnica de separar aplicação e sistema operacional dos componentes físicos. Por exemplo, uma máquina virtual possui aplicação e sistema operacional como um servidor físico, mas estes não estão vinculados ao software e pode ser disponibilizado onde for mais conveniente. Uma aplicação deve ser executada em um sistema operacional em um determinado software. Com virtualização de aplicação ou apresentação, estas aplicações podem rodar em um servidor ou ambiente centralizado e ser deportada para outros sistemas operacionais e hardwares.[1] [2]

Soluções de virtualização[editar | editar código-fonte]

Abaixo, as formas mais comuns de virtualização:

  • virtualização de servidor — técnica de execução de um ou mais servidores virtuais sobre um servidor físico; permite maior densidade de utilização de recursos (hardware, espaço e etc), enquanto permite que isolamento e segurança sejam mantidos;
  • virtualização de aplicação — a virtualização de aplicação permite executar aplicações em um ambiente virtualizado no desktop do usuário, isolando a aplicação do Sistema Operacional; isso é possível através do encapsulamento da aplicação no ambiente virtual — quando a solução completa de virtualização de aplicações é implantada, é possível distribuir aplicações de um servidor central;
  • virtualização de desktop — consiste na execução de múltiplos sistemas operacionais em uma única workstation e permitindo que uma aplicação de linha de negócio seja executada em um sistema operacional não compatível;
  • virtualização de apresentação — a virtualização de apresentação permite executar e manter o armazenamento das aplicações em servidores centralizados, enquanto provê uma interface familiar para o usuário em sua estação.
  • virtualização de perfil — com a virtualização de perfil, os usuários podem ter os documentos e perfil separados de uma máquina específica, o que permite a fácil movimentação do usuário para novas estações em caso de roubo ou quebra de equipamento; a virtualização de perfil também permite ter uma experiência de desktop única quando utilizando outras tecnologias de virtualização, como VDI.

Um dos componentes críticos para a implantação de um projeto de virtualização, independente da tecnologia utilizada, são as ferramentas de gerenciamento. As ferramentas que gerenciam o ambiente Virtual devem gerenciar tanto o ambiente físico como o virtual, assim como Sistema Operacional e Aplicações.


Lista de implementações de máquinas virtuais[editar | editar código-fonte]

Em soma aos métodos de virtualização portável descritas acima, as máquinas virtuais são usualmente utilizadas como modelo de execução para linguagens individuais de script. Esta tabela descreve as implementações de máquinas virtuais, ambos da categoria de máquinas virtuais portáveis e máquinas virtuais de linguagens de script.

Máquina virtual Linguagens Comentários Interpretador Compilação Just in Time Linguagem implementação Linhas de códio fonte
Adobe Flash Player (aka Tamarin) ActionScript, SWF (formato ficheiro) interactive web authoring tool. bytecode is named "ActionScript Byte Code (.abc)" Sim Sim C++ 135k (initially released)
BEAM Erlang, Reia, Lisp Flavoured Erlang, Elixir There exists a native-code compiler, HiPE. Sim Não C 247k
Clipper p-code Clipper, Harbour plankton, HVM Sim Não C
Dis (Inferno) Limbo Dis Virtual Machine Specification Sim Sim C 15k + 2850 per JIT arch + 500 per host OS
DotGNU/Portable.NET Linguagens de programação CLI incluindo: C# Clone of Common Language Runtime Não Sim C, C#
Forth Forth Funções estão simplificadas, normalmente contêm assemblador, compilador, interpretadores de nível-textos e nível-binarios, algumas vezes com editor, debugador e sistema operativo.sometimes editor, debugger and OS. Compilation speeds are >20 SKLOC/S and behave much like JIT. Sim Não Forth, Forth Assembler 2.8K to 5.6K; advanced, professional implementations are smaller.
Icon Icon
JVM Java, Jython, Groovy, JRuby, C, C++, Clojure, Scala e e outros Reference implementation by Sun ; OpenJDK: code under GPL ; IcedTea: code and tools under GPL Sim Sim JDK, OpenJDK & IcedTea com JIT regular : Java, C, ASM ; IcedTea com o "Zero" JIT : Java, C JVM contêm cerca de 6500k linhas; TCK é 80k de testes e têm cerca de 1000k linhas
LLVM C, C++, Objective-C, Ada, and Fortran MSIL, C and C++ output are supported. ActionScript Byte Code output is supported by Adobe Alchemy. bytecode is named "LLVM Bytecode (.bc)". assembly is named "LLVM Assembly Language (*.ll)". Sim Sim C++ 811k [3]
MMIX MMIXAL
Mono CLI languages including: C#, VB.NET, IronPython, IronRuby, e outros clone do Common Language Runtime. Sim Sim C#, C 2332k
Oz Oz, Alice
NekoVM currently Neko and haXe Sim x86 only C 46k
O-code machine BCPL
UCSD p-System Pascal UCSD Pascal, muito utilizado no final da década de 1970 incluindo o Apple II
Parrot Perl (6 & 5), PASM, PBC, BASIC, bc, C, ECMAScript, Lisp , m4, Tcl, WMLScript, XML, e outros Sim Sim C, Perl 111k C, 240k Perl
Perl virtual machine Perl op-code tree walker Sim Não C, Perl 175k C, 9k Perl
CPython Python

Referências

  1. Virtualization in education (PDF) (em ingles) IBM (Outubro 2007).
  2. Microsoft, VMware, Citrix Battle for Hypervisor Cloud | Virtualization (em ingles) ITBusinessEdge.com. Página visitada em 2010-12-10.
  3. A infraestrutura compilador LLVM, Ohloh, 2011 Nov 30

Ver também[editar | editar código-fonte]

!

Bibliografia

Ligações externas[editar | editar código-fonte]


Portal A Wikipédia possui o portal:



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