Computer compatibility

Under compatibility (also: Compatibility ) in the art either

  • The interchangeability of modules,
  • The compatibility of properties or
  • The equivalence of properties

Understood. Where a (often newer) system, the requirements of another ( and is possibly beyond), then one speaks of backward compatibility (or backward compatibility ). Can meet the (basic) needs a new an old system, this is called upward compatibility (or forward compatibility ).

An electronic component may be compatible with any other of different denomination. The components may then be replaced, since they have the same characteristics and in most cases the same or a similar shape.

Falsely compatibility is often equated with interoperability. This can be a approvingly Taken (from a provider of a "compatible" product ) into Purchase misuse.

Computer hardware and software

Binary compatibility

Denotes a characteristic of binary compatibility of operating systems or processors to "understand" digital data in the same way. Most often meant that a processor understands instructions written for another (see also command set). But this can also mean the byte order (big - or little-endian ) or, for serial data transmission, the bit order.

Two operating systems are binary compatible when each program that was compiled for one operating system can be run without recompiling immediately on the other operating system.

Binary compatibility of operating systems can be achieved firstly at the hardware level ( CPU instruction set compatibility ), by software emulators (eg a virtual machine ) or by prior deformation (JIT compiler). Apple set eg for compatibility between Motorola 68000 and PowerPC computers a software emulator.

Source code compatibility

Source code compatibility means that a source can be compiled without adaptation on different systems. Two operating systems are compatible source text, if the transmission of a program recompiling is necessary, but no changes to the source code.

Backward Compatibility

As backward compatibility, usability or compatibility of newer or upgraded versions of a technical object or standards referred to on the conditions of an earlier version. In other words, the hardware and software can be compatible ( in ) descending.

A newer version of the software should be able to open documents created with the older version again and processed. While this often succeeds well, files a newer software version usually no more readable by the older version, which forces many users to updates.

An example of backward compatibility is UTF- 8, the first 128 points is still the mark of 7-bit ASCII character set, so that based on computing systems can process still ASCII documents correctly and display.

The signal transmission standard HDMI is an evolution of DVI plus backward compatible. Both use the same signal encoding TMDS.

In the hardware area is expected as today that programs for an old computer model to a new model continue to use (at least on one from the same manufacturer ), although conversely many programs available for the new model on the old, or only with restrictions are. In mainframes prevails this principle before since the 1960s, when microcomputers, it has the mid-1980s largely prevailed.

Backward compatibility in the IT industry is often associated with disadvantages; Examples are

  • For decades in existing x86 processors real mode, which is no longer needed in today's processors
  • The MS- DOS -based Windows versions 95, 98 and ME, which suffered from problems because they had to continue to use large parts of MS- DOS and Windows 3.x compatibility reasons.

See also: product policy (marketing)

Upward compatibility

As upward compatibility the usability or compatibility of older or outdated versions of a technical object or standards will be referred to the conditions of use of a newer version.

In the case of a word processing application that can include, for example, that an old version of the application can view and edit documents that were created by a newer version. Parts of the document, for the old version, there is still no function can force so not be processed. Upward compatibility, however, means that these parts do not affect the proper functioning of the old version.

In programming, the guarantee of upward compatibility is more difficult than that of backward compatibility, because when you create a version of the application, not all formats and structures later versions are known. Nevertheless, the current version must with these formats and structures can work. For backward compatibility, this problem does not arise, because you know the formats and structures of old versions already when creating the new version.

An old version of the program, the data is received a new version as input, so it can only process the data, for which it also has instructions. The rest must be ignored and the program must try not to crash. Web ignore, for example, new HTML tags, they do not know.

Many programs today are upward compatible and can even compensate for large differences between versions.

Incompatibility with computer hardware and software

Newer versions of a program are backward compatible with older versions usually. However, these older versions are often not upward compatible. If functions are not only expanding, but is changed, a new version in some areas (down - ) may be incompatible with the old version. If this occurs for dynamic libraries, so easily enters the state, the programmer jokingly referred to as "DLL Hell" denote: Since different programs try to use each slightly incongruous components for them, nothing works properly.

A concrete example: The Athlon 64 processor from AMD is backward compatible with the 8086 processor from Intel, which appeared in 1978. The Athlon 64 can therefore execute programs of the old 8086. Conversely, this is not true. The compatibility is limited here to the instruction set, the execution speed has increased dramatically. The new processor itself can be due to different housing types, signals, power supplies, etc. are not to be replaced with the old. The two processors are therefore incompatible with regard to these characteristics.

Bug compatibility

Bug compatibility (English: bug compatibility ) is a technical term from the information technology, which means that a new and improved software or hardware or an alternative product from a competitor has the same error, and is therefore compatible.

The reason for the error is generally not compatible, it would be difficult to correct the error. Reason is that existing programs rely on the errors and may not work anymore, if you behöbe. Correcting the error that is causing more problems than documenting and maintaining the faulty behavior. A known bug is thus considered fast becoming a part of the interface and is the same of users. A change in the interface, even if it is a content error correction can lead to incorrect behavior in dependent systems.

Example: in the Atari TOS operating system the device numbers for the keyboard were in the first version in the Bcostat function ( here: 3, or 4 ) and the MIDI interface (in this case 4, otherwise: 3) reversed. Since the programmer had adapted to this exchange, and there was functional software used the device numbers are reversed, the reversal of the documentation, the device numbers in this position has been adjusted in later versions, and maintained.

A common strategy is to correct the errors in the new product, but to simulate the previous behavior over at least an option. It can also be operated with the new version, the system until it is self- adjusted to the changes. We also speak of a bug compatibility mode.

Advertising

Occasionally, were in advertising products to those of established competitor referred to as "compatible" to convey that they are interchangeable, despite their lower price with those. The most successful was this approach in IBM PC compatible computers. This " product feature " but it can also be perceived as a negative " interchangeable ".

In computers, we now speak rather of "Intel - compatible ", meaning x86 and x64 -based systems are meant, inter alia, because IBM no " PC " offers more, but POWER processors and products based on it. But also through promotional activities by Intel (Intel paid computer manufacturers up to 75 % of their advertising spending when they hired the " Intel Inside " logo ).

26140
de