Simulador ou Emulador? Qual é a diferença?


523

Enquanto eu entendo o que simulação e emulação significam em geral, quase sempre fico confuso sobre eles. Suponha que eu crie um software que imite o hardware / software existente, como devo chamá-lo? Um simulador ou um emulador?

Alguém poderia explicar a diferença em termos de programação?

Bônus: Qual é a diferença em inglês entre esses dois termos? (Desculpe, eu não sou um falante nativo :))


3
No desenvolvimento de aplicativos móveis, o iPhone possui um simulador, enquanto o Android possui um emulador. Mais aqui - stackoverflow.com/questions/4544588/…
Vishnu Haridas

1
Encontrei a opinião da Wikipedia sobre este informativo: en.wikipedia.org/wiki/Emulator#Emulation_versus_simulation
AmigoNico

isso também pode ser útil para explicar isso: programmers.stackexchange.com/questions/134746/…
Hakan Fıstık

Respostas:


463

Emulação é o processo de imitar o comportamento observável externamente para corresponder a um alvo existente. O estado interno do mecanismo de emulação não precisa refletir com precisão o estado interno do destino que ele está emulando.

A simulação, por outro lado, envolve modelar o estado subjacente do destino. O resultado final de uma boa simulação é que o modelo de simulação emulará o destino que está simulando.

Idealmente, você deve poder examinar a simulação e observar as propriedades que também veria se visse o destino original. Na prática, pode haver alguns atalhos para a simulação por razões de desempenho - ou seja, alguns aspectos internos da simulação podem realmente ser uma emulação.

MAME é um emulador de jogo de arcade; Hyperterm é um emulador de terminal (não muito bom). Não é necessário modelar a máquina de fliperama ou um terminal em detalhes para obter o comportamento emulado desejado.

O Flight Simulator é um simulador; O SPICE é um simulador de eletrônica. Eles modelam o máximo possível todos os detalhes do alvo para representar o que o alvo faz na realidade.

EDIT: Outras respostas apontaram que o objetivo de uma emulação é capaz de substituir o objeto que está emulando. Esse é um ponto importante. O foco de uma simulação está mais na modelagem do estado interno do alvo - e a simulação não necessariamente leva à emulação. Em particular, uma simulação pode ser muito mais lenta que o tempo real. O SPICE, por exemplo, não pode substituir um circuito eletrônico real (mesmo que suponha que exista algum tipo de dispositivo mágico que faça a interface perfeita entre circuitos elétricos e uma simulação do SPICE.) Uma simulação de simulação nem sempre leva à emulação -


33
Por essa definição, é, portanto, impossível simular o mundo real em software? Não acho que possamos representar com precisão o estado subjacente do mundo real - apenas emular propriedades observáveis ​​... por enquanto.
Dolph

8
Eu não concordo com este "modelo [Simulações], tanto quanto possível, todos os detalhes do alvo para representar o que o alvo faz na realidade". As simulações têm o modelo do sistema de destino com detalhes suficientes com base no objetivo da simulação. Por exemplo, o Flight Simulator provavelmente não modela peixes no mar porque é inútil para o objetivo da simulação.
Hamdi

18
Exatamente a resposta oposta aqui: stackoverflow.com/questions/2174638/…
smwikipedia

3
Parece que a maioria das pessoas usa essas palavras de outra maneira, como em: a simulação geralmente ocorre em um nível mais alto do que a emulação (apesar de as duas palavras raramente serem usadas juntas em um determinado contexto). Veja, por exemplo, o Android Emulator versus o Apple's Simulator. Proponho alternar as palavras nesta resposta para permanecer consistente com a maioria das definições e evitar confusões para futuros visitantes.
Aviator

1
Eu acho que essa resposta mudou os 2 termos. Todas as outras fontes o explicam como: simulação = comportamento duplicado; emulação = funcionamento interno duplicado. O que leva à seguinte conclusão: ambos são termos SUBJETIVOS enlouquecidos.
metalim 30/08/19

351

Se um simulador de vôo pudesse transportá-lo de A para B, seria um emulador de vôo.

Um emulador pode substituir o original para uso real .
Um PC virtual emula um PC.

Um simulador é um modelo para estudo e análise.

