Apple Geeks ― 第166回
「boot2docker」も動作!! 「Hypervisor.framework」が変えるOS Xの仮想化環境
2015年08月27日 11時00分更新
![]() |
---|
本連載「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を仮想的に動作させられるのだ。
この連載の記事
- 第184回 オープンソース化された「PowerShell」をMacで使う
- 第183回 アップル製デバイス連携の鍵、「Continuity」とは?
- 第182回 DCI-P3準拠へと歩むiPhone/iPad - WWDC基調講演で秘められた新技術は、ここにある(2)
- 第181回 WWDC基調講演で秘められた新技術は、ここにある(1)
- 第180回 WWDC直前、買い替え前にマイMacのココをチェック
- 第179回 私がiTunesを使わなくなった5つの理由
- 第178回 今あえてiPhone「Live Photos」を知る
- 第177回 「Windows Subsystem for Linux」はOS Xのライバルとなるか?
- 第176回 iOS 9でサードパーティー製ブラウザが進化した理由
- 第175回 Macでホームフォルダ以外の領域を整理整頓するポイント
- この連載の一覧へ