注目の書籍

好評発売中!

知識ゼロから始めるLinuxサーバーの作り方

Linux初心者でも
本格 サーバーが“即席”で 完成!自宅サーバー
クラウド化も!

必聴講座ご紹介

Cloud Days Tokyo 2012
クラウド時代を勝ち抜く企業戦略を考える

エムオーテックス


Cloud Days Tokyo 2012
クラウド時代の企業インフラとユーザー環境の姿

ヴイエムウェア


Cloud Days Osaka 2012
クラウドでIT維新を〜ビジネスを加速させるベストプラクティス

アマゾン データ サービス ジャパン

オープンソース/Linux

Xenで学ぶ仮想化技術

日経Linux

第1回 ●仮想化とは何か

2008/02/05
日本ヒューレット・パッカード 實田 健
出典:日経Linux 2007年5月号  132ページより
(記事は執筆時の情報に基づいており、現在では異なる場合があります)

オープンソースの仮想化ソフトとして最も注目されている「Xen」の仕組みと使い方を説明します。第1回は,そもそもなぜ仮想化が必要なのか,仮想化技術とはどのようなものなのか,Xen以外にどのような仮想化ソフトが利用されているのかについて解説します。

 「仮想化」というキーワードが大きな注目を集めています。増え続けるコンピュータ・リソースをうまく整理し,さまざまなITコストの削減に役立つと期待されているからです。

 本連載では,数ある仮想化ソフトの中でも特に注目されている,オープンソースの仮想化ソフト「Xen」について紹介します。

コンピュータの動く仕組み

 Xenの話に入る前に,なぜ仮想化ソフトが必要なのか,そもそも仮想化ソフトとは何なのか,というところから説明しましょう。

 仮想化ソフトは,複数のOS(オペレーティング・システム)を1台のコンピュータ上で同時に動作させるために使います。仮想化ソフトを理解するために,コンピュータ*1の仕組みを簡単に振り返りましょう。

 コンピュータはCPUやメイン・メモリー,ハード・ディスクといったハードウエアと,それらを動作させるためのソフトウエア(プログラム)で成り立っています(図1)。CPUはまず,OSと呼ばれる基本ソフトウエアを用いて,ハード・ディスクからメイン・メモリー上にアプリケーション・プログラムやデータを展開します。続いてCPUは,これらを読み出して演算処理を行います。そして実行結果となるメモリー上のデータを,必要に応じてハード・ディスクに保存します。

図1●コンピュータの構成要素
図1●コンピュータの構成要素

 ハードウエアを構成する部品は多種多様です。さまざまな主要部品がある上に,同じ分野の部品にも数多くの種類があります。例えば,ハード・ディスクのような一見単機能な機器であっても,種類によって構造が異なります。そのため,ハード・ディスクの種類に応じて処理内容が違ってきます。しかし,アプリケーションが個別に対応するのではあまりにも効率が悪くなります。

OSはハードとアプリの仲介役

 そこでアプリケーションはハードウエアを直接制御せず,制御をOSに委ねます。OSは,アプリケーションからの要求に応じてハードウエアを制御します。OSがアプリケーションとハードウエアの仲介役となるわけです。

 このようにしておけば,あるOS上で動作するアプリケーションは,たとえハードウエアが変わったとしても問題ありません。OSが新しいハードウエアに対応していれば,アプリケーションには影響が及ばないからです。

 ここで複数のOSを1つのハードウエア上で動作させることを考えてみましょう。これまでみてきたようにOSはハードウエアを一元的に制御するソフトウエアです。1台のパソコン上にOSが複数存在すると,ハードウエアを制御するための命令が“衝突”する恐れがあります。

 例えばメモリーやハード・ディスクの同じ領域に異なる2つのデータが同時に書き込まれると,どちらかのデータは失われてしまいます。これを防ぐため,x86アーキテクチャを採るパソコンでは,「1台のパソコン上で1つのOSが動作する」前提で設計されています。

>>リソースを制御する仮想化ソフト
次ページ以降はITpro会員(無料)の方のみお読みいただけます。
会員の方は、 ログインしてご覧ください。
まだ会員でない方は、ぜひ登録(無料)していただき、ITproの豊富なコンテンツをご覧ください。

この記事に対するfacebookコメント

nikkeibpITpro

読みましたか? 〜 未読記事をご紹介