Um emulador sempre terá que operar próximo ao tempo real. Para um simulador que nem sempre é o caso. Uma simulação geológica pode durar 1000 anos / segundo ou mais.


6
@ Henk Seu exemplo de "cockpit" é fantástico, embora eu tenha entendido depois de ler a resposta do Toybuilder. Obrigado :)
AraK

1
O PC virtual não emula, ele virtualiza. QEmu, por outro lado, faz imitar. Nos dois casos, o nome deve ser uma dica.
Jörg W Mittag

24
Eu acho que seria seguro dizer que o Virtual PC emula um PC. COMO emula o PC é através da virtualização, mas isso é mais um detalhe de implementação. Você pode argumentar que a virtualização de hardware é um super conjunto de emulação, na medida em que pode fornecer suporte acelerado CPU, hardware de acesso ao dispositivo exclusivo, etc.
Lee B

Espere, o Virtual PC não fornece uma réplica praticamente 1: 1 de um PC real? (Quero dizer, a virtualização do sistema em geral deve não apenas simular o comportamento externo, mas praticamente todos os cantos de um sistema, ao contrário da virtualização de aplicativos onde, por exemplo, a pilha de rede não é recriada).
Camilo Martin

1
Onde posso encontrar o referido emulador de voo?
perfil completo de Jerry Dodge

175

Simulação = Para análise e estudo

Emulação = Para uso como substituto

Um simulador é um ambiente que modela, mas um emulador que replica o uso como no dispositivo ou sistema original.

O simulador imita a atividade de algo que está simulando. Ele "parece" (pode haver muita coisa com "parece", dependendo do contexto) como sendo o mesmo que está sendo simulado. Por exemplo, o simulador de voo "parece" ser um voo real para o usuário, embora não o transporte de um lugar para outro.

O emulador, por outro lado, na verdade " faz " o que a coisa que está sendo emulada faz e, ao fazê-lo, também " parece estar fazendo a mesma coisa ". Um emulador pode usar um conjunto diferente de protocolos para imitar a coisa que está sendo emulada, mas o resultado / resultado é sempre o mesmo que o objeto original. Por exemplo, o EMU8086 emula o microprocessador 8086 no seu computador, que obviamente não está sendo executado no 8086 (= protocolos diferentes ), mas a saída fornecida é o que um 8086 real daria.


9
Resposta mais clara que eu já vi. Para mim, só poderia ser melhorada omitindo a frase extra ou integrando-os em suas excelentes definições contrastantes :-D
doughgle

40

É uma diferença de foco. Os emuladores 1 se concentram em recriar o comportamento de um sistema, sem levar em consideração como o sistema funciona internamente. Os simuladores 2 se concentram na modelagem dos componentes de um sistema. Você usa um emulador quando se preocupa principalmente com o que um sistema faz e um simulador quando se preocupa com como ele faz.

Quanto aos significados gerais em inglês, a emulação é "o esforço de igualar ou sobressair outro em qualidades ou ações ", enquanto a simulação é " modelar , replicar, duplicar o comportamento, aparência ou propriedades de". Pouca diferença. A emulação vem de æmulus , "esforçando-se, rivalizando" e está relacionada a "imitar" e "imagem", o que sugere uma semelhança com a alavanca de superfície. "Simulação" vem de similis "like", assim como a palavra "similar", o que talvez sugere uma congruência mais profunda.

Referências:

  1. Wikipedia: Emulador
  2. Wikipedia: Simulação por Computador
  3. Wikcionário: emulação
  4. Wikcionário: simulação
  5. Etimologia Online: emulação
  6. Etimologia Online: simulação

Sua resposta é diferente dos outros. O Virtual PC é um simulador ou um emulador, de acordo com você?
Mikaël Mayer

@ MikaëlMayer: Muitas das respostas são diferentes das outras, com apenas algumas semelhantes. Eu consideraria minha resposta equivalente (na medida em que as coisas seriam classificadas da mesma maneira) às do Toybuilder e cdiggens e compatível com a de Jörg. É contrário apenas a Pontus e Aeolai.
sai

O MikaëlMayer Virtual PC é um emulador. Ele pode fazer tudo o que um PC real pode fazer.
Um usuário

