仮想化とは? わかりやすく解説

Weblio 辞書 > 辞書・百科事典 > デジタル大辞泉 > 仮想化の意味・解説 

仮想化

日本語活用形辞書はプログラムで機械的に活用形や説明を生成しているため、不適切な項目が含まれていることもあります。ご了承くださいませ。 お問い合わせ

仮想化

読み方かそうか
別名:バーチャライゼーション
【英】virtualization

仮想化とは、コンピュータ構成において、物理的な環境とは異な疑似的環境提供することである。または、そのための技術のことである。

例えば、サーバーについて仮想化を行えば、1台のサーバーマシン上で複数仮想サーバー運用したり、逆に複数のサーバーマシンを統合して1台のコンピュータ資源あるかのように動作することができる。仮想化によってサーバー統合行えば複数サーバー個別運用する場合比べてコスト削減運用負荷軽減パフォーマンスの向上などが可能となる。

また、複数ディスクを1台のストレージとして扱うストレージ仮想化によって可用性高めることで、仮に1台のディスク障害発生しても、引き続きシステム運用したり、大切なデータ消失防いだりすることができる。

代表的なサーバー用の仮想化ソフトウェアとしては、VMwareXenなどがある。また、パソコン分野では、インテルCPU搭載したMacintoshWindowsを仮想化して稼働することが可能である。


仮想化

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2024/09/26 08:55 UTC 版)

QEMU

仮想化(かそうか、英語: virtualization)とは、コンピュータリソース抽象化することであり、ソフトウェアと物理的なハードウェアの間に抽象化されたレイヤーを提供することで、コンピュータリソースを管理するための様々な技術である。仮想化ソフトウェアを実行しているマシンは、さまざまなオペレーティングシステム(OS)で実行されているアプリケーションを管理できる。サーバー、ストレージデバイス、ネットワークリソースなどのハードウェアプラットフォームをソフトウェアで効果的にエミュレートまたはシミュレートする[1]

主にユーザーに提供するコンピュータそのものをハードウェアの詳細から切り離した状態でソフトウェア化する事を指す。ユーザーは画面切り替えの要領で複数のコンピュータを使い分けられる。管理者にとっては、ユーザーに提供するコンピュータに関わる全ての作業をソフトウェアの設定変更のみで行えるようになり、構成変更に掛かる時間が劇的に短縮されるため、物理的な作業では対応できないような管理を行う事が出来るようになる。ソフトウェア化したコンピュータを仮想マシン、仮想マシンを実際に稼動させるハードウェアを物理マシンと呼ぶ。仮想マシンは別の物理マシン上にデータ移動のみで移す事が出来るため、USBメモリなどにも収められる。

「リソースの物理的特性を、そのリソースと相互作用するシステム/アプリケーション/エンドユーザーから隠蔽する技法。単一の物理リソース(サーバ、OS、アプリケーション、補助記憶装置など)を複数の論理リソースに見せかけたり、複数の物理リソース(複数の補助記憶装置群やサーバ群)を単一の論理リソースに見せかけたりできる」という実用的定義がある[2]。また、単一の物理リソースを何らかの特性の異なる単一の論理リソースに見せかけることもできる。そして、仮想回線により、幅が拡がる。

概要

仮想化という用語の起源は古く、1960年代には既に広く使われていた。ネットワーク全体や個々の機能やコンポーネントなど、コンピューティングの様々な面に適用されてきた。仮想化技術に共通する目的は、カプセル化によって「技術的詳細を隠蔽する」ことである。仮想化は、例えばアクセスを多重化したり、異なる物理的位置にあるリソースを統合したり、制御システムを単純化したりすることで、根底にある実装を隠蔽した外部インタフェースを生成する。近年、新たな仮想化基盤や仮想化技術が登場し、この円熟した概念が再び注目されるようになってきた。

抽象化オブジェクト指向などの用語と同様、「仮想化」という用語は様々な文脈で用いられる。本項では、これを主に以下の2つに分類して解説する。

プラットフォーム仮想化
コンピュータ全体のシミュレーション
リソース仮想化
リソースの集合体や部分や単純化されたもののシミュレーション

もちろん、仮想化はコンピュータ以外でも重要な概念である。制御システムは複雑な機器の仮想化されたインタフェースを実装したものとも言える。例えば、最近の自動車のアクセルは単にエンジンへの燃料流入量を増やすだけではない。フライ・バイ・ワイヤを使った航空機は、物理的実装よりも単純化されたインタフェースを提供する。

ビジネス構造の観点では、仮想化とは、従来型の事務所や店舗を構えたビジネスから、インターネット上などでビジネスを行う方向に転換していくことを指す。

