MAQUINAS VIRTUAIS: Conceitos e suas vantagens
Por: douglas mattheus • 12/8/2019 • Artigo • 2.218 Palavras (9 Páginas) • 267 Visualizações
[pic 1]
CENTRO UNIVERSIRÁRIO DO ESTADO DO PARÁ - CESUPA
ÁREA DE CIÊNCIAS EXATAS E TECNOLOGIA
BACHARELADO EM CIÊNCIA DA COMPUTAÇÃO
DOUGLAS MATTHEUS SOARES DA SILVA
MAQUINAS VIRTUAIS:
Conceitos e suas vantagens
Belém - PA
2019
DOUGLAS MATTHEUS SOARES DA SILVA
MAQUINAS VIRTUAIS:
Conceitos e suas vantagens
Artigo apresentado como requisito parcial para obtenção de nota em Sistemas Operacionais, pelo Curso de Ciência da Computação do Centro Universitário do Estado do Pará - CESUPA
Orientador(a): Prof.ª(a). Esp., Ms. Alessandra Natasha Alcantara Barreiros Baganha
Belém - PA
2019
MAQUINAS VIRTUAIS
VIRTUAL MACHINES
Douglas Mattheus Soares da Silva[1]
RESUMO: Esse artigo conterá informações especificas sobre a funcionalidade das maquinas virtuais mostrando suas características essenciais e como ela pode ser uteis para quem trabalha com desenvolvimento de software, a máquina virtual principal ferramenta virtualizar e definir as configurações de software para teste de aplicações em diversões sistemas operacionais, além da sua eficácia para monitoramento do comportamento sendo alterado de acordo com as configurações usadas, sendo útil para construção de relatórios técnicos que servirão para o aperfeiçoamento de quaisquer aplicação sendo utilizada para teste. Além disso, será disponibilizado nesse artigo exemplos dessas virtualizações e seu comportamento de acordo com cada sistema operacional, simulando esse monitoramento.
PALAVRAS-CHAVE: Desenvolvimento de software, Máquina virtual, Monitoramento, Aplicação.
ABSTRACT: This article will contain specific information about the functionality of the virtual machines showing their essential features and how it can be useful for anyone who works with software development, the main virtual machine virtualize tool and configure the software configurations to test applications in diversion operating systems, in addition to its effectiveness to monitor behavior being altered according to the settings used, being useful for the construction of technical reports that will serve to improve any application being used for testing. In addition, it will make available in this article examples of such virtualizations and their behavior according to each operating system, simulating this monitoring
KEY WORDS: Software development, Virtual machine, Monitoring, Application.
INTRODUÇÃO
Diversas linguagens de programação interpretadas (DEITEL e DEITEL, 2010; LUTZ, 2007) utilizam uma máquina virtual (CRAIG, 2006) para executar seus programas. O objetivo na utilização de máquinas virtuais e linguagens interpretadas é obter a máxima independência possível de plataforma. Portabilidade possibilita ao desenvolvedor projetar um determinado programa que será executado em diferentes plataformas de hardware, sem a necessidade de refazê-lo para cada uma destas. Esta é a maior vantagem das linguagens interpretadas. A grande desvantagem de se utilizar programas em ambientes interpretados é que estes são mais lentos, quando comparados com programas desenvolvidos em ambientes compilados. Isto devido ao fato de cada instrução do código intermediário ser lida, decodificada, traduzida para código de máquina e depois executada. Este processo ocasiona um atraso na execução do programa. Já em ambientes compilados o código gerado é o código de máquina, sendo necessário apenas executá-lo. Para melhorar o desempenho de linguagens interpretadas (SEBESTA, 2011), diversos ambientes de execução utilizam um mecanismo de compilação dinâmica, denominado Just-in-Time Compilation (JIT) (SCOTT, 2008). Este mecanismo é responsável por gerar código nativo otimizado durante a execução do programa, não sendo mais necessário interpretar novamente algumas porções do código do programa. Atualmente, a maioria das implementações da Máquina Virtual Java (JVM – Java Virtual Machine) (MEYER e DOWNING, 1997) possuem um compilador JIT em sua arquitetura (MICROSYSTEMS, 2010; CIERNIAK et al., 2000; BURKE et al., 1999). Um ambiente de compilação dinâmica além de gerar código nativo, aplica diversas otimizações como o objetivo de melhorar a qualidade do código gerado. No contexto de linguagens orientadas a objetos uma otimização que possui um alto potencial é inline (MUCHNICK, 1997). Isto devido ao fato de programas orientados a objetos possuírem uma grande quantidade de invocações de métodos. Embora seja conhecido que esta otimização seja efetiva, os trabalhos que desenvolvem ambientes de compilação dinâmica para Java (BURKE et al, 1999; CIERNIAK et al, 2000, GU et al, 2000; MICROSYSTEMS, 2010; SUGANUMAet al, 2000) não demonstram o quão esta otimização é efetiva, nem os custos decorrentes de sua má utilização.
FUNDAMENTAÇÃO TEORICA
A virtualização é o processo de executar vários sistemas operacionais em um único equipamento. Uma máquina virtual é um ambiente operacional completo que se comporta como se fosse um computador independente. Além de ser muito usado por Administradores de Redes em DataCenters. Um motivo óbvio para tal uso é, sem dúvidas, ter a possibilidade de gerenciar diversos sistemas em apenas um computador hospedeiro. Normalmente os sistemas operacionais não sabem que estão sendo executados em uma máquina virtual, e, desde que o sistema operacional cliente seja suportado, pode ser instalado da mesma forma que seria instalado em um computador físico. O sistema “convidado” pode acreditar que está fazendo uma chamada de E/S (entrada e saída) em um disco físico, mas na verdade está gravando em um arquivo no “hospedeiro”.
METODOLOGIA
A utilização da internet foi a principal ferramenta de adesão dos conhecimento e exposto nesse documento. Livros sobre o assunto de sistemas operacionais também foram utilizados para o entendimento de máquinas virtuais e livros que falam exclusivamente dessas máquinas.
DESENVOLVIMENTO
- Tipos/Apresentaçã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.
- Infraestrutura de Desktop Virtual (Virtual Desktop Infrastructure - VDI) — o VDI permite que você hospede máquinas virtuais cliente em uma estrutura de virtualização como virtualização de servidores.
- 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.
- Vantagens/Desvantagens
Uma vantagem de usar a máquina virtual Java ( VM) é que a máquina virtual tenta verificar toda a programação antes de executar a atividade maliciosa , e até mesmo erros graves dentro de um programa Java estão confinados a sandbox da máquina virtual. Uma enorme vantagem do Java VM é que permite que um programa a ser escrito e compilado apenas uma vez, que, então, pode ser executado em uma grande variedade de sistemas e sistemas operacionais sem modificação. Muitos celulares e dispositivos embarcados incluem um Java VM. Em ambientes empresariais, a virtualização pode facilitar as rotinas de backup, recuperação de desastres, novas implantações de aplicativos (utilizando Virtual Appliances), facilitar as rotinas administrativas e diminuir o downtime.
...