1
@Ri Veja a resposta deste tópico referente ao Virtual PC. São os dois, depende da perspectiva. Por exemplo, você ainda pode dizer que é uma simulação porque não pode aquecer como um computador real.
Mikaël Mayer

Obrigado por voltar ao MikaëlMayer, mas, para ser sincero, algumas vezes não conseguimos diferenciar se um sistema é emulador ou simulador. Uma boa variedade de debates começa. Espero que eu esteja certo! Poucos derivam a diferença com base no uso, seu significado em inglês, funcionalidade e acessibilidade. Mas quando eu aplico todas as respostas no meu estudo de caso, não é uma coisa fácil
Um usuário

19

Eu não acho que o emulador e o simulador possam ser comparados. Ambos imitam algo, mas não fazem parte do mesmo escopo de raciocínio, não são usados ​​no mesmo contexto.

Em resumo: um emulador é projetado para copiar alguns recursos do original e pode até substituí-lo no ambiente real. Um simulador não foi projetado para copiar os recursos do original, mas apenas para parecer semelhante ao original para os seres humanos. Sem os recursos do original, o simulador não pode substituí-lo no ambiente real.

Um emulador é um dispositivo que imita algo próximo o suficiente para que possa ser substituído pela coisa real. Por exemplo, você deseja que um circuito funcione como um circuito ROM (memória somente leitura), mas também deseja ajustar o conteúdo até que seja o que você deseja. Você usará um emulador de ROM, uma caixa preta (provavelmente baseada em CPU) com interfaces físicas e elétricas compatíveis com a ROM que deseja emular. O emulador será conectado ao dispositivo no lugar da ROM real. A placa-mãe não verá nenhuma diferença ao trabalhar, mas você poderá alterar o conteúdo da ROM emulada facilmente. Dito de outra forma, o emulador atuará exatamente como a coisa real no contexto da placa-mãe (talvez um pouco mais lento devido ao modelo interno real), mas haverá funções adicionais (como reescrever) visíveis apenas para o designer, fora do contexto da placa-mãe . A definição do emulador seria: algo que imita o original, tem todos os seus recursos funcionais,

Um simulador é usado em outro contexto de pensamento, por exemplo, um simulador de avião, um simulador de carro, etc. A simulação tratará apenas de alguns aspectos da coisa real, geralmente aqueles relacionados a como um ser humano a perceberá e controlará.. O simulador não desempenhará as funções do material real e não poderá ser sustentado por ele. O simulador de avião não voa ou carrega alguém, não é seu objetivo. O simulador não se destina a funcionar, mas a parecer ao piloto de alguma forma como a coisa real para outros fins que não os normais, por exemplo, para permitir treinamento no solo (inclusive em situações incomuns, como falha de todos os motores). A definição do simulador seria: algo que pode parecer humano, até certo ponto, como o original, mas não pode substituí-lo para uso real. Além disso, o piloto saberá que o simulador é um simulador.

Não acho que veremos nenhum simulador de ROM, porque a ROM não está interagindo com seres humanos, nem veremos emulador de avião, porque os aviões não podem ter um substituto executando as mesmas funções no mundo real.

Na minha opinião, o modelo dentro de um emulador ou simulador pode ser qualquer coisa, e não deve ser semelhante ao modelo do original. Um modelo de emulador de ROM provavelmente será software em vez de hardware, o MS Flight Simulator não pode ser mais software do que é.

Essa comparação dos dois termos contradiz a resposta atualmente selecionada (do Toybuilder), que coloca a diferença no modelo interno, enquanto minha sugestão é que a diferença é se o falso pode ou não ser usado para desempenhar a função real no mundo real ( até certo ponto aceito).

Observe que o simulador de avião também terá que simular a terra, o sol, o vento, etc., que não fazem parte do plano, portanto, um simulador de avião precisará imitar alguns aspectos do avião, bem como o ambiente da aeronave. avião porque não é usado neste ambiente real, mas em uma sala de treinamento.

