(n.) The binary interface between an operating system (for example, the Solaris OS) and compiled applications (for example, a database) that run on it. The ABI is typically defined by the system calls that the application can make to the operating system and the instruction set architecture of the underlying computer. For a given compiled program or application to run on a given platform (combination of operating system and underlying computer), it must conform to the requirements of the ABI for that platform. Backward compatibility of an operating system ABI is very desirable because it means that applications do not need to be rewritten or recompiled to run on new versions of an operating system or underlying computer.
For example, a compiled application written for the SPARC v9 technology and the Solaris 8 OS ABI will typically run on the Solaris 9 OS on SPARC v9 technology. However, it will not run under the Solaris 8 OS on an AMD Opteron computer. In general, the Solaris 8 OS APIs are identical, and the program could be recompiled to run on the Solaris 8 OS and SPARC v9 processor.