7 votos

¿Por qué se dividen las aplicaciones en tipos basados en Intel o M1 si existen binarios universales?

Así que, estoy descargando software en la preparación de un Macbook M1 y he descubierto rápidamente que los sitios suelen preguntar qué tipo de chip de mac que tiene junto con un artículo mostrando cómo.

En promedio, la mayoría de los sitios (como VLC ) que he visto a menudo te harán elegir entre una de estas opciones:

  • Basado en Intel
  • Chip M1
  • Binario universal

La principal pregunta que tengo es ¿por qué estos sitios separan sus aplicaciones en las dos categorías basadas en el tipo de chip si pueden simplemente enviar binarios universales?

Otras preguntas que se derivan de esto giran más o menos en torno a por qué este La aplicación sólo admite X ¿tipos de chip? - Algo parecido a decir "Este programa está diseñado para funcionar en AMD cpus pero no Intel cpus".

11voto

benwiggy Puntos 8

Mi experiencia es que VLC es un caso atípico: la mayoría de los desarrolladores producen una aplicación binaria universal para ambas arquitecturas, y eso es lo que recomienda Apple.

El único beneficio para el usuario es el tamaño del archivo. Un binario universal contiene "el otro" binario que tu hardware no puede utilizar, por lo que tendrá el doble de tamaño que el que necesitas.

Mantener compilaciones separadas supone más trabajo para el desarrollador. Sin embargo, es posible que el software multiplataforma (escrito para Windows, Linux y MacOS) cuente con sistemas para producir diferentes compilaciones a partir del mismo código, por lo que están preparados para hacerlo.

En definitiva, por qué un dev hace algo es una pregunta que sólo ellos pueden responder.

2voto

La principal pregunta que tengo es ¿por qué estos sitios separan sus aplicaciones en las dos categorías basadas en el tipo de chip si pueden simplemente enviar binarios universales?

Aunque es una forma fácil (y recomendada por Apple), aumenta el tamaño del programa. Porque en realidad son los dos instaladores bajo una sola envoltura.

Otras preguntas que se derivan de esto son más o menos en torno a ¿por qué esta aplicación sólo es compatible con X tipos de chip? - Algo parecido a decir 'Este programa está diseñado para funcionar en cpus de AMD pero no en cpus de Intel'.

La comparación de AMD e Intel e Intel y M1 es entre Red Delicious y Golden Delicious y Apple y Orange. Lo que Apple dice que es Intel es en realidad x86 ( amd64/x86-64 para ser precisos) ISA. AMD e Intel son sólo diferentes fabricantes. Sólo los programas para reclamar el apoyo a uno si es algo que ver con el chipset o tal parte harware de bajo nivel dependiente del proveedor o características desarrolladas por el proveedor (3DNow!, AMD-V, Vt-x). Hay muchos hackintosh en la naturaleza que funcionan con AMD. El M1, por otro lado, está diseñado por Apple internamente, basado en ARM ISA. Por lo tanto, son incompatibles. Hacen las cosas de forma diferente a nivel de código máquina.

0voto

Motti Shneor Puntos 130

La respuesta es muy sencilla y directa. El tamaño de la transferencia de la red, y la huella del disco duro.

Un binario universal contiene AMBOS códigos ejecutables (lenguaje de máquina) para el procesador M1, y para el procesador intel X86-64. Esto significa que el "paquete" general de la aplicación pesará mucho más. La mayoría de los recursos de una aplicación sólo tendrán que aparecer una vez - (definiciones de UI, imágenes, sonidos, iconos, etc.) pero el código ejecutable real - será dos veces más grande.

Para aplicaciones grandes como VLC o Google-Chrome, esto significa decenas o cientos de megabytes adicionales.

También recordamos que estamos en la era de las SSD, y que la mayoría de los Macs (especialmente los MacBooks de gama baja) sólo cuentan con una unidad interna de entre 256 GB y 1 TB. La acumulación de aplicaciones supone una gran diferencia.

Así que, pensando en el tiempo de descarga y en las cuotas de transferencia de la red (que le cuestan al proveedor de software), y cuidando que en el disco de un usuario las aplicaciones no ocupen demasiado

Muchos distribuidores de software ofrecen la posibilidad de elegir entre versiones universales, sólo para Intel y sólo para M1 de las mismas aplicaciones.

Es tan sencillo como eso. Descargue lo que se adapte a usted, a su Mac y a su disco duro...

-2voto

Ben Z. Puntos 11

Desarrolladores podría sólo distribuye binarios universales, pero eso podría complicar la vida a los superusuarios y administradores de sistemas que quieran instalar el software, por ejemplo, en una flota de Macs basados en Intel sin tener que descargar dos binarios (aunque estén empaquetados en uno).

Algunas aplicaciones sólo son compatibles con determinados tipos de chip debido a la forma en que están construidas/compiladas. Cuando alguien escribe el código de una aplicación, utiliza un compilador para traducir el código de alto nivel (legible para el ser humano) en instrucciones binarias de bajo nivel (unos y ceros) que el ordenador pueda entender. Como las diferentes CPUs (por ejemplo, AMD frente a ARM-M1 es un chip ARM) utilizan diferentes secuencias de unos y ceros para las mismas acciones, el mismo código binario no funcionará en todos los sistemas. Para dar un muy simplificado ejemplo (esto es no realmente cómo funciona, y los números binarios que he utilizado son inventados, pero ilustra el concepto), una CPU ARM podría interpretar la instrucción 10011100 como un comando para escribir en la RAM, pero una CPU Intel podría utilizar la instrucción 10001111 para escribir en la RAM. Si usted alimenta una CPU Intel la instrucción para la CPU ARM ( 10011100 ), probablemente realizará una tarea totalmente diferente. Si el procesador no hace lo que el compilador pretendía, la aplicación no funcionará.
Para que las aplicaciones funcionen en varias arquitecturas de chip, es necesario compilar binarios distintos para cada arquitectura (ya que cada una tiene su propio conjunto de instrucciones ). Por eso, en algunos de los sitios que se visitan aparecen las tres opciones.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X