Essa é uma grande diferença com o emulador que emula apenas o original, e seu objetivo é ser usado no ambiente do original sem a necessidade de emulação. De volta ao contexto do avião ... o que poderia ser um emulador de avião? Talvez um trem que conecte dois aeroportos - na verdade dois degraus de avião - transporta passageiros, com aeromoças a bordo, com o interior do carro parecendo uma cabine de avião real, e com o capitão dizendo "Senhoras e Senhores Deputados, nossa altitude é de 10 km e a temperatura no nosso destino é 24 ° C ". Seu benefício é difícil de ver, hum ...

Como conclusão, o emulador é uma coisa real destinada a funcionar, o simulador é um falso destinado a enganar o usuário.


1
A frase "emulador de ROM" me lembra os consoles de videogame virtual.
Joe Z.

11

Explicação simples.

Se você deseja converter seu PC (executando o Windows) em Mac, você pode:

(1) Você pode simplesmente instalar um tema Mac no seu Windows. Portanto, seu PC se parece mais com um Mac, mas você não pode executar nenhum programa para Mac.(SIMULATION)

(ou)

(2) Você pode programar seu PC para rodar como Mac (não tenho certeza se isso é possível: P). Agora você pode até executar programas Mac com êxito e esperar a mesma saída que no Mac.(EMULATION)

No primeiro caso, você pode experimentar o Mac, mas não pode esperar a mesma saída que no Mac.
No segundo caso, você pode esperar a mesma saída que no Mac, mas ainda assim o fato é que é apenas um PC.


3
Isso é simples e completamente errado. (2) está próximo da emulação, mas (1) não é emulação nem simulação.
27518 Nick Bastin

10

Para entender a diferença entre um simulador e um emulador, lembre-se de que um simulador tenta imitar o comportamento de um dispositivo real. Por exemplo, no caso do iOS Simulator, ele simula o comportamento real de um dispositivo iPhone / iPad real. No entanto, o próprio Simulador usa as várias bibliotecas instaladas no Mac (como o QuickTime) para executar sua renderização, de modo que o efeito pareça o mesmo que um iPhone real. Além disso, os aplicativos testados no Simulador são compilados no código x86, que é o código de bytes compreendido pelo Simulador. Um dispositivo iPhone real, por outro lado, usa código baseado em ARM.

Por outro lado, um emulador emula o funcionamento de um dispositivo real. Os aplicativos testados em um emulador são compilados no código de bytes real usado pelo dispositivo real. O emulador executa o aplicativo convertendo o código de bytes em um formulário que pode ser executado pelo computador host que está executando o emulador.

Para entender a sutil diferença entre simulação e emulação, imagine que você está tentando convencer uma criança de que brincar com facas é perigoso. Para simular isso, você finge se cortar com uma faca e geme de dor. Para imitar isso, você realmente se corta.


7
Não tente isso em casa crianças: D
Gearoid Murphy

9

Um emulador é um modelo de sistema que aceitará qualquer entrada válida que o sistema emulado aceitaria e produzirá a mesma saída ou resultado. Portanto, seu software é um emulador, apenas se ele reproduzir precisamente o comportamento do sistema emulado.


Obrigado. Eu acho que essa é uma definição muito precisa de emulação. Então, por exemplo, o Wine é um simulador porque não fornece necessariamente a mesma saída precisa definida no Windows?
Arak

6
Tenha cuidado ao tentar calçar o WINE em um emulador ou simulador. O WINE é uma camada de compatibilidade, que faz com que os binários de um sistema sejam executados na camada API binária de outro sistema. Você pode chamá-lo de adaptador. Suponho que o simulador também não é uma má maneira de entendê-lo, mas não é muito mais próximo do que o emulador.
18799 Lee B

VINHO é emulação, neste espectro. Ele tem a aparência externa de vincular binários do Windows, mas se você procurar nos internos, não aprenderá nada sobre o Windows.
22618 Nick Bastin

9

Há alguns anos, criei um ditado muito curto que, acredito, captura bem a essência da diferença:

Um simulador é um emulador em uma missão.

Com isso, quero dizer que você usa um emulador quando não pode usar a coisa real, e usa um simulador quando não pode usar a coisa real e deseja descobrir algo sobre isso .


8

Em linguagem mais ou menos normal: se o seu software pode fazer tudo o que o sistema imitado pode fazer, é um emulador. Se apenas aproximar os resultados de um sistema (TI ou não), é um simulador.


