522日(火)

記録:棚原

 

仮想マシンプロジェクト 計画

プロジェクトリーダ: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

LinuxWindowsMac OSなどで動作するPCエミュレータ。

     Bochs

SSE2AMD64などのエミュレートも可能なPCエミュレータ

     PearPC

PowerPCエミュレータ。Windows/Linuxマシン上でMacOSXなどを動作させることができる

 

 

 

仮想マシン・モニタ

→仮想マシン・モニタ(VMMVirtual Machine Monitor)は,ハードウエアを論理的に分割したように見せるソフトウエアである。論理分割した各ハードウエアの上で,別々のOSを動作させることができる。「分割」という言葉からも分かるように,別種のハードウエアに見せかけることを目的としたものではない。このため,プログラム中の命令のほとんどはエミュレーションなしに直接CPU上で実行される。ただ,各OSが互いに干渉することなく動作するためには,メモリー管理など特別な命令についてのエミュレーションが必要になる。

 

     Xen

オープンソースの仮想マシン・モニタ

     VMware

VMwareが開発した仮想マシン・モニタ

     lilyVM

NetBSDFreeBSDLinuxを実行できる軽量な仮想マシン・モニタ

 

 

 

カーネル :OSの基本機能を実装したソフトウェア

システムコール :OSのカーネルの機能を呼び出すために使用される機構

デバッグ:コンピュータプログラムの誤り(「バグ」と呼ばれる)を探し、取り除くこと

命令セット:あるマイクロプロセッサで使用できる命令の集合

 

宿題