Arquivos executáveis ​​no Mac OS X vs Windows

11

Eu vi que todo arquivo executável no Windows tem uma extensão .exe. Mas o Mac OS X não tem o mesmo.

Windows executa arquivos .exe. Então, que tipo de arquivos o Mac OS X executa?

Qual é a diferença entre a execução de aplicativos do sistema operacional?

Mesmo eu achei que as configurações do Windows tem a mesma extensão .exe, mas em um Mac as configurações de extensão .dmg

Você poderia compartilhar seu conhecimento comigo sobre .dmg e executáveis ​​em Macs e Windows?

Sagar R. Kothari
fonte

Respostas:

18

As extensões, na verdade, não alteram o tipo de arquivo, mas geralmente sugerem ao sistema o que fazem com um item específico.

DMGs não são executáveis, são imagens de disco. São arquivos que atuam como discos, que geralmente contêm os executáveis ​​e outros arquivos para aplicativos. Quando você clica duas vezes em um, o sistema o monta e, em seguida, você tem acesso aos arquivos internos.

O Windows e o OS X executam arquivos executáveis ​​binários, embora estejam em formatos diferentes. A grande diferença no que um usuário vê se estiver usando a GUI é que, no Windows, você geralmente vê o arquivo executável .exe, que reside em uma pasta que contém outros arquivos e informações que o programa usa. No OS X, todos os outros arquivos, juntamente com o executável principal, estão contidos em um "pacote" (realmente uma pasta) com a extensão .app. Clicar duas vezes em um pacote .app executará o executável interno e carregará seu aplicativo.

Fora da GUI, na estrutura real do arquivo, os sistemas Mac e Windows são realmente muito semelhantes; essas diferenças são principalmente uma questão de como o sistema apresenta coisas ao usuário para manipulação na GUI.

phoebus
fonte
Também executa .pkg arquivos (pacote) Mac
Joshkunz
2
Os arquivos .pkg são pacotes compactados de arquivos que contêm um executável e outros dados do instalador, como um .app compactado e totalmente contido, destinado à instalação.
Phoebus 17/10/2009
3
Os arquivos .pkg são, na verdade, tecnicamente documentos para o Installer.app. Se eles realmente executam como um programa separado, não são verdadeiros .pkgs.
Chealion 17/10/09
É verdade que eu poderia ter sido mais claro nesse ponto.
Phoebus 18/10/2009
@ phoebus - Para ficar claro, um arquivo .pkg é um arquivo, como em algo que eu posso oferecer aos usuários para baixar do meu site, e não em uma pasta, como em algo que eu não posso oferecer aos usuários para baixar do meu site?
ArtOfWarfare 18/02/16
4

Você também poderá executar qualquer arquivo que possua permissões definidas como executável, uma vez que, na verdade, ele contém um programa válido.

Fred
fonte
11
O formato executável nativo no mac os é mach-O BTW. en.wikipedia.org/wiki/Mach-O
Fred
4

.dmgarquivos são os arquivos de imagem de disco normalmente usados ​​para instalar aplicativos Mac. Uma vez instalados, os aplicativos para Mac geralmente têm a extensão de .app, mas essa extensão normalmente fica oculta para o usuário. Aplicativos para Mac são pacotes que aparecem para o usuário como um único arquivo. Isso torna muito conveniente mover aplicativos para uma nova pasta ou um novo computador.

Bob D
fonte
0

todo arquivo executável no Windows tem extensão .exe

Isso não está correto. No DOS, havia 2 extensões de arquivos executáveis: *.COMe *.EXE. O Windows os herdou, então ele também suporta * .com e * .exe . Observe que * .exe é apenas o "contêiner" que contém vários formatos executáveis

Se você executar um comando sem uma extensão, o Windows anexará as extensões na %pathext%variável de ambiente e procurará até encontrar o primeiro arquivo com esse nome. O valor padrão da variável é assim

>echo %pathext%
.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC

Como você pode ver, existem outros tipos de arquivos executáveis que o Windows executará (sem uma extensão), mas a maioria deles são scripts e não executáveis ​​binários .

No entanto, o Windows não usa a extensão do arquivo para determinar o formato do arquivo. Qualquer arquivo que comece comMZ (que é a assinatura do formato MZ) será tratado como um arquivo executável .

O Windows 10 também tem a capacidade de executar binários Linux ELF com a introdução do

Os arquivos de instalação do Windows também costumam ser fornecidos em arquivos * .msi, cujo formato é lido pelo Windows Installer , embora, estritamente falando, não seja um arquivo executável

phuclv
fonte
11
Arquivos MSIs e JS são executáveis, mas não executáveis. MSI é um pacote de instalação: quando você clique duplo-lo, msiexec.exeinicia e abre-a, assim como você poderia usar o Paint para JPEGs abertos - não torná-los um executável. Assim, com o JS, WScript.exeé usado para abri-los (verifique a ramificação HKCU no seu registro). BATs e CMDs estão em algum lugar no meio, alguém poderia argumentar se eles são executáveis ​​- eles são suportados nativamente pelo Explorer, mas ainda precisam ser interpretados.
precisa saber é o seguinte
dessa maneira .NET arquivos exe não são "executáveis" também, porque eles só podem ser executados sob a plataforma .NET, não diretamente pela CPU
phuclv
11
Depende de como você define 'executabilidade'. Acredito que os MSIs, sem dúvida, não são executáveis, porque são apenas um arquivo - otimizado para instaladores, mas não importa nesse caso. Eles não são mais executáveis ​​que os ZIPs. Scripts de qualquer tipo estão à beira da 'executabilidade', porque precisam de um intérprete. Não sei detalhes de como o .NET EXEs são executados, mas eu diria que são o mesmo caso que CLASS - eles contêm algum tipo de código de máquina (que precisa de tradução / interpretação, mas ainda assim).
precisa saber é o seguinte