このページの本文へ

Apple TV OS 詳細解析 第1回

なぜHDDは3パーティション構成なのか

2007年04月10日 21時00分更新

文● 白屋麻

  • この記事をはてなブックマークに追加
  • 本文印刷
スタートアップムービー

『Apple TV』の起動後に現われるスタートアップムービー

米国で普及するデジタルビデオレコーダー『Tivo』など、セットトップボックスやNASのようなアプライアンスは、NetBSDやLinuxといったフリーのOSを使用しているものが主流だ。

AppleTV』も、既報のとおりハードウェアとしてはインテル製CPUを搭載したPCのサブセットであり、内部的にはPC向けのOSを採用している。

ここで「さすがアップル」と思わせるのは、OSとしてMac OS Xそのものを採用したということ。

Darwin

アップルが用意する“Darwin”の配布ページ

Mac OS Xは、“Darwin”という名称でその基盤OS部分をオープンソースで公開しているが、AppleTVにはDarwinで公開されている部分を越えて、QuickTimeやSpotLightをはじめとするプロプライエタリ(専属的)な部分も含まれている。

考えてみれば、これは当然のことだ。ご存じのとおり Mac OS Xはマルチメディア処理に秀でたOSであり、 QuickTimeにはMP3やAAC、H.264などのコーデックがすでに用意されている。

LinuxなどのフリーOSを使う大きな理由はライセンスフリーで安価に優れたコードが利用できることだ。その一方でマルチメディア系のコーデックのサポートはあまり強くない。

自らOSを開発しているAppleにとってそうしたフリーのOSを採用するメリットはないに等しい。むしろ、AppleTVをAppleTVたらしめているiTunesの連携や、マルチメディア処理のプログラムを移植しなければならないぶん、デメリットがあると言える。



起動後に“読み取り専用”となるOSBoot領域


OSBoot領域

Apple TV OSの“OSBoot”領域をMac OS Xでマウントしたところ。システムやライブラリといった Mac OS X でお馴染みの階層構成が用意されている

このAppleTVの中のMac OSXは通常、ユーザーがアクセスすることができない。しかし、ケースを空けて HDDを取り出しさえすれば、その限りではない。

AppleTV のパーティション構成は大きく3つに分けられる。先頭にあるのが“Media”というラベルのつけられたHFS+のパーティションで、コンテンツをはじめとする読み書きされるデータはここに格納される。

その後ろには“OSBoot”という約1Gバイトのパーティションが用意され、Mac OS Xの大部分が格納されている。このOSBootからシステムがブートする。

ブート後、このファイルシステムは読み取り専用でマウントされる仕様だ。Apple TVのHDDを取り出し、Macに接続してみると、OSBoot領域のあちこちでシンボリックリンクが散見される。

これらのリンクはMediaパーティションの該当箇所を参照するようになっており、こうすることでOSBoot領域はあくまで読み取り専用に保っている。

Apple TVには電源ボタンが用意されておらず、電源のオン/オフにはケーブルを抜くしかない。ファイルシステムとコンテンツを別パーティションとし、起動後にファイルシステムを読み取り専用にすることで、その電源断によるダメージを与えないようにしているというわけだ。

最後に復旧用と思われるデータが格納されている(参考記事)。

パーティション構成

Apple TVに内蔵されたHDDのパーティション構成



アクセス頻度の高いMedia領域を先頭に


 ブート用のパーティションが後ろに用意されているのも理由がある。一般的なHDDは外周ほど高速にアクセスでき、外周から内周に向かって読み書きされる。OSのブート部分は、起動時こそ激しくアクセスされるが、その後の利用頻度はそう多くない。

一方、コンテンツ領域は、再生やデータ転送の度にアクセスされる。つまり、コンテンツ領域を前に持って行くことで、HDDのアクセス性能を最大限に引き出そうとしているのだ。


*次回は、稼働中のAppleTVの動作を分析する。


カテゴリートップへ

この連載の記事

ASCII.jp RSS2.0 配信中