o que significa que o software rodar nativamente?

Quando as pessoas referem-se a executar o software nativo, emulação e compatibilidade de software, o que exatamente eles estão se referindo? Leia sobre como nós mergulhar no conceito de software nativo.

Pergunta e Resposta a sessão de hoje vem a nós cortesia de SuperUser-a subdivisão da Stack Exchange, um grupo conduzido pela comunidade de Q & A sites.

leitor de SuperUser Throsby é curioso sobre o que significa para executar o software de forma nativa. Ele escreve

Fiquei me perguntando o que significa para o software seja executado nativamente. O que exatamente é esse software e como ele é diferente de software que não é executado nativamente? Como posso saber se uma determinada peça de software será executado nativamente no meu computador? É provável que haja software já estão no meu computador que roda nativamente?

Leia sobre para uma excelente analogia explicar exatamente o que significa ser nativo em um determinado sistema.

contribuinte SuperUser Deltik oferece uma analogia fantástico que destaca o que isso significa para o software a ser nativa e que tipo de outro software que se poderia encontrar em um determinado sistema

Um software é nativa para uma plataforma se ele foi projetado para ser executado nessa plataforma.

Uma plataforma geralmente refere-se a um sistema operativo, mas também pode ser aplicada a dispositivos, tais como o jogo de Nintendo Boy.

Usando o Game Boy como um exemplo, ele recebe o seu software de cartuchos. Esses cartuchos contêm código que é executado nativamente no Game Boy.

Emuladores são uma camada que permite que o software projetado para uma plataforma a ser executado em outro. Por exemplo, existem emuladores que podem executar imagens de cartuchos de Game Boy e permitem que você jogue jogos de Game Boy em seu computador ou até mesmo seu telefone celular.

A camada de compatibilidade é tipo como um emulador. Quando os computadores de 64 bits e sistemas operacionais tornou-se mainstream, eles precisavam de ser compatíveis com as tecnologias existentes de 32 bits. Desde arquiteturas de 64 bits e 32 bits são muito diferentes, uma camada de compatibilidade é muitas vezes necessário para executar software de 32 bits em computadores de 64 bits. Para edições de Microsoft Windows de 64 bits, a Microsoft precisava para escrever uma camada de compatibilidade para que os programas de 32 bits ainda iria trabalhar no novo sistema de 64 bits. É por isso que alguns programas são muitas vezes instalados em uma pasta chamada Arquivos de Programas (x86), onde 86 significa “32-bit”.

camadas de compatibilidade tendem a ser mais íntimo com o sistema nativo de emuladores são. VirtualBox emula hardware para sistemas operacionais *, e os sistemas que ele emula não tem muito a interação direta com o sistema host. WoW64 é uma camada de compatibilidade na medida em que permite que programas de 32 bits executados no Windows de 64 bits de uma forma mais integrada. WoW64 ajuda a fazer programas compatíveis ao invés de emular-los em um ambiente isolado.

Uma biblioteca de tradução é um componente de camadas de compatibilidade. Sempre que o código binário está sendo executado não-nativa, uma biblioteca de tradução ajuda a redirecionar chamadas para o estrangeiro, não nativas para chamadas nativas que o sistema pode compreender. programas de montagem escritos para a TI-83 original pode não ser compatível com a TI-83/84 calculadoras mais recentes vantagem porque algumas chamadas que faziam sentido na arquitetura da TI-83 pode não ser mais válido no TI-83/84 +. Uma biblioteca de tradução (provavelmente incluído no escudos como MirageOS) garante que as chamadas para a TI-83 vão para os novos, lugares actualizados nas TI-83/84 + calculadoras.

código independente de plataforma é escrito em uma linguagem que é interpretada por algo que geralmente é executado nativamente. Por exemplo, PHP é uma linguagem de programação que é interpretado e executado pelo binário do PHP instalado, que já foi compilado nativamente em sistemas operacionais baseados em Unix Windows, Mac, e. O código PHP que scripts web escrever são independentes da plataforma, permitindo que o código para funcionar em vários sistemas operacionais, enquanto PHP é instalado para esses sistemas operacionais.

Tem algo a acrescentar a explicação? Soar fora nos comentários. Quer ler mais respostas de outros usuários conhecedores de tecnologia Stack Exchange? Confira o histórico da conversa completa aqui.

@howtogeek o link o artigo aponta para o artigo errado em superusuário.

Embora pareça um deleite imortal, o biscoito de chocolate é uma invenção recente, que foi criado pelo padeiro americana Ruth Graves Wakefield em meados dos anos 1930.