<P> An API can specify the interface between an application and the operating system . POSIX, for example, specifies a set of common APIs that aim to enable an application written for a POSIX conformant operating system to be compiled for another POSIX conformant operating system . Linux and Berkeley Software Distribution are examples of operating systems that implement the POSIX APIs . </P> <P> Microsoft has shown a strong commitment to a backward - compatible API, particularly within their Windows API (Win32) library, so older applications may run on newer versions of Windows using an executable - specific setting called "Compatibility Mode". </P> <P> An API differs from an application binary interface (ABI) in that an API is source code based while an ABI is binary based . For instance, POSIX provides APIs, while the Linux Standard Base provides an ABI . </P> <P> Remote APIs allow developers to manipulate remote resources through protocols, specific standards for communication that allow different technologies to work together, regardless of language or platform . For example, the Java Database Connectivity API allows developers to query many different types of databases with the same set of functions, while the Java remote method invocation API uses the Java Remote Method Protocol to allow invocation of functions that operate remotely, but appear local to the developer . Therefore, remote APIs are useful in maintaining the object abstraction in object - oriented programming; a method call, executed locally on a proxy object, invokes the corresponding method on the remote object, using the remoting protocol, and acquires the result to be used locally as return value . A modification on the proxy object will also result in a corresponding modification on the remote object . </P>

Which of the following is a function of an application program