Binary-code compatibility

Binary-code compatibility (binary compatible or object-code compatible) is a property of a computer system, meaning that it can run the same executable code, typically machine code for a general-purpose computer central processing unit (CPU), that another computer system can run. Source-code compatibility, on the other hand, means that recompilation or interpretation is necessary before the program can be run on the compatible system.

For a compiled program on a general operating system, binary compatibility often implies that not only the CPUs (instruction sets) of the two computers are binary compatible, but also that interfaces and behaviours of the operating system (OS) and application programming interfaces (APIs), and the application binary interfaces (ABIs) corresponding to those APIs, are sufficiently equal, i.e. "compatible".

A term like backward-compatible usually implies object-code compatibility. This means that newer computer hardware and/or software has (practically) every feature of the old, plus additional capabilities or performance. Older executable code will thus run unchanged on the newer product. For a compiled program running directly on a CPU under an OS, a "binary compatible operating system" primarily means application binary interface (ABI) compatibility with another system. However, it also often implies that APIs that the application depends on, directly or indirectly (such as the Windows API, for example), are sufficiently similar. Hardware (besides the CPU, such as for graphics) and peripherals that an application accesses may also be a factor for full compatibility, although many hardware differences are hidden by modern APIs (often partly supplied by the OS itself and partly by specific device drivers).

In other cases, a general porting of the software must be used to make non-binary-compatible programs work.

Binary compatibility is a major benefit when developing computer programs that are to be run on multiple OSes. Several Unix-based OSes, such as FreeBSD or NetBSD, offer binary compatibility with more popular OSes, such as Linux-derived ones, since most binary executables are not commonly distributed for such OSes.

Most OSes provide binary compatibility, in each version of the OS, for most binaries built to run on earlier versions of the OS. For example, many executables compiled for Windows 3.1, Windows 95 or Windows 2000 can also be run on Windows XP or Windows 7, and many applications for DOS ran on much newer versions of Windows up to Windows 10 for as long as the NTVDM was supported.

Binary compatible hardware

For a digital processor implemented in hardware, binary compatibility means that (a large subset of) machine code produced for another processor can be correctly executed and has (much) the same effect as on the other processor. This is quite common among many processor families, although it is rather uncommon among the ubiquitous small embedded systems built around such processors. Full machine code compatibility would here imply exactly the same layout of interrupt service routines, I/O-ports, hardware registers, counter/timers, external interfaces and so on. For a more complex embedded system using more abstraction layers (sometimes on the border to a general computer, such as a mobile phone), this may be different.

Binary compatible operating systems

Binary compatible operating systems are OSes that aim to implement binary compatibility with another OS, or another variant of the same brand. This means that they are ABI-compatible (for application binary interface). As the job of an OS is to run programs, the instruction set architectures running the OSes have to be the same or compatible. Otherwise, programs can be employed within a CPU emulator or a faster dynamic translation mechanism to make them compatible.

For example, the Linux kernel is not compatible with Windows. This does not mean that Linux cannot be binary compatible with Windows applications. Additional software, Wine, is available that does that to some degree. The ReactOS development effort seeks to create an open-source, free software OS that is binary compatible with Microsoft's Windows NT family of OSes using Wine for application compatibility and reimplementing the Windows kernel for additional compatibility such as for drivers whereas Linux would use Linux drivers, not Windows drivers. FreeBSD and other members of the BSD family have binary compatibility with the Linux kernel in usermode by translating Linux system calls into BSD ones. This enables the application and libraries code that run on Linux-based OSes to be run on BSD as well.

Note that a binary compatible OS is different from running an alternative OS through virtualization or emulation, which is done to run software within the alternative OS in the case when the host OS is not compatible. Sometimes virtualization is provided with the host OS (or such software can be obtained), which effectively makes the host OS compatible with programs. For example, Windows XP Mode for Windows 7 allows users to run a 64-bit version of Windows 7 and enable old software to still work in a 32-bit virtual machine running Windows XP; VMware Workstation/VMware Fusion, Parallels Workstation, and Windows Virtual PC allow other OSes to be run on Windows, Linux, and macOS.

For another example, Mac OS X on the PowerPC had the ability to run Mac OS 9 and earlier application software through Classic—but this did not make Mac OS X a binary compatible OS with Mac OS 9. Instead, the Classic environment was actually running Mac OS 9.1 in a virtual machine, running as a normal process inside of Mac OS X.[1][2]

See also

