ABI
読み:エイビーアイ
外語:ABI: Application Binary Interface
アプリケーションプログラムの互換性を、バイナリレベルで保証する仕様およびインターフェイスのこと。
概要
マイクロプロセッサーなどの体系を同じくする環境同士で、アプリケーションソフトウェアを変更することなく動作させられる機能を言う。
同じ名前のオペレーティングシステムであってすら、最新のABIでは古いABIとの互換性がないこともある。
特徴
範疇
次のようなものがABIの範疇に含まれる。
同じマイクロプロセッサーを使用していても、異なるオペレーティングシステム間ではシステムコール仕様や実行ファイルフォーマットが顕著に異なる。つまりABIは共通ではないため、同じ実行ファイルを利用することができない。
UNIXの現状
UNIX系OSは様々なものがあり、それぞれで仕様が異なることから、ABIは共通ではない。UNIX系と言っても、ソースリストの水準では互換性があるが、バイナリの水準では殆ど互換性がないのが実状である。
代表的なPC UNIXであるFreeBSDとLinuxで互いに互換性がないのはもちろんのことだが、Linuxであっても、Linuxディストリビューションごとに互換性がなく、同じ実行ファイルが利用できる保証はない。
UNIXにしろLinuxにしろ、こういったABIの共通化は幾度となく試みられてきたが、一度として成功した例はない。
再検索