仮想化と対極に位置する概念が透過性である。仮想化されたオブジェクトは物理的には存在しなくともアクセス可能である。逆に透過性のあるオブジェクトは物理的には存在しているが、利用者にとっては不可視である。

デザインパターンとして

多くの仮想化の形態は、利用者と提供者に関わるデザインパターンでパターン化可能である。利用者と提供者は何らかのインタフェースを使って相互作用する。仮想化は、この両者の間に介在し、利用者に仮想化されたインタフェースを提供すると同時に、提供者にも別の形で仮想化されたインタフェースを提供する。一般に、利用者と提供者の関係は一対多、あるいは多対一、または多対多であり、中間層(仮想化層)だけがその多重性を意識している。

理想的には、仮想化されていない環境で直接やり取りしている利用者と提供者は、仮想化された環境でも修正することなくそのまま機能するのが望ましい。例えば、仮想記憶では物理アドレス空間と利用者の間に中間層(仮想記憶管理層)が存在する。その中間層は複数の利用者をサポートするため、複数の仮想アドレス空間を提供する。利用者と提供者(物理メモリ)は一般にその多重性に気づく必要はない。

プラットフォーム仮想化

1960年代に生まれた「仮想化」という用語は、ハードウェアとソフトウェアの組合せによって実現された仮想機械の登場とともに使われるようになった。同時期にリソース仮想化である仮想記憶も登場している。仮想機械という用語は IBM M44/44X という実験機で初めて使われている。それ以前に IBM CP-40 が仮想機械を実装しており、このときは pseudo machines(擬似機械)と呼ばれていた。「仮想化」にしても「仮想機械」にしても、その意味は時代と共に変化していった。

プラットフォーム仮想化とは、ハードウェアプラットフォーム上でホストプログラム(制御プログラム)が擬似的なコンピュータ環境を生成し、ゲストソフトウェアに対して「仮想機械」を提供するものである。ゲストソフトウェアは、それ自体もオペレーティングシステムであるのが一般的で、あたかも独立したハードウェアプラットフォームにインストールされたかのように動作する。単一の物理マシン上で複数の仮想機械をシミュレート可能なことが多く、仮想機械の個数はホストであるハードウェアリソースによって制限される。ゲストOSとホストOSは一般に同一である必要はない。ゲストシステムは特定の周辺機器(ハードディスクドライブネットワークカード)へのアクセスを必要とすることが多く、その場合その機器とゲストのインタフェースを提供する必要がある。

プラットフォーム仮想化の手法はいくつか存在する。以下にそれらを列挙する。

エミュレータまたはシミュレータ
仮想機械によってハードウェア全体を擬似的に再現する。全く異なるアーキテクチャのハードウェア向けのゲストOSを修正することなしに動作させることができる。これは、新たなCPUなどのハードウェア開発が完了する前にソフトウェアを並行して開発する手法として使われてきた。具体例としては、BochsPearPCVirtual PCの PowerPC 版、QEMU、Hercules emulator(IBMのメインフレームのエミュレータ)などがある。エミュレーションのための技法は様々で、有限オートマトンを使った技法から、仮想化プラットフォーム上での動的再コンパイル技法まである。
ネイティブ仮想化
同じアーキテクチャのプラットフォーム上で、ゲストOSを隔離された状態で、かつ無修正で動作させる仮想機械。この手法は IBM CP-40 などが起源とされる。メインフレーム以外の領域では、Parallels WorkstationParallels DesktopVirtualBoxVirtual PCVMware WorkstationVMware ServerQEMUAdeosMac-on-Linux、VirtualLogix VLX Virtualizer for VT などがある。
ハードウェアによる仮想化
ゲストOSにハードウェアリソースを割り当て、隔離された状態で動作できるようにする仮想機械。2005年と2006年、インテルAMDは仮想化をサポートする追加ハードウェアを提供した。例えば、VMware Fusion、VMware Workstation、Parallels DesktopParallels Workstationなどがある。
部分仮想化
特にアドレス空間などのハードウェア環境に限って、複数の実体があるようにシミュレートする仮想機械。いわゆる仮想記憶である。プロセスが同時並行して動作できるようにするが、ゲストOSが動作することはできない。一般に仮想機械とは見なされないが、仮想化の歴史上は重要であり、CTSS や IBM M44/44X などで使われ、MVS へと受け継がれた。その後の Microsoft WindowsLinux も、基本的にこの手法を採用している。
準仮想化
ハードウェアを擬似するというよりも、ゲストOSに修正を加えることで利用可能となる特殊なAPIを提供する仮想機械。このようなハイパーバイザシステムコールを TRANGO や Xen では「ハイパーコール; hypercall」と呼ぶ。Citrix XenServer、VMware ESX Server、Win4Lin 9x、サン・マイクロシステムズ論理ドメイン、VirtualLogix の VLX Virtualizer、TRANGO などがある。
OSレベルの仮想化
物理サーバをOSレベルで仮想化し、複数の仮想サーバを単一の物理サーバ上で動作させる。ゲストOSとホストOSは同一である。あるゲスト環境で動作するアプリケーションから見れば、独立したシステムで動作しているように見える。Linux-VServerVirtuozzoOpenVZLXC (Linux Containers) 、AIX ワークロードパーティション (WPAR)、Solaris Containers、FreeBSD jail などがある。
コンテナ仮想化
コンテナ仮想化とは、アプリケーションの基盤となる動作環境を仮想化する技術である。
アプリケーション仮想化
セキュリティや信頼性、移植性を強化する目的で、アプリケーションを仮想機械でカプセル化された環境で隔離して実行すること。仮想機械はアプリケーションの実行に最低限必要な要素を備えており、OSとアプリケーションの間の層として動作する。例えば、Java仮想マシン、Microsoft Application Virtualization、Altiris、Citrix XenApp などがある。前述の各種仮想化とは異なる手法であり、SmalltalkForthTclPコードマシンなどのインタプリタ指向言語の流れを汲むものである[1]