5

Simulador: é semelhante ao intérprete. ou seja, ele realmente executa o código real linha por linha para imitar o comportamento

Emulador: é executável semelhante. isto é, pega o código compilado e o executa.


4

Um emulador é uma alternativa ao sistema real, mas um simulador é usado para otimizar, entender e estimar o sistema real.


3

A distinção entre os dois termos é um pouco confusa. Vindo de um mundo onde "Emuladores" são peças de hardware que permitem depurar sistemas embarcados. E lembre-se de produtos que permitiam que você tivesse recursos de ICE (Emulação de Circuito) para depurar uma plataforma de PC, acho que o uso do termo "Emulação" é um pouco impróprio para software que simula o comportamento de uma peça de hardware.

Minha justificativa para o uso atual do termo é Emulação: ele pode "aumentar" a funcionalidade e se preocupa apenas com uma aproximação "razoável" do comportamento do sistema.

ICE: (Emulação de circuito) Uma peça de hardware conectada a uma placa no lugar do processador real. Ele permite que você execute o sistema como se o processador real estivesse presente. Normalmente, eles possuem uma variante do processador para executar o software com lógica de cola, permitindo que o usuário interrompa a execução e a etapa única sob controle de hardware. Alguns também forneceriam capacidade de registro. A maioria dos sistemas modernos de desenvolvimento de processadores substitui a emulação do tipo ICE pela emulação JTAG, onde o JTAG apenas conversa com o processador por meio de um link serial para fins especiais e toda a execução é realizada pelo processador montado na placa.

EMULADOR DE SOFTWARE: Um emulador 0x86 se preocupa apenas com a capacidade de executar a linguagem assembly 0x86, não fornecendo um modelo comportamental preciso de ciclo por ciclo de um processador SPECIFIC 0x86. Bochs é um exemplo disso. O QEMU faz isso, mas também permite "virtualização" usando módulos especiais do kernel.

SIMULADOR: A Texas Instruments fornece um modelo comportamental de CICLO PRECISO dos processadores para desenvolvimento de software que se destina a ser uma SIMULAÇÃO precisa do comportamento ESPECÍFICO dos núcleos do processador que os desenvolvedores devem usar antes de ter o hardware em funcionamento.

Funcionalidade de aprimoramento do EMULATOR de software: o BLEEM não apenas permitiu a execução do software Playstation, mas também permitiu a saída do monitor com resolução mais alta do que o Playstation foi capaz de fornecer e também aproveitou os recursos mais avançados das GPUs disponíveis. (ou seja, melhor mistura e suavização de texturas.)


3

Ambos são modelos de um objeto para os quais você tem alguns meios de controlar entradas e observar saídas.

A principal diferença é que:

  • Com um emulador , você deseja que a saída corresponda exatamente ao que o objeto que você está emulando produziria.
  • Com um simulador , você deseja que certas propriedades de sua saída sejam semelhantes às que o objeto produziria.

Deixe-me dar um exemplo - suponha que você queira fazer alguns testes do sistema para ver como a adição de um novo sensor (como um termômetro) a um sistema afetaria o sistema. Você sabe que o termômetro envia uma mensagem 8 vezes por segundo contendo sua medição.

Simulação - se você ainda não possui o termômetro, mas deseja testar se essa taxa de mensagens não sobrecarregará o sistema, você pode simular o sensor conectando uma unidade que envia um número aleatório 8 vezes por segundo. Você pode executar qualquer teste que não dependa do valor real que o sensor envia.

Emulação - suponha que você tenha um termômetro muito caro que mede 0,001 C e deseja ver se consegue um termômetro mais barato que mede apenas os 0,5 C. mais próximo. Você pode emular o termômetro mais barato usando um termômetro caro e arredondando a leitura para os 0,5 C mais próximos e executando testes que dependem dos valores de temperatura.

Observe que simulações também podem ser usadas para prever ou prever comportamentos. Simulações de análise de elementos finitos são usadas em muitas aplicações, incluindo previsão do tempo e túneis virtuais de vento.

As definições dos termos:

  • emulação - superar ou corresponder exatamente
  • simular - imitar na aparência ou no caráter

