fbpx
Wikipedia

Compatibilidad con código binario

La compatibilidad de código binario (compatible binario o compatible con código objeto) es una propiedad de los sistemas informáticos, que significa que pueden ejecutar el mismo código ejecutable, por lo general código de máquina, para una CPU de computadora de propósito general. Por otro lado, la compatibilidad con el código fuente significa que se necesita recompilación o interpretación antes de que se pueda ejecutar el programa.

Para un programa compilado en un sistema operativo general, por lo general la compatibilidad binaria implica que no solo las CPU (conjunto de instrucciones) de las dos computadoras sean compatibles con los binarios, sino que también las interfaces y comportamientos del sistema operativo y las API, y las ABI correspondientes a estas API sean lo suficientemente iguales, es decir, "compatibles".

El término como compatible con versiones anteriores, también llamado retrocompatibilidad) implica, por lo general, compatibilidad con código de objeto. Esto significa que el hardware y/o software de la computadora más reciente tiene (prácticamente) todas las características de la antigua, más las capacidades o el rendimiento adicionales. El código ejecutable anterior se ejecutará sin cambios en el producto más nuevo. Para un programa compilado que se ejecuta directamente en una CPU bajo un sistema operativo, un "sistema operativo compatible binario" significa principalmente la Interfaz binaria de aplicaciones (ABI, en español IBA) de la aplicación con otro sistema. Sin embargo, también implica muchas veces que las API de las que depende la aplicación, directa o indirectamente (como la API de Windows, por ejemplo), sean lo suficientemente similares. El hardware (además de la CPU, como para los gráficos) y los periféricos a los que accede una aplicación también pueden ser un factor de compatibilidad total, aunque muchas diferencias de hardware están ocultas por las API modernas (a veces suministradas por el propio sistema operativo y en parte por controladores de dispositivos específicos).

En otros casos, se debe utilizar una versión general y portable del software para hacer que funcionen los programas binarios no compatibles.

La compatibilidad binaria es un beneficio importante cuando se desarrollan programas de computadora que se ejecutan en múltiples sistemas operativos. Varios sistemas operativos basados en Unix, como FreeBSD o NetBSD, ofrecen compatibilidad binaria con sistemas operativos más populares, como los derivados de Linux, ya que la mayoría de los ejecutables binarios no se distribuyen comúnmente para tales sistemas operativos.

La mayoría de los sistemas operativos proporcionan compatibilidad binaria, en cada versión del sistema operativo, para la mayoría de los archivos binarios creados para ejecutarse en versiones anteriores del sistema operativo. Por ejemplo, muchos ejecutables compilados para Windows 3.1, Windows 95 o Windows 2000 también pueden ejecutarse en Windows XP o Windows 7, y muchas aplicaciones para DOS funcionan también en versiones modernas de Windows.[cita requerida]

Hardware binario compatible

Para un procesador digital implementado en hardware, la compatibilidad binaria significa que (un gran subconjunto de) código máquina producido para otro procesador puede ejecutarse correctamente y tiene (mucho) el mismo efecto que en el otro procesador. Esto es bastante común entre muchas familias de procesadores, aunque es bastante poco común entre los sistemas embebidos pequeños ubicuos construidos alrededor de tales procesadores. La compatibilidad total del código de máquina implicaría en este contexto exactamente el mismo diseño de rutinas de servicio de interrupción, puertos de E/S, registros de hardware, contadores/temporizadores, interfaces externas, etc. Para un sistema integrado más complejo que use más capas de abstracción (a veces en el borde de una computadora general, como un teléfono móvil), esto puede ser diferente.

Sistemas operativos compatibles binarios

Los sistemas operativos compatibles binarios son sistemas operativos que tienen como objetivo implementar la compatibilidad binaria con otro sistema operativo u otra variante de la misma marca. Esto significa que son compatibles con ABI (para la interfaz binaria de aplicaciones). Como el trabajo de un sistema operativo es ejecutar programas, las arquitecturas de conjuntos de instrucciones que ejecutan los sistemas operativos deben ser iguales o compatibles. De lo contrario, los programas pueden emplearse dentro de un emulador de CPU o un mecanismo dinámico de traducción más rápido para hacerlos compatibles.