仮想化技術の進展によって、アプリケーション仮想化とアプリケーションストリーミングといった新たな技法が登場した。

リソース仮想化

上述のプラットフォーム仮想化の概念から、補助記憶装置のボリューム、名前空間、ネットワークリソースといった特定のシステムリソースの仮想化が生まれた。

  • リソースの集約/連結/結合などにより、大きなリソースプールを形成する。
    • 仮想記憶 は個々のアプリケーションに別々の仮想空間を提供し、メモリや補助記憶装置の不連続なリソースから連続的な仮想アドレス空間を利用可能にする。
    • RAID論理ボリュームマネージャは、複数のディスク装置を統合して1つの大きな論理ディスクにする。
    • ストレージエリアネットワークでよく使われる技法として、物理ストレージから論理ストレージに抽象化することをストレージ仮想化と言う。物理ストレージのリソースを1つのプールに集約し、そこから論理ストレージを生成する。物理ストレージ装置はネットワーク上に分散配置可能だが、ユーザーから見れば単一のストレージに見え、集中管理可能である。
    • チャネルボンディングとは、複数の通信路(インタフェース)を1つの高スループットリンクとして使用する技術。
    • Virtual Private Network (VPN) とネットワークアドレス変換 (NAT) は、ネットワークの名前空間を仮想化する技術である。
  • コンピュータ・クラスターグリッド・コンピューティングは、上述の各種技術を使い、複数のコンピュータから仮想化された大きなコンピュータを形成する。
  • パーティショニングは、ディスクやネットワークなどの単一のリソースを分割し、利用しやすい大きさや速度の多数のリソースとして利用可能にする。

以下に、仮想化の応用例を列挙する。

サーバ・コンソリデーション
多数の物理サーバを仮想機械によって1つ(あるいは少数)のサーバに統合する。
ディザスタリカバリ
仮想機械によって、一種の「ホットスタンバイ」環境を構築する。バックアップ・イメージを仮想機械上で起動し、現用系のワークロードをそちらに移行させる。
テストと教育
カーネル開発やOS開発における評価や教育用途に仮想機械を用いる。[3]開発中のシステムがハングアップしても、該当する仮想機械を再起動するだけで済む。
ポータブルアプリケーション
USBメモリなどの可搬記憶媒体上にアプリケーションをインストールし実行可能とする技術。例えばMicrosoft Windows ではレジストリなどの問題があり、USBメモリ上のアプリケーションを直接実行できないという問題があった。これを仮想化によって解決する手法もある。
ポータブルワークスペース
iPodUSBメモリなどのマスストレージ機器上にポータブルなワークスペースを生成する仮想化技術。次のような製品がある。
  • アプリケーションレベル – Thinstal – 可搬記憶媒体にインストールされたアプリケーションをドライバを使わずに実行可能にする。
  • OSレベル – MojoPac、Ceedo、Aargo、U3 – 可搬記憶媒体にアプリケーションをインストールし、別のPC上で利用可能にする。
  • マシンレベル– moka5、LivePC – 可搬記憶媒体上に仮想機械からOSやアプリケーションを含めた完全なソフトウェア環境をインストールし、任意のマシン上で実行可能にする。
