Archivos ejecutables en Mac OS X vs Windows

11

He visto que cada archivo ejecutable en Windows tiene una extensión de .exe. Pero Mac OS X no tiene lo mismo.

Windows ejecuta archivos .exe. Entonces, ¿qué tipo de archivos ejecuta Mac OS X?

¿Cuál es la diferencia entre la ejecución de aplicaciones de ambos sistemas operativos?

Incluso encontré que las configuraciones de Windows tienen la misma extensión .exe pero en las configuraciones de Mac tienen la extensión .dmg

¿Podría compartir su conocimiento conmigo sobre .dmg y ejecutables en Mac vs. Windows?

Sagar R. Kothari
fuente

Respuestas:

18

Las extensiones en realidad no cambian qué tipo de archivo es algo, aunque a menudo dan pistas al sistema sobre qué hacer con un elemento en particular.

Los DMG no son ejecutables, son imágenes de disco. Son archivos que actúan como discos, que a menudo contienen los archivos ejecutables y otros archivos para aplicaciones. Cuando hace doble clic en uno, el sistema lo monta y luego tiene acceso a los archivos en su interior.

Tanto Windows como OS X ejecutan archivos ejecutables binarios, aunque están en diferentes formatos. La gran diferencia en lo que ve un usuario si usa la GUI es que en Windows, generalmente ve el archivo ejecutable .exe, que reside en una carpeta que contiene otros archivos e información que usa el programa. En OS X, todos esos otros archivos, junto con el ejecutable principal, están contenidos en un "paquete" (realmente una carpeta) con la extensión .app. Hacer doble clic en un paquete .app ejecutará el ejecutable interno y cargará su aplicación.

Fuera de la GUI, en la estructura de archivos real, los sistemas Mac y Windows son realmente bastante similares; Estas diferencias son principalmente una cuestión de cómo el sistema presenta las cosas al usuario para su manipulación en la GUI.

Febo
fuente
Mac también ejecuta archivos .pkg (paquete)
Joshkunz
2
Los archivos .pkg son paquetes comprimidos de archivos que contienen un ejecutable y otros datos del instalador, algo así como un .app comprimido y completamente contenido que está destinado a la instalación.
phoebus
3
Los archivos .pkg son en realidad documentos técnicos para Installer.app. Si realmente se ejecutan como un programa separado, no son verdaderos .pkgs.
Chealion
Es cierto que podría haber sido más claro en ese punto.
phoebus
@phoebus - Entonces, para ser claros, un .pkg es un archivo, como algo que puedo ofrecer a los usuarios para descargar de mi sitio web, y no una carpeta, como algo que no puedo ofrecer a los usuarios que descarguen de mi sitio web.
ArtOfWarfare
4

También podrá ejecutar cualquier archivo que tenga sus permisos configurados como ejecutables, dado que en realidad contiene un programa válido, por supuesto.

Fred
fuente
1
El formato ejecutable nativo en mac os es mach-O BTW. en.wikipedia.org/wiki/Mach-O
Fred
4

.dmgLos archivos son los archivos de imagen de disco que normalmente se utilizan para instalar aplicaciones de Mac. Una vez instaladas, las aplicaciones de Mac generalmente tienen la extensión de .app, pero esa extensión normalmente está oculta para el usuario. Las aplicaciones de Mac son paquetes que aparecen al usuario como un solo archivo. Esto hace que sea muy conveniente mover aplicaciones a una nueva carpeta o una nueva computadora.

Bob D
fuente
0

cada archivo ejecutable en Windows tiene la extensión .exe

Esto no es correcto. En DOS había 2 extensiones de archivo ejecutables: *.COMy *.EXE. Windows los heredó, por lo que también admite * .com y * .exe . Tenga en cuenta que * .exe es solo el "contenedor" que contiene varios formatos ejecutables

Si ejecuta un comando sin una extensión, Windows agregará las extensiones en la %pathext%variable de entorno y buscará hasta que encuentre el primer archivo con ese nombre. El valor predeterminado de la variable es así

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

Como puede ver, hay otros tipos de archivos ejecutables que Windows ejecutará (sin una extensión), pero la mayoría de ellos son scripts y no ejecutables binarios .

Sin embargo, Windows no usa la extensión de archivo para determinar el formato del archivo. Cualquier archivo que comience conMZ (que es la firma del formato MZ) se tratará como un archivo ejecutable .

Windows 10 también tiene la capacidad de ejecutar binarios ELF de Linux con la introducción de

Los archivos de instalación en Windows también se proporcionan a menudo en archivos * .msi cuyo formato es leído por Windows Installer , aunque estrictamente hablando no es un archivo ejecutable

phuclv
fuente
1
Los archivos MSI y JS son ejecutables, pero no ejecutables. MSI es un paquete de instalación: cuando se hace clic doble él, msiexec.exese inicia y se abre, al igual que lo podría utilizar pintura para archivos JPEG abiertas - que no los hace un ejecutable. Entonces, con JS, WScript.exese usa para abrirlos (verifique la rama HKCU en su registro). BAT y CMD están en algún punto intermedio, uno podría argumentar si son ejecutables: son compatibles de forma nativa con Explorer, pero aún deben interpretarse.
gronostaj
de esa manera los archivos .NET exe tampoco son "ejecutables" porque solo pueden ejecutarse bajo .NET framework, no directamente por la CPU
phuclv
1
Depende de cómo se defina 'ejecutabilidad'. Creo que los MSI sin duda no son ejecutables, porque son solo un archivo optimizado para los instaladores, pero no importa en este caso. No son más ejecutables que los ZIP. Los guiones de cualquier tipo están al borde de la 'ejecubilidad', porque necesitan un intérprete. No conozco detalles sobre cómo se ejecutan .NET EXEs, pero diría que son el mismo caso que CLASS: contienen algún tipo de código de máquina (que necesita traducción / interpretación, pero aún así).
gronostaj