このページの本文へ

前へ 1 2 3 次へ

Apple Geeks ― 第166回

「boot2docker」も動作!! 「Hypervisor.framework」が変えるOS Xの仮想化環境

2015年08月27日 11時00分更新

文● 海上忍(@u_shinobu)、編集●ハイサイ比嘉/ASCII.jp

  • この記事をはてなブックマークに追加
  • 本文印刷

 本連載「Apple Geeks」は、Apple製ハードウェア/ソフトウェア、またこれらの中核をなすOS X/iOSに関する解説を、余すことなくお贈りする連載です(連載目次はこちら)。

 UNIX使い向けを始め、Apple関連テクノロジー情報を知りつくしたいユーザーに役立つ情報を提供します。

 いよいよOS Xの仮想化環境が面白くなってきた。その背景にある技術がOS X Yosemiteで導入された「Hypervisor.framework」で、最近登場した「xhyve」により状況が加速しつつある。その背景と現状について、簡単に解説してみよう。

「boot2docker-xhyve」でCentOS 7をインストールしているところ。VNCクライアント(OS X標準装備の「画面共有」)でログインして作業を進めている

「Hypervisor.framework」の特徴

 「xhyve」を紹介する前に、現在のOS Xにおける仮想化ソフトウェアの状況と「Hypervisor.framework」について説明しておきたい。

OS X Yosemiteで追加された「Hypervisor.framework」。サイズは小さいが、Intel EPTなどの仮想化支援機能を活用できる

 あるOS上で他のOSをシミュレートする仮想化ソフトは、「ホスト型」と「ハイパーバイザ型」に大別できる。

 OS Xで利用されている市販の仮想化ソフトは、これまで基本的にホスト型として実装されてきた。ホスト型では、ハードウェアをソフトウェアとして抽象化し、その上でWindowsなどのOS(ゲストOS)を実行する。管理はホストOS(当コラムの場合いうまでもなくOS X)が担うため、ハードへのアクセスはホストOSを経由せねばならず、オーバーヘッドは避けられない。ゲストOSのパフォーマンスがホストOSより数段落ちる理由は、この構造によるところが大きい。

 一方、ハイパーバイザ型はハードウェアの抽象化を必要としない。ハード(当コラムの場合Mac本体)を直接制御するため、OSのパフォーマンス低下を最小限に抑えることができるのだ。仮想化支援機能はCPUレベルでも実装されており、Macに採用されているIntel Coreシリーズの現行ラインはVT-xやEPT(Extended Page Tables)といった機能をサポート、ハイパーバイザ型の仮想化ソフトに活用されている。

Hypervisor.frameworkでどの世代のCPUを利用できるかは、IntelのWEBサイトで確認できる

 「VMware Fusion」「Parallels Desktop」などの仮想化ソフトもハイパーバイザ型仮想化環境を提供するが、Macにおいてはカーネル機能拡張(KEXT)を必要とする。しかしYosemiteで導入されたHypervisor.frameworkを利用した仮想化ソフトであれば、ユーザモードでより効率的にWindowsやLinuxなどのOSを仮想的に動作させられるのだ。

前へ 1 2 3 次へ

この連載の記事

ASCII.jp RSS2.0 配信中