PC...etc.についてみてみようと思います。仮想化比較OSの仮想化方法の1つとしてCPUを丸ごとエミュレートするタイプとホストOSのCPUを使って同一CPU(のOS実行環境)をエミュレートする方法があります。CPU丸ごとエミュレートBochsQEMU前者には、x86/IA-32のPC/AT互換機をエミュレートするBochsや各種マシンをエミュレートするQEMUがあり、CPU(実質マシン自体)を丸ごとエミュレートする為、Bochsでは、CPUの異なるマシン上であってもx86/IA-32のPC/AT互換機環境を、QEMUは複数のサポート済みCPU搭載マシン環境を異なるCPU搭載PCの仮想マシン上で実行することもできますが、何れにしてもエミュレートする際のオーバーヘッドが大きくなりがちという側面もある為、このタイプの仮想化ソフトウェアをリリースする企業・団体は今のところ多くありませんが、KVMやXenではQEMUをその一機能として利用しています。PlayerやVirtualBoxでは、ゲストOSの必要メモリは、256MBまでは快適、512MBではゲストだけ使う分には、まずまずですが、ぎりぎりのライン、一方、QEMUの場合、64MB以下程度ならサクサク動き、128MBでもまずまず快適ですが、256MBになると起動・起動後の挙動共に明らかに遅くなることからホスト環境としてデュアルコア、クアッドコアなどマルチコアCPUで且つRAMも2GB、更には4GBや8GB以上あれば、異なるCPU環境でも動作させられるBochsやQEMUという選択肢以外、検討する必要さえないかもしれません。Desktop)...etc.独創的・中間的タイプKVM...etc.仮想化の便宜上の分類方法の1つとしてマシン自体のOSも、仮想化したいOSも同じ様に管理するハイパーバイザ型とハイパーバイザをホストOS上のアプリケーションとして機能させるホストOS型があり、仮想化ソフトウェアによっては、これら2つに分類しきれない中間的、または微妙な存在のものもあります。何れにしてもハイパーバイザが介在することから広義ではホストOS型もハイパーバイザ型として定義(、その中で両者に分類)されているようです。ハイパーバイザとは、実質、スーパーバイザと言われるOS・カーネルよりも上位の管理者となる仕組み・機能であり、実機のマシンのOSと仮想化したいOSは、何れもハイパーバイザコールによって動作することから併存することになります。仮想化には、ゲストOSに手を加えることなく実行可能な『完全仮想化』とゲストOSに若干手を加えることによって実行可能とする『準仮想化』があります。ゲストをも実行可能な『完全仮想化』が実現したといわれています。仮想化ソフトウェアの種類サーバ仮想化クライアント(デスクトップ)仮想化IT/ICTにおける仮想化については広範囲に及びますが、C/Sシステムとしてみた場合の仮想化においてはサーバ仮想化とクライアント仮想化(デスクトップ仮想化)を挙げることができます。サーバ仮想化サーバ仮想化においては機能ごとに分散していた物理サーバを仮想化した上でより少数のサーバに集約しようというものです。他方、クライアント仮想化とは、シンクライアントやデスクトップPCのOS上に仮想マシンを配備することでOSごと仮想化したり、仮想マシン自体をサーバに持たせてネットワークを通じてデスクトップ画面を転送、あたかもクライアント端末でOSが動作しているように見せるプレゼンテーション仮想化といったものを指します。OSとは別にアプリケーション部分を仮想化、サーバからストリーミングまたは、サーバ上のアプリケーションをクライアントで実行することでOSやアプリケーションといったリソースをサーバ側で集中管理できるようにするのがアプリケーション仮想化です。クライアント仮想化の中でもプレゼンテーション仮想化、アプリケーション仮想化といった仕組みは、クライアントごとにインストールやアップデート、アンインストールなどを行う必要がなく管理がしやすくなります。ネットワーク仮想化ストレージ仮想化こうしたクライアントにおける仮想化は、時にネットワークブートやネットワーク仮想化、クライアントPCのストレージ(保存用ディスク)の仮想化にもつながります。ちなみにリモートデスクトップは、サーバやサーバに限らず、一方の端末から他方の端末のデスクトップを遠隔操作することを可能とする技術であり、仮想化とは若干異なります。仮想化ソリューションの概要やサーバ仮想化(製品)等については別ページ(仮想化ソフトウェア動向)に記すとして、ここではC/Sシステムを忘れてデスクトップ環境に絞って仮想マシン作成・実行ソフトウェアの特徴を挙げてみると以下のようなことが言えるでしょう。Fusion)ホストOSを何にするかによっても選択肢は変わってきます。Playerでも、また、98/98SE/PEを除けばVirtualBoxもほとんど遜色なしといったところです。8(x64)上でのみサポートされるHyper-Vと実質Windows専用という位置づけとなっています。Azureでは、Windowsはもとより、Linuxをサーバとして利用することもでき、Linuxも大々的にサポートしているようです。Xでも無償で利用可能です。デスクトップ仮想マシンのインストールと挙動比較ここでいくつかの観点から仮想マシン作成・実行ソフトウェアを分類してみます。X、Linux、BSD、PC-UNIX、DOS、OS/2など多彩なゲストOSに対応する汎用的な仮想マシン作成・実行ソフトウェアでオーバーヘッドが比較的小さいものとなるとこのようになります。KVM/QEMUVirtualBoxこの内、64ビット移行期ではあるものの、まだまだ現役で存在するx86(32ビット)マシンを現時点の最新バージョンでホストOSとしてサポートしているとなるとこのようになります。Interface環境virsh、GUIフロントエンドvirt-managerを利用することも可能です。VirtualBox更にこの内、ホスト及びゲストOS共に汎用的な仮想マシン作成・実行ソフトウェアとなるとこのようになります。オープンソースの仮想マシン作成・実行ソフトウェアの中でもVirtualBoxは、C++(Java/Python)プログラミングAPIによる拡張が可能だったり、Intel-VT/AMD-V対応だったり、PXEブート対応だったり、3D対応だったり、OVF対応だったり、そうでなくとも複数の他仮想マシンディスクフォーマットとの互換性が高かったり(、サーバ仮想化技術も別途あったり)とより機能が充実していると言えそうです。R2/8...と今尚、並行して32bitであるx86版、64bitであるx64版いずれも販売・提供されているのが実状です。8(x86やx64)に移行してもMicrosoftがサポートする専用の仮想化ソフトウェアはないという状況になっているようです。仮想マシン環境自動化ツールハイパーバイザー型、ホストOS型仮想化ソフトウェアでは、仮想マシンを作成後、希望する特定のOSをインストール/起動するというスタイルですが、他方で開発環境を構築することに主眼を置き、物理マシンや仮想マシン、使用するOS、周辺環境を予め構成ファイルにまとめて記述しておくことでOSやアプリケーションの起動までを自動化し、必要なら簡単に同じ環境を複数構成することもでき、クラウド環境との連携も意識した環境構築自動化ツール/フレームワークとしてVagrant、Chef、Puppet、Ansible、Saltといったものもあります。備考また、仮想化ソフトウェアと呼ぶべきものか微妙な気もしますが、ハイパーバイザー型、ホストOS型と対比し、コンテナ型仮想化ソフトウェアとも呼ばれることもあるLXCやDockerもあります。このLXCやDockerは、Linuxカーネルを前提にしているため、Linuxでのみ利用可能な技術ですが、稼働マシンのOS上とは隔離してOS環境やアプリケーションの実行環境を構築できることからFreeBSDのjail(やLinuxのchroot)と対比されることもあります。|webzoit.net2004-someday。