0

些細な質問かもしれませんが、両方の OS が同じマシンで実行されている場合でも、Linux のような別の異なる OS では Windows バイナリが実行されないことを弟に説明するのに苦労しています。バイナリ (オペコード) が同じ基本アーキテクチャ (Intel 32 ビットなど) で実行するために同じでなければならない場合、Windows と Linux (または Ubuntu と RadHat Linux) のバイナリの違いは何ですか? プロセッサーによる実行前に、命令レベルでバイナリーのランタイム変更はありますか? 素人/彼が理解できる簡単な言葉で説明するにはどうすればよいですか.

4

1 に答える 1

4

異なるオペレーティング システムには異なるABIがあり、異なるローダーを使用する必要があります。他の OS のローダーが (たとえば、Wineを介して) 利用可能な場合、実行可能ファイルをロードすることができます。その時点でAPIが重要になります。

于 2013-05-21T03:00:44.933 に答える