APIとABI
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2021/11/05 04:59 UTC 版)
「オペレーティングシステム」の記事における「APIとABI」の解説
詳細は「アプリケーションプログラミングインタフェース」および「アプリケーションバイナリインタフェース」を参照 OSはアプリケーションソフトウェアを動作させるのが第一の目的である。このためのインタフェースがアプリケーションプログラミングインタフェース (API) とアプリケーションバイナリインタフェース (ABI) である。カーネルはシステムコールによってアプリケーションにサービスを提供する。さらに基本ライブラリも含めた形でアプリケーションに対してAPI/ABIを提供する。アプリケーションによってはOS上のミドルウェアやアプリケーションフレームワークなどをAPIとして使用する場合もある。 APIはプログラミングのためのインタフェースであり、プログラムを作成する際の規則を構成する。例えば、C言語での関数やFORTRAN/Pascalなどのライブラリ呼び出しの仕様といったものがそれにあたる。 一方、ABIはコンパイルされたソフトウェアがOSの機能を呼び出す際のインタフェースであり、プロセスが動作する際の規則を構成する。例えば、Unix系のOSはAPIがほとんど共通だが、ABIはOSによって異なる。したがって、同じCPUを使ったシステムであっても、ABIが異なれば実行ファイルが異なる。ABIには、呼出規約、システムコールの方法などが含まれる。 なお、OSの垣根を越えたABIもいくつか存在する。例えば、OCMP (Open Computing Environment for MIPS Platform) というMIPS系チップを使用したUNIX機によるバイナリ共通インタフェースが日本電気やソニー、住友電気工業、日本タンデムコンピューターズなどにより定義され、その定義に沿ったUNIX-OSが複数販売された。
※この「APIとABI」の解説は、「オペレーティングシステム」の解説の一部です。
「APIとABI」を含む「オペレーティングシステム」の記事については、「オペレーティングシステム」の概要を参照ください。
- APIとABIのページへのリンク