Por ejemplo, el núcleo Linux no es compatible con Windows. Esto no significa que Linux no pueda ser compatible binario con aplicaciones de Windows. Está disponible un software adicional, Wine, que hasta cierto punto hace eso. El esfuerzo de desarrollo del sistema operativo ReactOS busca crear un software de sistema operativo de código abierto que sea compatible con los sistemas binarios de la familia de sistemas operativos Windows NT de Microsoft utilizando Wine para la compatibilidad de aplicaciones y reimplementando del kernel de Windows para obtener compatibilidad adicional, para los controladores, al igual que Linux usa los controladores de Linux y no los controladores de Windows. FreeBSD y otros miembros de la familia BSD tienen compatibilidad binaria con el núcleo Linux en modo de usuario al traducir las llamadas del sistema Linux a las de BSD. Esto permite que la aplicación y el código de las bibliotecas que se ejecutan en sistemas operativos basados en Linux se ejecuten también en BSD.

Tener en cuenta que un sistema operativo compatible binario es diferente de ejecutar un sistema operativo alternativo a través de la virtualización o emulación, lo que se hace para ejecutar software dentro del sistema operativo alternativo en el caso de que el sistema operativo host no sea compatible. A veces, la virtualización se proporciona con el SO host (o se puede obtener dicho software), lo que efectivamente hace que el SO host sea compatible con los programas. Por ejemplo, el modo Windows XP para Windows 7 permite a los usuarios ejecutar una versión de 64 bits de Windows 7 y permitir que el software antiguo aún funcione en una máquina virtual de 32 bits que ejecuta Windows XP; VMware Workstation/VMware Fusion, Parallels Workstation y Windows Virtual PC permiten que otros sistemas operativos se ejecuten en Windows, Linux y macOS.

Para dar otro ejemplo, Mac OS X en el PowerPC tenían la capacidad de ejecutar Mac OS 9 y software de aplicación primitivo a través de Classic, pero esto no hizo Mac OS X un sistema operativo compatible binario con Mac OS 9. En su lugar, el entorno Classic se ejecuta realmente Mac OS 9.1 en una máquina virtual, que se ejecuta como un proceso normal dentro de Mac OS X.[1][2]

Véase también

Referencias

  1. . 2002. Archivado desde el original el 2 de agosto de 2002. 
  2. Singh, Amit (29 de junio de 2006). Mac OS X Internals: A Systems Approach. Addison-Wesley. Section 2.11.8: Classic. ISBN 0-321-27854-2. «Classic Startup is a Mach-O application that runs Mac OS 9 within its address space. It provides a hardware abstraction layer between Mac OS 9 and Mac OS X by virtualizing traps, system calls, and interrupts. It runs in a protected memory environment, with multiple Mac OS 9 processes within it layered on top of a single Mac OS X BSD process. » 
  •   Datos: Q13912071

Enlaces externos

  • KDE Techbase Policies – un compendio de las reglas generales de desarrollo de C ++ (con algunos ejemplos) para no romper la compatibilidad binaria entre las versiones de una biblioteca. (en inglés)
  • ABI Analysis Tools – un conjunto de herramientas de código abierto para el análisis de ABI y compatibilidad binaria con versiones anteriores que implementan las políticas de KDE Techbase (en inglés)

