ゼロVM

ゼロVM
原作者カミュエル・ギリヤドフ、コンスタンティン・ペレシプキン、ドミトリー・ボルトク
開発者Rackspaceに買収されたLiteStack
安定版リリース
1.0 [1]  / 2014年3月20日; 11年前 (2014年3月20日
リポジトリ
  • github.com/zerovm/zerovm
書かれたCアセンブリ
オペレーティング·システムリナックス
プラットフォームx86-64
タイプアプリケーション仮想化
ライセンスApacheライセンス2.0
Webサイトzerovm.org

ZeroVMは、オープンソースの軽量仮想化およびサンドボックス技術です。Google Native Clientプラットフォームを用いて単一のプロセスを仮想化します。完全なオペレーティングシステムではなく単一のプロセスのみを仮想化するため、起動時のオーバーヘッドは5ミリ秒程度です。[2] [別途情報源が必要]

サンドボックス

ZeroVMは、 Google Native Client (NaCl) をベースとした技術を用いて、単一プロセス[3]の周囲にサンドボックスを構築します。このサンドボックスは、実行されるアプリケーションがホストOSのデータにアクセスできないようにするため、信頼できないコードを安全に実行できます。ZeroVMで実行されるプログラムは、まずNaClプラットフォーム向けにクロスコンパイルする必要があります。ZeroVMはx86-64プラットフォーム向けにコンパイルされたNaClコードのみを実行でき、Portable Native Client(PNaCl)形式は実行できません。

ZeroVMで実行されるコードは、通常のシステムコールを呼び出すことができず、ホスト環境とやりとりすることもできません。外部との通信はすべてチャネルを介して行われ、チャネルはプログラム起動前に宣言する必要があります。サンドボックス外では、チャネルはローカルファイル、パイプ、または他のZeroVMインスタンスに接続できます。[4] サンドボックス内では、プログラムはチャネルをファイル記述子として認識します。サンドボックス化されたプログラムはチャネルからデータを読み書きできますが、ホスト内でチャネルがどこに接続されているかは認識しません。

ZeroVM用にコンパイルされたプログラムは、オプションでZRTと呼ばれるZeroVMランタイムライブラリを使用できます。このライブラリは、プログラムにPOSIX環境を提供することを目的としています。[5] これは、C標準ライブラリの一部を置き換えることで実現されます。特に、ZRTは、やなどのCファイル入出力関数を、メモリ内ファイルシステムで動作するバージョンに置き換えます。ルートファイルシステムはtarballとして提供されます。これにより、プログラムは通常のUnix環境を「見る」ことができます。 fopenopendir

ZRTはC言語の日付・時刻関数などを置き換えtime、プログラムに固定的で決定論的な環境を提供します。固定された入力があれば、毎回の実行で同じ結果が返されることが保証されます。この制限された環境では、非機能的なプログラムであっても決定論的になります。[6] これにより、プログラムの挙動が固定されるため、デバッグが容易になります。

Swiftとの統合

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

歴史

ZeroVMはイスラエルのスタートアップ企業LiteStackによって開発されました。Gitリポジトリへの最初のコミットは2011年11月に追加されました。[8] LiteStackは2013年10月にRackspace に買収されました。zerovm [ 2] [9] [10] ZeroVMはTechstars Cloud 2013インキュベータプログラム に参加し、50万ドルのシード資金を獲得しました。[11] [12]最初のZeroVMデザインサミットは2014年1月にテキサス大学サンアントニオ校 で開催されました[13]

参照

参考文献

  1. ^ “リリース 1.0”. 2014年3月20日. 2018年7月23日閲覧
  2. ^ ab Lindberg, Van. 「ZeroVM: Smaller, Lighter, Faster」. Rackspace Blog . 2015年9月19日時点のオリジナルよりアーカイブ。 2014年4月14日閲覧
  3. ^ Yegulalp, Serdar (2013年10月23日). 「ZeroVMはマシンではなくアプリを仮想化する」InfoWorld . 2014年4月14日閲覧
  4. ^ 「ZeroVM Channels」. GitHub . 2014年4月14日閲覧
  5. ^ 「ZRT Readme」. GitHub . 2014年4月14日閲覧
  6. ^ “ZeroVM Architecture”. 2014年2月8日時点のオリジナルよりアーカイブ2014年4月14日閲覧。
  7. ^ “ZeroCloud”. GitHub . 2014年4月14日閲覧
  8. ^ Gilyadov, Camuel. 「First Commit」. GitHub . 2014年4月18日閲覧
  9. ^ Shamah, David (2013年10月24日). 「Rackspace、ZeroVMの『クラウド向け』ハイパーバイザーを採用」ZDNet . 2014年4月14日閲覧
  10. ^ ジャック・クラーク(2013年10月25日)「Rackspaceがイスラエルに進出、クラ​​ウド戦争に新たな武器を導入」The Register 2014年4月14日閲覧
  11. ^ Idan, Henn (2013年11月3日). 「イスラエルのZeroVMがRackSpaceに買収される」. Geektime . 2014年3月30日時点のオリジナルよりアーカイブ2014年4月14日閲覧。
  12. ^ Lorek, Laura (2013年4月19日). 「ZeroVMがクラウドコンピューティング向けソフトウェアを開発」. Silicon Hills News . 2014年4月14日閲覧
  13. ^ Rackspace. 「ZeroVM Design Summit」. YouTube . 2014年4月18日閲覧
  • 公式サイト
  • [1] GitHubで
  • 安定したUbuntuパッケージ
  • 最新のUbuntuパッケージ
「https://en.wikipedia.org/w/index.php?title=ZeroVM&oldid=1301665276」から取得