質問: Windowsでビルドした.NET CoreのプログラムをそのままLinuxに持っていったら動きました。 これは.NET Coreに含まれるランタイムがX64のアーキテクチャであれば動くように実装されているから、という理解で正しいでしょうか? (つまりJAVA仮想マシンのような役割を担っている?) 理解が間違っている、もう少し詳しくいうとこうなる、などのご指摘ありましたらよろしくお願いします。 ちなみに今のところサポートしているのは下記のOSのX64だけのようですね。
回答: それは、実装したコードがCIL(共通中間言語)に翻訳されているためですね。 CILはCLR(共通言語ランタイム)上で実行可能で、 特にCoreCLRはWindows他、OS X、Linux等でサポートされています。 詳しくはこれらのキーワードを検索してみてはどうでしょう。