Nota - isso é muito semelhante à resposta a uma pergunta que foi marcada como duplicação desta ( stackoverflow.com/questions/2174638/… ). Adicionei uma definição dos termos (solicitados na pergunta, mas ainda não respondidos) e também adicionei algumas informações sobre os usos da simulação (análise de elementos finitos) para algo mais do que imitar um dispositivo.
Jay Elston

2

Provavelmente, é melhor responder a essa pergunta examinando a prática histórica.

No passado, eu vi emuladores de console de jogos no PC para o PlayStation e SEGA.

Os simuladores são comuns quando se refere a softwares que tentam imitar ações da vida real, como dirigir ou voar. Gran Turismo e Microsoft Flight Simulator vêm à mente como exemplos clássicos de simuladores.

Quanto à diferença linguística, emulação geralmente se refere à ação de copiar características ou comportamentos dignos de louvor de alguém (ou algo). A emulação é distinta da imitação, na qual uma pessoa é copiada com a finalidade de zombaria.

O significado linguístico do verbo 'simulação' é essencialmente fingir ou imitar alguém ou algo.


2

Na ciência da computação, tanto a simulação quanto a emulação produzem as mesmas saídas, a partir das mesmas entradas, que o sistema original; No entanto, uma emulação também usa os mesmos processos para alcançá-lo e é feita com os mesmos materiais . Uma simulação usa processos diferentes do sistema original. Também digno de nota é o termo replicação, que é o intermediário dos dois - usando os mesmos processos, mas sendo feito de um material diferente.

Portanto, se eu quiser executar meu antigo jogo de Super Mario Bros no meu PC, uso um emulador de SNES , porque ele está usando o mesmo código de computador ou similar (processos) para executar o jogo e usa materiais iguais ou similares (chip de silicone) . No entanto, se eu quiser pilotar um jato Boeing 747 no meu PC, uso um simulador de voo porque ele usa processos completamente diferentes do original (não há asas, sustentação ou aerodinâmica reais envolvidas).

Aqui estão as definições exatas retiradas de um glossário de ciência da computação:

Uma simulação é um modelo de um sistema que captura as conexões funcionais entre entradas e saídas do sistema, mas sem necessariamente se basear em processos que são iguais ou semelhantes aos do próprio sistema.

Uma replicação é um modelo de um sistema que captura as conexões funcionais entre entradas e saídas do sistema e baseia-se em processos iguais ou semelhantes aos do próprio sistema.

Uma emulação é um modelo de algum sistema que captura as conexões funcionais entre entradas e saídas do sistema, com base em processos iguais ou semelhantes aos do sistema e que é construído com os mesmos materiais desse sistema .

Referência: The Open University, M366 Glossário 1.1, 2007


2

Uma simulação é um sistema que se comporta de maneira semelhante a outra coisa, mas é implementado de uma maneira totalmente diferente. Ele fornece o comportamento básico de um sistema, mas pode não necessariamente respeitar todas as regras do sistema que está sendo simulado. Está aqui para lhe dar uma idéia de como algo funciona.

Uma emulação é um sistema que se comporta exatamente como outra coisa e cumpre todas as regras do sistema que está sendo emulado. É efetivamente uma replicação completa de outro sistema, até ser binário compatível com as entradas e saídas do sistema emulado, mas operando em um ambiente diferente do ambiente do sistema emulado original. As regras são fixas e não podem ser alteradas ou o sistema falha.


2

As definições das palavras descrevem a diferença da melhor maneira. Uma pesquisa no Google fornece as seguintes definições de simular e emular:

simular imitar a aparência ou o caráter de.

emular, imitar correspondência ou superação (uma pessoa ou conquista), normalmente por imitação.

Uma simulação imita um sistema. Uma emulação simula um sistema tão bem que pode substituí-lo ou até superá-lo.

Na computação, uma emulação seria uma queda no substituto do sistema que está emulando. Muitas vezes, ele supera o sistema que está imitando. Por exemplo, os emuladores de console de jogos geralmente fazem melhorias, como maior compatibilidade de hardware, melhor desempenho e melhor qualidade de áudio / vídeo.