ハードウェア仮想化技術
  • x86仮想化 - インテルの Vanderpool と AMD の Pacifica
  • Sun UltraSPARC T1 hypervisor
  • IBM PowerVM (旧称 Advanced POWER virtualization)

脚注・出典

  1. ^ a b Stallings, William,. Foundations of modern networking : SDN, NFV, QoE, IoT, and Cloud. Agboma, Florence,, Jelassi, Sofiene,. Indianapolis, Indiana. ISBN 978-0-13-417547-8. OCLC 927715441. https://www.worldcat.org/oclc/927715441 
  2. ^ Mann, Andi, Virtualization 101, Enterprise Management Associates (EMA), http://www.emausa.com/ema_lead.php?ls=virtwpws0806&bs=virtwp0806 2007年10月29日閲覧。 
  3. ^ Examining VMware Dr. Dobb’s Journal August 2000 By Jason Nieh and Ozgur Can Leonard

関連項目

外部リンク

近年の仮想化の傾向に懐疑的な記事


仮想化

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2022/01/03 09:39 UTC 版)

マイクロプログラム方式」の記事における「仮想化」の解説

マイクロプログラム方式プロセッサハードウェアの実装一般プログラマから見えるものとは違っていて、よりシンプルである。このシンプルなアーキテクチャマイクロアーキテクチャ上でプログラマ見せアーキテクチャをエミュレートするマイクロプログラム実行される。このマイクロアーキテクチャプログラマ見えているアーキテクチャ固定的な関係である必要は全くない。これを利用すれば様々なマイクロアーキテクチャハードウェア上に任意のプログラマから見える)アーキテクチャ実装することができる。 例えば、IBMSystem/36032ビットアーキテクチャ16本の汎用レジスタ持っている。しかしSystem/360実際ハードウェアの実装ではもっと単純なマイクロアーキテクチャ実装されている。最も下位機種である360 Model 308ビットマイクロアーキテクチャハードウェアレジスタ少ない。プログラマ見ているものは全てマイクロプログラムがエミュレートしたものである。より上位機種16ビット32ビットマイクロアーキテクチャになっていて、プログラマから見えアーキテクチャ近くなっているため、より高速動作できる。 この方法により、IBM様々なハードウェア使用してコスト性能勘案しバラエティ富んだSystem/360機種をそろえ、それらを全て命令セット互換にすることができる。これにより機種別に書かなければならないシステムソフトウェアOSなど)を劇的に減らすことが出来る。 全く同じ方法DECVAXコンピュータファミリでも採用された。下位機種では4ビットの2901ビットスライスプロセッサ膨大なマイクロコードとともに使用している。上位機種では大きな浮動小数点数直接扱えるように128ビットデータパスを採用している。 マイクロプログラミングはプロセッサバグの修正容易にする。多くバグマイクロプログラム修正間に合いハードウェアロジック配線修正する必要がない

※この「仮想化」の解説は、「マイクロプログラム方式」の解説の一部です。
「仮想化」を含む「マイクロプログラム方式」の記事については、「マイクロプログラム方式」の概要を参照ください。

ウィキペディア小見出し辞書の「仮想化」の項目はプログラムで機械的に意味や本文を生成しているため、不適切な項目が含まれていることもあります。ご了承くださいませ。 お問い合わせ


英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「仮想化」の関連用語

仮想化のお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



仮想化のページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
デジタル大辞泉デジタル大辞泉
(C)Shogakukan Inc.
株式会社 小学館
IT用語辞典バイナリIT用語辞典バイナリ
Copyright © 2005-2025 Weblio 辞書 IT用語辞典バイナリさくいん。 この記事は、IT用語辞典バイナリの【仮想化】の記事を利用しております。
ウィキペディアウィキペディア
All text is available under the terms of the GNU Free Documentation License.
この記事は、ウィキペディアの仮想化 (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。 Weblio辞書に掲載されているウィキペディアの記事も、全てGNU Free Documentation Licenseの元に提供されております。
ウィキペディアウィキペディア
Text is available under GNU Free Documentation License (GFDL).
Weblio辞書に掲載されている「ウィキペディア小見出し辞書」の記事は、Wikipediaのマイクロプログラム方式 (改訂履歴)、SPARC T3 (改訂履歴)、PDP-8 (改訂履歴)、データセンター (改訂履歴)、AIX (改訂履歴)、Power Systems (改訂履歴)、Unified Extensible Firmware Interface (改訂履歴)、テレワーク (改訂履歴)、UltraSPARC T1 (改訂履歴)、UltraSPARC T2 (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。

©2025 GRAS Group, Inc.RSS