|
互換レイヤー(ごかんレイヤー、)とはエミュレーション実行を実現する手法の一つである。互換レイヤーを使えば性能をほとんど落とすことなく他のオペレーティングシステム (OS) のバイナリなどを実行できるが、互換性のあるアーキテクチャのプログラムしか実行できないという欠点がある。 == ソフトウェアにおける実装 == 互換レイヤーを使うと他の OS などのプログラムバイナリをエミュレーション実行することが出来る。互換レイヤーはシステムコールをエミュレーション実行されているシステムのものから動かしているシステムのものに変換することでエミュレーションを行う。エミュレーション実行されているプログラムのためにライブラリを用意すれば、エミュレーション実行できることが多々ある。 互換レイヤーの例: * *BSDにおけるLinux互換レイヤー。Linux ディストリビューションのライブラリーを用いて Linux バイナリを動かす〔 〕。 * Wine。WindowsのバイナリをUnix系システムで動作させる。 * Windows XPの互換モード。Windows 98やMS-DOSのアプリケーションを動かせる〔 〕。 * Mac OS Xのクラシック環境。Mac OS 9のプログラムを動かせる。 互換レイヤーを使うとハードウェアを完全にエミュレーションするのに比べ、簡単で高速に動作させることが可能となる。元の環境よりも速くなるというプログラムすら存在する。たとえば、LinuxのアプリケーションにはFreeBSDのLinuxエミュレーションを使って実行するとRed Hat Linuxで実行した場合よりも速くなるものがあるという意見がある。 逆に、似たようなシステムであっても、互換レイヤーの実装が複雑で不具合が多いものになることもある。その好例はNetBSDにおけるIRIXバイナリ互換レイヤーである〔 〕。 互換レイヤーを実装するにはエミュレーション実行するシステムのCPUがエミュレーション実行されるシステムに上位互換である必要がある。つまり、WindowsはPowerPCと上位互換でないx86で動作するので、PowerPCで動くプログラムの互換レイヤーを作ることは出来ない。この場合はハードウェアまで含めた完全なエミュレーションが必要となる。 抄文引用元・出典: フリー百科事典『 ウィキペディア(Wikipedia)』 ■ウィキペディアで「互換レイヤー」の詳細全文を読む スポンサード リンク
|