【えみゅれーたー】

エミュレーター とは?

最終更新:
💡 別の実行環境を再現して、ソフトを動かす

別の機器や実行環境の動作を再現し、その環境向けのソフトウェアを動かすための仕組み。CPU命令の変換を行う場合も、仮想化による高速化を使う場合もあり、実機と完全に同じとは限りません。

📌 このページのポイント
エミュレーター:別の実行環境を再現ホストのコンピューター再現する対象環境対象環境向けのソフトアプリ・OSなど再現範囲は製品によるCPU命令を変換する方式がある仮想化で高速化する製品もある実機と同じ性能・全機能を保証しない
PC上で対象環境向けのソフトを動かす包含図です。スマホの形は対象の一例で、CPU・機器の再現範囲と実行方式を製品ごとに確認します。
ひよこ ひよこ
何に使うの?
ペンギン先生 ペンギン先生
たとえばPC上でAndroidアプリを開発・確認するときに使う。異なる機器向けのソフトを動かしたり、旧環境の動作を調べたりする用途もある。再現できる範囲は製品と対象環境によるよ。
ひよこ ひよこ
仮想マシンと、完全に別のもの?
ペンギン先生 ペンギン先生
異なるCPUの命令を変換するエミュレーションと、CPUの仮想化支援で実行する方式は区別できる。ただしエミュレーターと呼ばれる製品が仮想化を使うこともある。Android Emulatorは、ホストと仮想環境の構成が合えば高速化できるんだ。
ひよこ ひよこ
命令を一つずつ翻訳するの?
ペンギン先生 ペンギン先生
必ず一命令ずつというわけではない。QEMUのTCGのようにコードを変換して実行する仕組みがある。CPUだけでなく、メモリや周辺機器など、何をどう再現するかも製品によって異なるよ。
ひよこ ひよこ
スマホの実機がなくても十分?
ペンギン先生 ペンギン先生
画面サイズやOSの違いを試すのに便利だけど、実機の処理性能、電池、センサーなどが同じとは限らない。Androidの公式資料も公開前の実機テストを案内している。動作確認と性能の確認は分けよう。
ひよこ ひよこ
iPhoneの開発でも同じ?
ペンギン先生 ペンギン先生
AppleはXcodeのSimulatorという名称の環境を提供している。Mac上で動き、実機の性能や機能をそのまま再現するものではない。名前だけでAndroidの仕組みと同じと判断せず、それぞれの公式資料と実機で確認しよう。
もっと詳しく知りたい人へ

速ければ、実機に忠実なエミュレーター?

実行速度と再現の正確さは別です。対象の命令、OS、周辺機器など、何を再現できるかを確認します。ホストの性能や高速化機能で速く動いても、実機の全機能や性能を再現した証拠にはなりません。

ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「エミュレーター」って出てきたら「別の実行環境の動作を再現する仕組み」と思えばだいたいOK!
📖 おまけ:英語の意味
「Emulator」 = 模倣するもの
💬 英語の「emulate(見習う・模倣する)」から来ていて、ハードウェアの動作を真似するソフトのことだよ

参考資料

← 用語集にもどる