compatibilidad, código, binario, este, artículo, sección, tiene, referencias, pero, necesita, más, para, complementar, verificabilidad, este, aviso, puesto, noviembre, 2018, compatibilidad, código, binario, compatible, binario, compatible, código, objeto, prop. Este articulo o seccion tiene referencias pero necesita mas para complementar su verificabilidad Este aviso fue puesto el 15 de noviembre de 2018 La compatibilidad de codigo binario compatible binario o compatible con codigo objeto es una propiedad de los sistemas informaticos que significa que pueden ejecutar el mismo codigo ejecutable por lo general codigo de maquina para una CPU de computadora de proposito general Por otro lado la compatibilidad con el codigo fuente significa que se necesita recompilacion o interpretacion antes de que se pueda ejecutar el programa Para un programa compilado en un sistema operativo general por lo general la compatibilidad binaria implica que no solo las CPU conjunto de instrucciones de las dos computadoras sean compatibles con los binarios sino que tambien las interfaces y comportamientos del sistema operativo y las API y las ABI correspondientes a estas API sean lo suficientemente iguales es decir compatibles El termino como compatible con versiones anteriores tambien llamado retrocompatibilidad implica por lo general compatibilidad con codigo de objeto Esto significa que el hardware y o software de la computadora mas reciente tiene practicamente todas las caracteristicas de la antigua mas las capacidades o el rendimiento adicionales El codigo ejecutable anterior se ejecutara sin cambios en el producto mas nuevo Para un programa compilado que se ejecuta directamente en una CPU bajo un sistema operativo un sistema operativo compatible binario significa principalmente la Interfaz binaria de aplicaciones ABI en espanol IBA de la aplicacion con otro sistema Sin embargo tambien implica muchas veces que las API de las que depende la aplicacion directa o indirectamente como la API de Windows por ejemplo sean lo suficientemente similares El hardware ademas de la CPU como para los graficos y los perifericos a los que accede una aplicacion tambien pueden ser un factor de compatibilidad total aunque muchas diferencias de hardware estan ocultas por las API modernas a veces suministradas por el propio sistema operativo y en parte por controladores de dispositivos especificos En otros casos se debe utilizar una version general y portable del software para hacer que funcionen los programas binarios no compatibles La compatibilidad binaria es un beneficio importante cuando se desarrollan programas de computadora que se ejecutan en multiples sistemas operativos Varios sistemas operativos basados en Unix como FreeBSD o NetBSD ofrecen compatibilidad binaria con sistemas operativos mas populares como los derivados de Linux ya que la mayoria de los ejecutables binarios no se distribuyen comunmente para tales sistemas operativos La mayoria de los sistemas operativos proporcionan compatibilidad binaria en cada version del sistema operativo para la mayoria de los archivos binarios creados para ejecutarse en versiones anteriores del sistema operativo Por ejemplo muchos ejecutables compilados para Windows 3 1 Windows 95 o Windows 2000 tambien pueden ejecutarse en Windows XP o Windows 7 y muchas aplicaciones para DOS funcionan tambien en versiones modernas de Windows cita requerida Indice 1 Hardware binario compatible 2 Sistemas operativos compatibles binarios 3 Vease tambien 4 Referencias 5 Enlaces externosHardware binario compatible EditarPara un procesador digital implementado en hardware la compatibilidad binaria significa que un gran subconjunto de codigo maquina producido para otro procesador puede ejecutarse correctamente y tiene mucho el mismo efecto que en el otro procesador Esto es bastante comun entre muchas familias de procesadores aunque es bastante poco comun entre los sistemas embebidos pequenos ubicuos construidos alrededor de tales procesadores La compatibilidad total del codigo de maquina implicaria en este contexto exactamente el mismo diseno de rutinas de servicio de interrupcion puertos de E S registros de hardware contadores temporizadores interfaces externas etc Para un sistema integrado mas complejo que use mas capas de abstraccion a veces en el borde de una computadora general como un telefono movil esto puede ser diferente Sistemas operativos compatibles binarios EditarLos sistemas operativos compatibles binarios son sistemas operativos que tienen como objetivo implementar la compatibilidad binaria con otro sistema operativo u otra variante de la misma marca Esto significa que son compatibles con ABI para la interfaz binaria de aplicaciones Como el trabajo de un sistema operativo es ejecutar programas las arquitecturas de conjuntos de instrucciones que ejecutan los sistemas operativos deben ser iguales o compatibles De lo contrario los programas pueden emplearse dentro de un emulador de CPU o un mecanismo dinamico de traduccion mas rapido para hacerlos compatibles Por ejemplo el nucleo Linux no es compatible con Windows Esto no significa que Linux no pueda ser compatible binario con aplicaciones de Windows Esta disponible un software adicional Wine que hasta cierto punto hace eso El esfuerzo de desarrollo del sistema operativo ReactOS busca crear un software de sistema operativo de codigo abierto que sea compatible con los sistemas binarios de la familia de sistemas operativos Windows NT de Microsoft utilizando Wine para la compatibilidad de aplicaciones y reimplementando del kernel de Windows para obtener compatibilidad adicional para los controladores al igual que Linux usa los controladores de Linux y no los controladores de Windows FreeBSD y otros miembros de la familia BSD tienen compatibilidad binaria con el nucleo Linux en modo de usuario al traducir las llamadas del sistema Linux a las de BSD Esto permite que la aplicacion y el codigo de las bibliotecas que se ejecutan en sistemas operativos basados en Linux se ejecuten tambien en BSD Tener en cuenta que un sistema operativo compatible binario es diferente de ejecutar un sistema operativo alternativo a traves de la virtualizacion o emulacion lo que se hace para ejecutar software dentro del sistema operativo alternativo en el caso de que el sistema operativo host no sea compatible A veces la virtualizacion se proporciona con el SO host o se puede obtener dicho software lo que efectivamente hace que el SO host sea compatible con los programas Por ejemplo el modo Windows XP para Windows 7 permite a los usuarios ejecutar una version de 64 bits de Windows 7 y permitir que el software antiguo aun funcione en una maquina virtual de 32 bits que ejecuta Windows XP VMware Workstation VMware Fusion Parallels Workstation y Windows Virtual PC permiten que otros sistemas operativos se ejecuten en Windows Linux y macOS Para dar otro ejemplo Mac OS X en el PowerPC tenian la capacidad de ejecutar Mac OS 9 y software de aplicacion primitivo a traves de Classic pero esto no hizo Mac OS X un sistema operativo compatible binario con Mac OS 9 En su lugar el entorno Classic se ejecuta realmente Mac OS 9 1 en una maquina virtual que se ejecuta como un proceso normal dentro de Mac OS X 1 2 Vease tambien EditarRetrocompatibilidad Compatibilidad informatica Referencias Editar Mac OS X System Architecture 2002 Archivado desde el original el 2 de agosto de 2002 Singh Amit 29 de junio de 2006 Mac OS X Internals A Systems Approach Addison Wesley Section 2 11 8 Classic ISBN 0 321 27854 2 Classic Startup is a Mach O application that runs Mac OS 9 within its address space It provides a hardware abstraction layer between Mac OS 9 and Mac OS X by virtualizing traps system calls and interrupts It runs in a protected memory environment with multiple Mac OS 9 processes within it layered on top of a single Mac OS X BSD process Datos Q13912071Enlaces externos EditarKDE Techbase Policies un compendio de las reglas generales de desarrollo de C con algunos ejemplos para no romper la compatibilidad binaria entre las versiones de una biblioteca en ingles ABI Analysis Tools un conjunto de herramientas de codigo abierto para el analisis de ABI y compatibilidad binaria con versiones anteriores que implementan las politicas de KDE Techbase en ingles Esta obra contiene una traduccion derivada de Binary code compatibility de Wikipedia en ingles concretamente de esta version publicada por sus editores bajo la Licencia de documentacion libre de GNU y la Licencia Creative Commons Atribucion CompartirIgual 3 0 Unported Obtenido de https es wikipedia org w index php title Compatibilidad con codigo binario amp oldid 144770192, wikipedia, wiki, leyendo, leer, libro, biblioteca,

español

, española, descargar, gratis, descargar gratis, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, imagen, música, canción, película, libro, juego, juegos