As simulações, por outro lado, são limitadas por serem modelos. Eles são a melhor tentativa de imitar um sistema, mas não os substituem. Existem emuladores de hardware porque o hardware pode ser imitado e seria difícil dizer a diferença. Não há emulador agrícola, porque não há emulação que poderia substituir a agricultura real. Só podemos simular um modelo de agricultura para obter informações sobre como cultivar melhor.


1

Um PC virtual tenta emular um computador, do ponto de vista de um programador , mas, ao mesmo tempo, simula um computador do ponto de vista de um engenheiro elétrico .


0

Emulador:

Considere uma situação em que você saiba apenas inglês e esteja na China. Para interagir com uma pessoa chinesa, você precisa de um tradutor. Agora, o papel do tradutor é que ele buscará informações suas em inglês e converterá para chinês, além de fornecer essas informações para a pessoa chinesa e obter resposta da pessoa chinesa e converter para inglês e fornecer a saída para você em inglês. Agora esse tradutor e chinês é o emulador. Ambas as combinações fornecerão funcionalidade semelhante como se você estivesse se comunicando com a pessoa em inglês. Portanto, o hardware pode ser diferente, mas a funcionalidade será a mesma.

Simulador:

Não posso dar um exemplo melhor do que o SPICE ou o simulador de vôo. Ambos substituirão o comportamento do componente de hardware pelo software ou modelo matemático que se comportará de maneira semelhante ao hardware.

No final, depende do contexto em que solução melhor se adapte às necessidades do projeto.


0

Simulador é algo mais amplo que Emulador e parece que a dualidade desses termos é exagerada nos posts acima.

Emulador

As pessoas decidiram usar uma nova emulação de palavras no "mundo dos computadores" quando começaram a substituir algumas partes de hardware do sistema existente de maneira direta - imitando seu comportamento e baseando-se na natureza computacional para não quebrar nada e deixar tudo no estado equivalente.Então nós emulamos o pedaço disso! (e o todo ainda funciona como antes)

Emulador geralmente usado em sentido estrito na área digital como substituição e virtualização - apresentando-se na forma digital como um software - de algo conhecido e que existia anteriormente (chips virtuais, placas de circuito, dispositivos eletrônicos). Então, quando o mundo se tornou mais digital e trouxe a palavra emulador para as massas, as massas acrescentaram incerteza a ele (ou razões adicionais).

Simulador

Antes de tudo, vi muitos comentários sobre emuladores fazerem ou substituirem algo real, mas não simuladores.

MAS o simulador de vôo é usado para algo real - ele treina pilotos, fornece habilidades e conhecimento e substitui aviões reais caros e economiza muito dinheiro. E não podemos simplesmente dizer um emulador de avião, porque temos a sensação interna de que isso é muito mais do que isso, então chamamos de simulador :) O simulador de avião pode conter radar ou transponder emulado que seja verdadeiro.

Contra-afirmações de que simuladores são usados ​​para análise e estudo (e emuladores para algo real), mas que análise e estudo não são menos reais do que as placas GSM emuladas (ainda mais na era da informação em que vivemos). A análise agrega valor ao negócio, reduz custos ou aponta para lucros não inferiores ao hardware (emulado) substituído.

O simulador é semelhante à modelagem de algo que não podemos obter por algum motivo (custo, tecnologia, impossibilidade física). Geralmente é simulado para algo novo, intangível ou complexo, ou que não seja conhecido por nós como mercado, clima, combustão, usuário. Então aqui vem o voo, buraco negro, bolsa de valores, simulações.

Então finalmente:

  1. O simulador é mais amplo que o emulador
  2. O simulador tende a imitar / modelar processos / coisas mais globais em geral, com capacidade de restringir a imitação (por exemplo, simulador de capacitor com predefinições representando alguns modelos conhecidos)
  3. O emulador tende a imitar certos dispositivos de hardware com determinadas especificações, características e propriedades conhecidas (por exemplo, emulador SNES, Intel 8087 ou Roland TB-303)

Quanto à origem das palavras

Todos vieram do latim e significam:

  • emular é "ser igual" (parece mais agressivo e direto - rivalidade)
  • simular é "ser semelhante" (parece mais astuto e complicado - imitação)
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.