5月22日(火)
記録:棚原
仮想マシンプロジェクト 計画
プロジェクトリーダ:M1 棚原
プロジェクトメンバ:B4 坂田,曽我,鳥羽,野村
報告会orゼミ:火曜4時限目
ビデオ
・「仮想化」とは何か?そのメリットは?
http://japan.zdnet.com/video/whiteboard/story/0,2000083665,20343881,00.htm
・エンタープライズ規模での仮想化が利益を生む
http://japan.zdnet.com/video/whiteboard/story/0,2000083665,20349084,00.htm
仮想化技術の種類
カーネル・エミュレータ
→アプリケーションが発行した特定のOS(のカーネル)向けのシステムコールを受け取り,別のOS(ホストOS)のシステムコールに置き換えるなどするソフトウエアである。別のOSのカーネルをエミュレートしていれば,そのOS向けのアプリケーションを動かすことができる。また同じカーネルの場合でも,デバッグが容易になる,アプリケーション実行環境の独立性が高まりセキュリティが強化される,といったメリットがある。
・
Cygwin
Windows上で操作するUnix環境
・
Solaris Brand Z
Solaris上で動作する仮想Linux環境
・
FreeBSD jail
FreeBSD上で動作する仮想FreeBSD環境
・
User Mode Linux
Linux上で動作する仮想Linux環境
PCエミュレータ
→ハードウエアとしてのPCを完全にエミュレートするソフトウエアだ。ビデオ・カードやネットワーク・カードなどのデバイスはもちろん,CPUの命令セット さえも仮想化する。このおかげで,x86プロセッサを搭載したPC上でPower Macintosh用のOSやアプリケーションを動作させるといったことが可能になる。
・
QEMU
Linux,Windows,Mac OSなどで動作するPCエミュレータ。
・
Bochs
SSE2やAMD64などのエミュレートも可能なPCエミュレータ
・
PearPC
PowerPCエミュレータ。Windows/Linuxマシン上でMacOSXなどを動作させることができる
仮想マシン・モニタ
→仮想マシン・モニタ(VMM:Virtual Machine Monitor)は,ハードウエアを論理的に分割したように見せるソフトウエアである。論理分割した各ハードウエアの上で,別々のOSを動作させることができる。「分割」という言葉からも分かるように,別種のハードウエアに見せかけることを目的としたものではない。このため,プログラム中の命令のほとんどはエミュレーションなしに直接CPU上で実行される。ただ,各OSが互いに干渉することなく動作するためには,メモリー管理など特別な命令についてのエミュレーションが必要になる。
・
Xen
オープンソースの仮想マシン・モニタ
・
VMware
米VMwareが開発した仮想マシン・モニタ
・
lilyVM
NetBSD,FreeBSD,Linuxを実行できる軽量な仮想マシン・モニタ
カーネル :OSの基本機能を実装したソフトウェア
システムコール :OSのカーネルの機能を呼び出すために使用される機構
デバッグ:コンピュータプログラムの誤り(「バグ」と呼ばれる)を探し、取り除くこと
命令セット:あるマイクロプロセッサで使用できる命令の集合
宿題