ZeroVM

出典: フリー百科事典『ウィキペディア(Wikipedia)』
ZeroVM
作者 Camuel Gilyadov、Constantine Peresypkin、Dmitri Bortok
開発元 LiteStack (Rackspaceに買収された)
最新評価版
0.9.4 / 2013年11月26日 (10年前) (2013-11-26)
リポジトリ ウィキデータを編集
プログラミング
言語
C, アセンブリ
対応OS Linux
プラットフォーム x86-64
サポート状況 Active
種別 アプリケーション仮想化
ライセンス Apacheライセンス 2.0
公式サイト zerovm.org
テンプレートを表示

ZeroVMは、オープンソースの軽量な仮想化サンドボックス化の技術である。 ZeroVMは、Google Native Clientのプラットフォームを利用して、一つのプロセスを仮想化する。 一つのプロセスだけを仮想化するため、(オペレーティングシステム全体を仮想化するのとは違い)起動のオーバーヘッドは5 ms台である。[1]

サンドボックス化[編集]

ZeroVM creates a sandbox around a single process,[2] ZeroVMは、Google Native Client (NaCl)ベースの技術を使い、一つのプロセスのためにサンドボックスを作成する。 そのサンドボックスは、実行されるアプリケーションがホストオペレーティングシステム上のデータにアクセスできないことが保証されている。 そのため、信頼できないコードを実行しても安全である。 ZeroVM内で実行されるプログラムは、まずNaClプラットフォーム用にクロスコンパイルされなくてはならない。 ZeroVMはx86-64プラットフォーム向けにコンパイルされたNaClコードのみ実行することができ、 ポータブルNaCl (PNaCl)フォーマットのコードは実行できない。

ZeroVM内で実行されるコードは、通常のシステムコールを呼び出すことはできず、ホスト環境と通信することもできない。 外部との全ての通信はチャネルを使って行われ、チャネルはプログラムが実行されるより前に定義しておかなくてはならない。 サンドボックスの外側では、チャネルはローカルファイルやパイプ、他のZeroVMインスタンスに接続することができる。 [3] サンドボックスの内側では、チャネルはファイル記述子として見えている。 サンドボックス化されたプログラムは、チャネルを通じて双方向に読み書きを実行可能であるが、チャネルがホストで何に接続されているかを知ることはできない。

ZeroVM向けにコンパイルされたプログラムは、ZeroVMランタイムライブラリー(ZRT)を使うこともできる。 このライブラリーは、POSIX環境をプログラムに提供することを目的としている。 [4] これは、Cの標準ライブラリーを部分的に置き換えることで実現されている。 特に、ZRTはCのファイル入出力関数であるfopenopendirなどをメモリー内のファイルシステムを操作する関数に置き換える。 ルートファイルシステムはtarアーカイブファイルで提供される。 これによりプログラムからは、通常のUnix環境が存在するように見える。

ZRTは、Cの日付時刻関数であるtimeなども置き換え、プログラムに固定的で決定論的な環境を提供する。 一定の入力を与えると、毎回同じ結果を得られることが保証されている。 関数型言語でないプログラムであっても、この制約付きの環境であれば、決定論的に動作する。 [5] これによりプログラムの挙動は固定され、デバッグが容易になる。

Swiftとの統合[編集]

ZeroVMは、OpenStackの分散オブジェクトストレージコンポーネントであるSwiftと統合されている。 [6] SwiftにZeroCloudミドルウェアをインストールすると、クライアントはSwiftにZeroVMプログラムをリクエストできるようになる。 そのプログラムはストレージノードで直接実行される。 つまり、プログラムがデータに直接アクセスできると言うことである。

歴史[編集]

ZeroVMはイスラエルのスタートアップであるLiteStackによって開発された。 zewrovmGitリポジトリーの最初のコミットは、2011年11月に行われている。 [7] LiteStackは2013年10月にRackspaceに買収された。 [1][8][9] ZeroVMは、Techstars Cloud 2013インキュベータープログラムに参加し、500,000米ドルを得た。 [10][11] 最初のZeroVM Design Summitは、2014年1月にテキサス大学サンアントニオ校で開催された。[12]

関連項目[編集]

脚注[編集]

  1. ^ a b Lindberg, Van. “ZeroVM: Smaller, Lighter, Faster”. Rackspace Blog. 2014年4月14日閲覧。
  2. ^ Yegulalp, Serdar (2013年10月23日). “ZeroVM virtualizes apps, not machines”. InfoWorld. http://www.infoworld.com/t/cloud-computing/zerovm-virtualizes-apps-not-machines-229415 2014年4月14日閲覧。 
  3. ^ ZeroVM Channels”. 2014年4月14日閲覧。
  4. ^ ZRT Readme”. 2014年4月14日閲覧。
  5. ^ ZeroVM Architecture”. 2014年4月14日閲覧。
  6. ^ ZeroCloud”. 2014年4月14日閲覧。
  7. ^ Gilyadov, Camuel. “First Commit”. GitHub. 2014年4月18日閲覧。
  8. ^ Shamah, David (2013年10月24日). “Rackspace picks up ZeroVM's 'built-for-cloud' hypervisor”. ZDNet. http://www.zdnet.com/rackspace-picks-up-zerovms-built-for-cloud-hypervisor-7000022399/ 2014年4月14日閲覧。 
  9. ^ Clark, Jack (2013年10月25日). “Rackspace goes to Israel, picks up slick new weapon for cloud wars”. The Register. 2014年4月14日閲覧。
  10. ^ Idan, Henn (2013年11月3日). “Israeli ZeroVM acquired by RackSpace”. Geektime. 2014年4月14日閲覧。
  11. ^ Lorek, Laura (2013年4月19日). “ZeroVM Creates Software for Cloud Computing”. Silicon Hills News. 2014年4月14日閲覧。
  12. ^ Rackspace. “ZeroVM Design Summit”. YouTube. 2014年4月18日閲覧。

外部リンク[編集]