Compatibility of Hardware and Software means the components those can be replaced because they have the same properties and mostly the same or similar design. But, replaced with what? An electronic component may be compatible to another with a different label. The components can then be replaced because they have the same properties and mostly the same or similar design. This often erroneously used synonymously with interoperability. Under compatibility the technology either of :
- Interchangeability of components
- Compatibility of properties
- Equivalence of properties
If this compatibility satisfies the requirements of another a (often newer) system, when it is of older, then one speaks of backward compatibility. If it can meet the (basic) needs a new an old system, it is called forward compatibility.
Compatibility of Hardware and Software
Binary compatibility means a characteristic of operating systems or processors, when digital data is “understood” in the same way. Most often it is about processor instructions, which are understood by another from the system that were written for. Two operating systems are binary compatible when each program of the operating system for which a compiled was, runs immediately without recompiling on the other operating system. Binary compatibility of operating systems depends on the hardware level ( CPU – instruction set compatibility), through software – Emulators (e.g. a virtual machine ) or by prior deformation ( JIT ).
Source code compatibility means that a source without adaptation to different systems can be compiled. Two operating systems might have compatible source code, if the transmission of a program recompiling is necessary, but no need of change in source code.
Backward Compatibility is the usability or compatibility of newer or extended versions of a technical object or standards referred to on the conditions of an earlier version. In other words, hardware and software can be compatible downhill. 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 are usually a newer software version no longer readable by the older version, causing many users to updates forces.
An example of backward compatibility is the signal transmission standard HDMI which is a further development of DVI plus is backward compatible. Both use the same signal encoding named TMDS . In the hardware area is expected as today, that programs for an old computer model to a new model are to continue to support (at least on one from the same manufacturer), although conversely many programs available for the new model on the old works with restrictions. In mainframes there was this principle since the 1960s, when microcomputers came in the mid-1980s, it has largely prevailed. Backward compatibility in the IT industry is often associated with disadvantages and examples are for decades of x86 – Processors with existing real (time) mode, which is no longer needed in today’s processors, the MS-DOS -based Windows versions like 95, 98 and ME, suffered from problems because they large parts of MS-DOS and for the compatibility Windows 3.x had to use some features.
Forward Compatibility is the availability or compatibility of older or obsolete versions of a technical object or standards referred to on the conditions of a newer version. In the case of a word processing application that can include, for example, that of old version of the application that can view and edit documents that were created by a newer version. Parts of the document, for in the old version still exists no function, can not be processed. Forward Compatibility means, however, that these parts do not affect the proper functioning of the old version.
In programming ensuring Forward Compatibility is more difficult than that of backward compatibility, because when you create a version of the application, not all formats and structures of the later versions are known. Nevertheless, the current version must work with these formats and structures. For backward compatibility, this problem does not arise, since you already know the formats and structures of old versions already when creating the new version. Many programs today are Forward Compatible, sometimes with an update and can also compensate for large differences between versions.
Incompatibility with computer hardware and software
Newer versions of a program is backward compatible with older versions – usually. However, these older versions are often not forward compatible. Functions are not only expanding, but are changed with a new version in some areas may be incompatible with the old version. A concrete example: the AMD Athlon 64 processor company is backward compatible to 8086 Processors from Intel, which appeared in 1978. The Athlon 64 can therefore can execute programs of the old 8086th version, vice-versa is not true. The compatibility is limited here to the instruction set, the execution speed. The new processor itself may be because of different housing types, signals, power supplies, etc. which are not exchanged with the old. The two processors are therefore incompatible with regard to these characteristics.