QEMU

コンピュータの仮想化を行うソフトウェア

QEMU(キューエミュ、キューエム[1][2][3][4][5][6])は、Fabrice Bellardが中心となって開発しているオープンソースTYPEⅡハイパーバイザパーソナルコンピュータ仮想マシン)である。

QEMU
開発元 Fabrice Bellard
最新版
9.0.0 / 2024年4月23日 (7か月前) (2024-04-23)
リポジトリ ウィキデータを編集
対応OS LinuxBSDMicrosoft WindowsmacOSなど
プラットフォーム クロスプラットフォーム
サポート状況 開発中
種別 TYPEⅡハイパーバイザ
ライセンス GNU GPL version 2
公式サイト qemu.org
テンプレートを表示

概要

編集

QEMUは機械全体をエミュレーションするシステムエミュレーションと呼ばれる環境と、Linuxユーザーランドをエミュレーションするユーザーエミュレーションと呼ばれる環境がある。

ユーザーエミュレーション環境は、非特権モードのエミュレーションおよび、Linuxのシステムコール命令をネイティブのシステムコールに変換する。この環境は、組み込み機器のクロスコンパイルや非x86環境でWineを動かすために使用可能である。

システムエミュレーション環境は主にWindowsLinuxなどのオペレーティングシステム (OS) を動かすことを目的に利用されており、OSの動作確認用としてQEMUを同梱する事がある。携帯電話用プラットフォームAndroidSDKにも利用されている。同様のプロジェクトにはBochsPearPCなどがあるがQEMUの特徴として、中間コードを介して動的コンパイルを行うことにより、x86、PowerPCSPARCARMなど多くのホストCPUに対して多くのターゲットCPUを高速にエミュレーション可能である事が挙げられる。x86システムエミュレーション環境に於いてはBIOSの動作環境はBochsと互換である。

かつては、アクセラレータとして、kqemuが用意されていた。バージョン 0.11 で廃止になり、これは KVM になった。kqemu は、QEMUをより速く動作させるモジュールとして提供されていた。kqemuは、x86又はx6464ビットCPU)をサポートしており、カーネルモード仮想化モニタとして動作する。これを使用するときには、同様のソフトウエアであるVMware同様、ホストCPUの実行できないコードをターゲットに於いて実行することは出来ない。Linux 2.4 及び 2.6上にて提供されている。FreeBSD並びにWindows NT/2000/2003/XPにおいては、実験的な提供がなされている。この部分はHALを使って書かれたバイナリオブジェクトとサポートされているプラットフォーム用のHALのソースとして提供されており、商業的な配布には制限がある。

QEMUはCPUだけではなく、各種の周辺ハードウェアもエミュレートしている。以下にQEMUが実装しているPCPC/AT互換機)ハードウェアを示す。

  • Intel 440FX host PCI bridge and PIIX3 PCI to ISA bridge
  • Intel Q35 and ICH9 Chipset
  • Cirrus CLGD 5446 PCI VGA card or dummy VGA card with Bochs VESA extensions (hardware level, including all non standard modes).
  • Red Hat QXL VGA or VirtIO GPU
  • Simulated VMware SVGA II(Include Bug)
  • PS/2のマウスとキーボード
  • 2 PCI IDE interfaces with hard disk and CD-ROM support
  • SATA Controller
  • SCSI Controller
  • SAS Controller
  • Floppy disk
  • ISA network adapters
  • Intel E1000 Network Adapter
  • Realtek 8139 Network Adapter
  • VirtIO Block Storage/SCSI/Network
  • シリアルポート
  • Creative Sound Blaster 16 サウンドカード
  • ENSONIQ AudioPCI ES1370 sound card
  • Adlib(OPL2) - Yamaha YM3812 compatible chip
  • Intel 82801AA AC97互換サウンドカード
  • HD Audioサウンドカード
  • CS4231A compatible sound card
  • PCI UHCI USB controller and a virtual USB hub.

また、QEMUは-sオプションを指定すればtunデバイスを介してホスト上のGDBと接続、仮想マシンの動作状況を監視できるなど、インサーキット・エミュレータ (ICE) のような使い方も可能である。そのほかに、QEMUは、VNCSPICEサーバの機能が組み込まれており、この機能により、リモートマシンの制御が可能である。

対応する仮想化支援機能が少なく、VMwareVirtualBoxよりも低速とされる。

macOS向けには、UTM Virtual MachinesというGPU仮想化支援機能までも備えた高速な実装がある[7]

脚注

編集
  1. ^ QEMU - OSDN OSS Directory Wiki”. OSDN. 2023年5月8日閲覧。
  2. ^ QEMU/KVM SEECK.JP サポート”. seeck.jp. 2023年5月8日閲覧。
  3. ^ QEMU OSS用語集”. Weblio. 2023年5月8日閲覧。
  4. ^ QEMU【キューエミュ】 Mac OS X Glossary”. Mac OS X Glossary. 2023年5月8日閲覧。
  5. ^ QEMU脆弱性を利用したVMエスケープ攻撃の検証のまとめ”. ITmedia. 2023年5月8日閲覧。
  6. ^ VENOM QEMUの脆弱性(CVE-2015-3456)について”. Trend Micro. 2023年5月8日閲覧。
  7. ^ osy. “UTM” (英語). UTM. 2022年8月19日閲覧。

関連項目

編集

外部リンク

編集