Quais são as diferenças específicas entre um" emulador "e uma"máquina virtual"? [duplicado]

[[2] esta pergunta já tem uma resposta aqui:

Vejo que são coisas diferentes, mas não sei porquê. Algumas pessoas dizem: "emuladores são para Jogos; Máquinas Virtuais são para sistemas operacionais" Não concordo com estas respostas porque há emuladores para Plataformas exceto consolas de videogame (AMIGA?) )

Podes ajudar-me, por favor?

Author: animuson, 2011-06-04

3 answers

As máquinas virtuais fazem uso da auto-virtualização do CPU, seja qual for a sua extensão, para fornecer uma interface virtualizada para o hardware real. Emuladores emulam o hardware sem depender da CPU ser capaz de executar o código diretamente e redirecionar algumas operações para um hipervisor controlando o recipiente virtual.

Um exemplo x86 específico pode ajudar: Bochs é um emulador, emulando um processador inteiro em software, mesmo quando está a correr sobre um físico compatível processador; qemu também é um emulador, embora com o uso de um kernel do lado kqemu pacote ganhou algum limitado de virtualização de capacidade quando a máquina emulada correspondência com a física de hardware, mas ele não conseguiu realmente tirar proveito de full x86 auto-virtualização, portanto, era um limitado hipervisor; kvm é uma máquina virtual do hipervisor.

Um hipervisor pode ser dito para" emular " acesso protegido; ele não emula o processador, porém, e seria mais correto dizer que é mediadora do acesso protegido.

Acesso protegido significa coisas como configurar tabelas de páginas ou ler/escrever portas de entrada/saída. Para o primeiro, um hypervisor valida (e geralmente modifica, para corresponder a memória própria do hypervisor) a operação da tabela de páginas e executa a instrução protegida em si; as operações I/O são mapeadas para hardware de dispositivo emulado em vez de CPU emulada.

{[[2]} e só para complicar as coisas, O vinho também é mais um hipervisor / virtual máquina (embora em um nível ABI mais elevado) do que um emulador (daí "o vinho não é um emulador").
 26
Author: geekosaur, 2011-06-04 04:55:30
O objectivo de uma máquina virtual é criar um ambiente isolado. O propósito de um emulador é reproduzir com precisão o comportamento de algum hardware. Ambos visam um certo nível de independência em relação ao hardware da máquina hospedeira, mas uma máquina virtual tende a simular apenas hardware suficiente para fazer o hóspede trabalhar, e fazê-lo com ênfase na eficiência da emulação/virtualização. Em última análise, a máquina virtual pode não agir como qualquer hardware que realmente existe, e pode precisar de drivers VM-específicos, mas o conjunto de motoristas convidados será consistente em um grande número de ambientes virtuais. Um emulador, por outro lado, tenta reproduzir exatamente todo o comportamento, incluindo peculiaridades e bugs, de algum hardware real sendo simulado. Os motoristas convidados necessários Irão exactamente corresponder ao ambiente que está a ser simulado.

A virtualização, a paravirtualização e a tecnologia de emulação, ou alguma combinação, podem ser utilizadas para a implementação de máquinas virtuais. Emuladores geralmente não podem usar virtualização, porque isso faria a abstração um pouco Vazante.

 16
Author: Ben Voigt, 2014-06-02 15:42:24
A Dell explicou exactamente qual é a diferença entre emuladores e máquinas virtuais.

Fonte - http://techpageone.dell.com/technology/emulation-virtualization-whats-difference/

Emulação ou virtualização: Qual é a diferença?

A emulação e a virtualização têm muitas semelhanças, mas têm diferenças operacionais distintas. Se você está olhando para acessar um mais velho sistema operacional dentro de uma arquitetura mais recente, emulação seria o teu rota preferida. Por outro lado, os sistemas virtualizados actuam independentemente de o hardware subjacente. Vamos procurar separar estas muitas vezes confusas. Termos, e descrever o que cada um deles significa para as operações de TI de negócios. Qual é a diferença? A emulação, em suma, envolve fazer com que um sistema imite outro. Para exemplo, se um pedaço de software corre no sistema a e não no sistema B, nós fazemos o sistema B "emular" o funcionamento do sistema A. O software então funciona com uma emulação do sistema A.

Neste mesmo exemplo, virtualização envolveria tomar o sistema a e dividindo-o em dois servidores, B E C. Ambos estes "virtuais" os servidores são contentores de software independentes, com acesso próprio para recursos baseados em software-CPU, RAM, armazenamento e rede-e pode ser reiniciado independentemente. Eles comportam-se exactamente como um verdadeiro hardware., e uma aplicação ou outro computador não seria capaz de dizer o diferenca.

Cada uma destas tecnologias tem os seus próprios usos, benefícios e limitacao.

Emulação

No nosso exemplo de emulação, o software preenche para criar um ambiente que se comporta de forma semelhante ao hardware. Isto tem um preço. relativa ao processador, atribuindo ciclos ao processo de emulação – ciclos que seriam utilizados em vez de executar cálculos. Assim, grande parte do músculo da CPU é gasta na criação deste ambiente. Curiosamente, pode executar um servidor virtual num emulado. ambiente. Portanto, se a emulação é um desperdício de recursos, por que considerá-lo?

A emulação pode ser efectivamente utilizada nos seguintes cenários:

* executar um sistema operativo destinado a outro hardware (por exemplo, Mac software em PC; jogos baseados em consola num computador)

* Software de execução destinado a outro sistema operativo (em execução Software específico para Mac em PC e vice (2)

• executar software antigo após hardware comparável tornar-se obsoleto

A emulação também é útil na concepção de software para múltiplos sistemas. A codificação pode ser feita em uma única máquina, e a aplicação pode ser executar emulações de vários sistemas operacionais, todos em execução simultaneamente nas suas próprias janelas.

Virtualização

No nosso exemplo de virtualização, podemos dizer com segurança que utiliza recursos informáticos eficiente e funcional-independente da sua localização física ou disposição. Uma máquina rápida com RAM ampla e armazenamento suficiente pode ser dividido em vários servidores, cada um com um conjunto de recursos. Aquela única máquina, normalmente utilizada como um um único servidor, poderia então hospedar um servidor de Web e E-mail de uma empresa. Os recursos informáticos anteriormente subutilizados podem agora ser utilizados a todo o potencial. Isto pode ajudar a reduzir drasticamente os custos.

Enquanto ambientes emulados necessita de uma ponte de software para interagir com o hardware, virtualização, acessa o hardware diretamente. Entanto, apesar de ser a opção geral mais rápida, a virtualização é limitada a executando um software que já era capaz de executar no subjacente hardware. Os benefícios mais claros da virtualização incluem:

* Ampla compatibilidade com a arquitectura x86 CPU existente

•Capacidade de aparecer como dispositivos físicos em todo o hardware e software

* autónomo em cada instância

Entre a emulação e a virtualização, a sua empresa pode executar a maior parte funções de sistemas virtuais. Enquanto ambos os Serviços soam iguais, tudo gira em torno de como você utiliza o software. Se você quiser o software para sair do caminho, a virtualização permite que o código do hóspede seja executado directamente no CPU. Inversamente, os emuladores irão executar o código convidado eles próprios, guardando a CPU para outras tarefas.
 6
Author: LianY, 2017-01-10 17:12:00