References

  1. ^ "Mac OS X System Architecture". 2002. Archived from the original on August 2, 2002.
  2. ^ Singh, Amit (June 29, 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.
  • KDE Techbase Policies – a compendium of C++ development rules of thumb (with some examples) for not breaking binary compatibility between releases of a library.
  • ABI Analysis Tools – a set of open-source tools for analysis of ABI and backward binary compatibility implementing KDE Techbase Policies

Read other articles:

This article needs additional citations for verification. Please help improve this article by adding citations to reliable sources. Unsourced material may be challenged and removed.Find sources: Jumper computing – news · newspapers · books · scholar · JSTOR (November 2021) (Learn how and when to remove this template message) Wire bridge redirects here. For jumper wires, see Jump wire. For fly-wires, see enameled wire. For patch cables, see patch l...

 

Volta à Dinamarca de 2019 GeneralidadesProva29. Volta à DinamarcaCompetiçãoUCI Europe Tour de 2019 2.HCEtapas5Datas21 – 25 agostoDistância727,2 kmPaís DinamarcaLocal de partidaSilkeborgLocal de destinoFrederiksbergEquipes20Partiram120Chegaram109Velocidade média43,091 km/hResultadosVencedor Niklas Larsen (ColoQuick)Segundo Jonas Vingegaard (Team Jumbo-Visma)Terceiro Rasmus Quaade (Riwal Readynez)Classificação por pontos Jasper De Buyst (Lotto-Soudal)Melhor escalador Fridtjof Røinå...

 

Tuxtla Gutiérrez Gemeente in Mexico   Situering Staat Chiapas Hoofdplaats Tuxtla Gutiérrez Coördinaten 16°44'NB, 93°8'WL Gegevens Oppervlakte 412 km² Inwoners 434.143 (2000) Website Officiële site E-Local Portaal    Mexico Tuxtla Gutiérrez is een gemeente in de Mexicaanse deelstaat Chiapas. De hoofdplaats van Tuxtla Gutiérrez is Tuxtla Gutiérrez, dat meteen ook de hoofdstad van Chiapas is. De gemeente Tuxtla Gutiérrez heeft een oppervlakte van 412,4 km², oftewe...

هذه المقالة يتيمة إذ تصل إليها مقالات أخرى قليلة جدًا. فضلًا، ساعد بإضافة وصلة إليها في مقالات متعلقة بها. (يوليو 2019) روجر هايم (بالفرنسية: Roger Heim)‏    معلومات شخصية اسم الولادة (بالفرنسية: Roger Jean Heim)‏  الميلاد 12 فبراير 1900[1]  الدائرة السادسة عشرة في باريس،  وباري

 

Jean-Maurice MouratJean-Maurice Mourat.BiographieNaissance 23 mars 1948 (75 ans)LuçonNationalité françaiseActivités Peintre, guitariste classique, guitariste, compositeurAutres informationsInstrument Guitaremodifier - modifier le code - modifier Wikidata Jean-Maurice Mourat, né le 23 mars 1946 en Vendée, est un guitariste de musique classique et un ancien directeur de conservatoires de musique. Il écrit pour la guitare mais aussi pour d'autres instruments (flûte, piano...). Il es...

 

Помилка вибіркових доказів, приховування доказів, помилка неповних доказів або черріпикинг є актом вказівки на окремі випадки або дані, які, здається, підтверджують певну позицію, ігноруючи значну частину пов'язаних і подібних випадків або даних, які можуть суперечити ці

Sporting event delegationUkraine at the2023 World Aquatics ChampionshipsFlag of UkraineFINA codeUKRNational federationUkrainian Swimming FederationWebsiteusf.org.uain Fukuoka, JapanCompetitors22 in 5 sportsMedalsRanked 20th Gold 0 Silver 1 Bronze 1 Total 2 World Aquatics Championships appearances199419982001200320052007200920112013201520172019202220232024Other related appearances Soviet Union (1973–1991) Ukraine is set to compete at the 2023 World Aquatics Championships in Fukuoka, Jap...

 

Vahid Taleblou Vahid Talebloo pada tahun 2006.Informasi pribadiNama lengkap Vahid TaleblouTanggal lahir 26 Mei 1982 (umur 41)Tempat lahir Tehran, IranTinggi 1,90 m (6 ft 3 in)Posisi bermain Penjaga gawangKarier junior1997–2003 EsteghlalKarier senior*Tahun Tim Tampil (Gol)2002–2011 Esteghlal 180 (0)2011–2012 Shahin Bushehr 30 (0)Tim nasional‡2003–2004 Iran U-23 5 (0)2006–2009 Iran 13 (0) * Penampilan dan gol di klub senior hanya dihitung dari liga domestik ...

 

  هذه المقالة عن الثورة الفلسطينية التي انطلقت عام 1965. لمعانٍ أخرى، طالع الثورة الفلسطينية (توضيح). الثورة الفلسطينية المعاصرةجزء من القضية الفلسطينيةمقاتلي الثورة الفلسطينية المعاصرةالتاريخ1 يناير 1965 – 13 سبتمبر 1993الموقعفلسطين ، الأردن ، سوريا ، لبنان ، تونس النتيج...

تحوي هذه المقالة أو هذا القسم ترجمة آلية. فضلًا، ساهم في تدقيقها وتحسينها أو إزالتها لأنها تخالف سياسات ويكيبيديا. (نقاش) إكوادوري لبنانيأعلام لبنانيون:عبد الله بوكرم، جميل ماهود، جايمي نبوت، فاليسكا صعبالتعداد الكليالتعداد تقديرات مختلفةمناطق الوجود المميزة غواياكيل و...

 

Distribution of singular values of large rectangular random matrices Plot of the Marchenko-Pastur distribution for various values of lambda In the mathematical theory of random matrices, the Marchenko–Pastur distribution, or Marchenko–Pastur law, describes the asymptotic behavior of singular values of large rectangular random matrices. The theorem is named after Soviet mathematicians Volodymyr Marchenko and Leonid Pastur who proved this result in 1967. If X {\displaystyle X} denotes a m &...

 

  关于与「长常北线高速公路」標題相近或相同的条目,請見「长常高速公路」。 常德—长沙高速公路 长常北线高速 国家高速公路G5517 道路信息启用时间2016年11月3日(始建)历史2020年8月31日(最近通車)主要连接道路起點端湖南省常德市武陵区常德收费站終點端湖南省长沙市望城区观音岩收费站規劃數據總長144.243公里(89.628英里)公路系統中华人民共和国高速公...

Shared fictional universe This article is about the media franchise. For the fictional universe upon which it is based, see Fictional universe of Harry Potter. For the theme park land at Universal Parks, see The Wizarding World of Harry Potter. Wizarding WorldCreated byJ. K. RowlingOriginal workHarry Potter and the Philosopher's Stone (1997)Owner Warner Bros. Entertainment J. K. Rowling (publishing and theatrical stage rights) Years1997–presentPrint publicationsNovel(s)Harry Potte...

 

2011 studio album by The Joy FormidableThe Big RoarStudio album by The Joy FormidableReleased24 January 2011GenreAlternative rockindie rockshoegazingLength49:53LabelAtlanticProducerThe Joy Formidable, Rich Costey, Neak MenterThe Joy Formidable chronology A Balloon Called Moaning(2008) The Big Roar(2011) Roarities(2011) Singles from The Big Roar PopinjayReleased: 5 April 2010 I Don't Want To See You Like ThisReleased: 8 October 2010 A Heavy AbacusReleased: 8 July 2011 The Big Roar is t...

 

2000 film by Kevin Lima Not to be confused with 101 Dalmatians II: Patch's London Adventure. 102 DalmatiansTheatrical release posterDirected byKevin LimaScreenplay by Kristen Buckley Brian Regan Bob Tzudiker Noni White Story by Kristen Buckley Brian Regan Based onThe Hundred and One Dalmatiansby Dodie SmithProduced byEdward S. FeldmanStarring Glenn Close Ioan Gruffudd Alice Evans Tim McInnerny Gérard Depardieu CinematographyAdrian BiddleEdited byGregory PerlerMusic byDavid NewmanProductionco...

1995 compilation album by HelmetBorn AnnoyingCompilation album by HelmetReleasedApril 21, 1995Recorded1989–1993GenrePost-hardcore, noise rock, alternative metalLength36:09LabelAmphetamine ReptileProducervarious, HelmetHelmet chronology Betty(1994) Born Annoying(1995) Aftertaste(1997) Singles from Born Annoying Primitive/Born Annoying (1993)Released: 1993[1] Professional ratingsReview scoresSourceRatingAllMusic[2] Born Annoying is a compilation album of alternative me...

 

2015 studio album by Josh GrobanStagesStudio album by Josh GrobanReleasedApril 28, 2015RecordedNovember 16, 2013–February 5, 2015StudioLos Angeles, Nashville, London.Genre Operatic pop classical classical crossover Musical theatre Length54:03Label143RepriseProducerBernie HermsHumberto GaticaWilliam RossJosh Groban chronology All That Echoes(2013) Stages(2015) Stages Live(2016) Josh Groban studio album chronology All That Echoes(2013) Stages(2015) Bridges(2018) Stages is the seventh ...

 

  لمعانٍ أخرى، طالع إنا (توضيح). هذه المقالة يتيمة إذ تصل إليها مقالات أخرى قليلة جدًا. فضلًا، ساعد بإضافة وصلة إليها في مقالات متعلقة بها. (يناير 2019) إنا (باليابانية: 伊奈町)‏    إنا (اليابان)  خريطة الموقع تاريخ التأسيس 15 يوليو 1943،  و1 نوفمبر 1970  تقسيم إداري الب...

Bóng đá tại Đại hội Thể thao Bán đảo Đông Nam Á 1973Chi tiết giải đấuNước chủ nhàSingaporeThời gian1 - 8 tháng 9Số đội6Địa điểm thi đấu1 (tại 1 thành phố chủ nhà)Vị trí chung cuộcVô địch Miến Điện (lần thứ 5)Á quân Việt Nam Cộng hòaHạng ba MalaysiaHạng tư SingaporeThống kê giải đấuSố trận đấu10Số bàn thắng22 (2,2 ...

 

2021 documentary film directed by Arthur Jones The SixThe Six (2021)Chinese六人 Directed byArthur JonesProduced byLuo TongDistributed by TVF International QC Media (China) Release date April 16, 2021 (2021-04-16) (China) Running time107 minutesLanguageEnglish & Chinese (subtitles) The Six (simplified Chinese: 六人-泰坦尼克上的中国幸存者; traditional Chinese: 六人-鐵達尼上的中國倖存者) is a 2021 documentary film directed by Arthur Jones...

 

Strategi Solo vs Squad di Free Fire: Cara Menang Mudah!