の「Java」という言語を使ってソフトウェアを書くと、ウインド
ウズやマックOSやUNIXなどのどのOS上でも、またPCだ
けではなく、どういう情報機器でも、携帯電話でも――そのソフ
トウェアはちゃんと動作するのです。
それは、それらの機器に「Java」実行環境を用意して組み込む
ことによって実現されるのですが、その実行環境を「Java」仮想
マシンと呼んでいるのです。
ホームページを開くと、アニメや音声などが再生されることが
ありますが、ホームページ自体は基本的には静止画であって、そ
れに動きをつけることはできないのです。どうして動くのかとい
うと、ブラウザには「Java」プログラムを解釈して実行する機能
があり、ホームページが開くと同時に「Java」プログラムを実行
する環境が作られ、そのなかで動作するからです。
そういうわけで、「Java」プログラムは次の2つの種類があり
区別されています。
―――――――――――――――――――――――――――――
OS上で動くもの ・・・・・ 「Java」アプリケーション
ブラウザ上で動く ・・・・・ 「Java」アプレット
―――――――――――――――――――――――――――――
これはソフトウェアの仮想化技術ということができます。なお
これとは別にホームページ上に動きを付けることができる「ジャ
バ・スクリプト/JavaScript」という言語がありますが、これは
「Java」とはまったく違う言語ですので混同しないことです。
現在、仮想化技術といわれているものは、この「Java」仮想マ
シンよりも幅広い概念ですが、この技術は実は古くて新しい技術
なのです。なぜなら、その歴史をたどると、大型汎用機のOSが
現れた時点で既に仮想マシン環境が利用されているからです。
仮想マシン環境は、ハードウェアを仮想化し、その仮想ハード
ウェア――仮想マシン上でOSを動作させる技術です。仮想的な
ハードウェアを複数用意することで、同時に複数のOSを実行さ
せることも可能です。
大型汎用機時代に仮想マシン環境が重視されたのは、過去の資
産の継承なのです。新しい汎用機を導入したときに、2つの汎用
機の間には互換性がなく、古い汎用機用に作られた高価なアプリ
ケーションプログラムは新しい汎用機上では動かないのです。
そこで、この問題を解決するために仮想マシン環境を作り出し
その環境上に古い汎用機のハードウェアをエミュレートすること
によって、アプリケーションプログラムをその仮想マシン環境の
中で使い続けることを可能にしたのです。
なお、「エミュレート」というのは、コンピュータの世界では
「模倣する」という意味であり、そういう働きをするソフトウェ
アを「エミュレーター」と呼んでいます。
昔のことですが、新しい汎用機を導入しても、その新しい汎用
機で、古い汎用機に合わせて作ったアプリケーションもちゃんと
動くという説明をIBМのSEから非常にうまいたとえ話で聞い
たことがあります。それは小田急のロマンスカーの話です。
小田急のロマンスカーは箱根湯本が終点です。それがどうした
といわれそうですが、どうして箱根湯本までロマンスカーが行け
るのか不思議に思ったことはありませんか。
小田原から箱根登山電車が発着しています。箱根登山電車の軌
道は山道ですので、線路が広軌になっているのです。しかし、小
田急線の軌道は広軌ではありません。もちろんロマンスカーも同
様なのです。そうすると、ロマンスカーは小田原と箱根湯本の間
は広軌の線路を通っていることになります。
一体どうなっているのかです。実は小田原から箱根湯本までの
線路は3本になっており、広軌でも狭軌でも通れるのです。広軌
を新しい汎用機とすると、それに線路を一本追加することによっ
て、狭軌用のアプリケーションも動くと説明したのです。実に見
事な説明であり、今でも覚えていますが、本当は仮想マシン環境
によってそれを実現させていたのです。
現在、仮想化技術が求められるようになってきているのは、こ
れまで述べてきたように、汎用機時代の動機である「資産継承」
ではなく、マシン台数の削減が目的なのです。何しろ、クラウド
の進行で、サーバーが増加して、そのハードウェアコストおよび
運用コストが増大傾向にあるのです。そこで、その台数を減らし
コストを下げるためのひとつの手段として、仮想マシン環境の利
用が検討されているのです。
現在、それを可能にするコンピュータのハードウェア環境も整
いつつあります。高性能のPCサーバマシンが手ごろな価格で入
手可能になっていますし、マルチコアプロセッサ、大容量メモリ
が標準的な環境になる今後のサーバでは、仮想マシン環境は非常
に有望な技術として注目されてきているのです。
添付ファイルをご覧いただきたいのです。あるOS――ホスト
OSと呼称――の上に、ハードウェアをエミュレートする環境、
すなわち、仮想マシン環境を載せ、その上で別のOS――ゲスト
OSと呼称――を動作させるのです。エミュレートはホストOS
が持つ機能を利用して実現するのです。
個人ユーザーでもこの方法を使うと、ウインドウズ・ビスタを
ホストOSとし、そこにマックOSとリナックスOSの環境を作
るという使い方ができることになります。これが仮想化技術とい
われるものです。
2007年にアマゾンEC2は本サービスを開始し、2008
年4月にグーグルは「アプ・エンジン」、マイクロソフト社も同
年10月に「アジュール・サービシーズ・プラットフォーム」の
試験サービスを開始しています。
これら3社は、これまでは考えられなかった「個人や零細企業
のためのデーターセンター」という新市場で現在しのぎを削って
いるのです。このように現在クラウドは驀進しています。
――[クラウド・コンピューティング/30]
≪画像および関連情報≫
●「Java」の起源について/「ウェブを支えるジャバ」
―――――――――――――――――――――――――――
「Java」は、現在ではインターネットと密接なかかわりを持
つ言語として位置付けられていますが、開発された当初の本
来の目的は、プラットフォームに依存しないオブジェクト指
向言語の実現にありました。オブジェクト指向を取り入れた
言語であれば、開発コストを大幅に低減することができます
し、プラットフォームに依存しないのであれば開発したプロ
グラムを多くのOS上で動作させることが可能となります。
つまり、この言語を用いて開発したプログラムは、メインフ
レームでも、PCでも、はたまた家電製品においてでも動作
させることが可能となるわけであり、そのことによって得ら
れるメリットは多大なものとなるはずです。
http://intres.jp/jtnet/web-Java82CC8BN8CB9.html
―――――――――――――――――――――――――――
仮想化技術



勉強になりました。
ありがどう〜