【FOCUS 1】Macが起動するしくみ
電源ボタンを押せば、Macが起動して使えるようになる。一見当たり前のように思えるこの動作の裏で何が起こっているのでしょうか。まずおおまかにいうと、電源ボタンを押すとメインロジックボードが検知し、CPUが動き出し、「ブートROM」と呼ばれるファームウェアが起動に必要なハードウェアの準備を開始、システム起動に必要なディスクを決めます。その中からブートローダが読み込まれ、カーネル、そして周辺ファイルが読み込まれてサービスが起動し、ログインしたユーザ情報が読み込まれれば起動は完了という流れです。最近のMacはフラッシュストレージを採用しているため、わずか1分足らずで起動しますが、その間に多くのプロセスを踏みながら使える状態になっているのです。
1・起動待機状態
コンピュータの電源ユニットは「パワーコネクタ」でメインロジックボードに接続されています。電源ケーブル(ノート型Macでは電源アダプタか充電されたバッテリ)が接続されると、パワーコネクタを通じてメインロジックボードに待機電力が供給され始めます。
2・電源ボタンを押す
電源ボタンを押すと、メインロジックボードがこれを検知してパワーコネクタに信号(PS_ON)を送信します。これを受けて電源ユニットはMacの各部に電力の供給を開始します。給電直後は電圧が安定しないため「クロックチップ」がCPUへのリセット信号を送り続けて起動処理が開始されるのを抑制します。
3・CPUが動き出す
電源ユニットはセルフテストを行って電圧と電流が一定レベルに到達したことを確認すると、クロックチップへ 「電力安定(Power Good)」信号を送ります。これを受け取ることでクロックチップはリセット信号を停止して、CPUの抑制を解除します。
4・ハードウェア制御の開始
抑制から解放されたCPUは内部のキャッシュやレジスタなどの保存領域の初期化を行って、動作を「リアルモード」に変更し、メモリとメインロジックボード上にある「ブートROM」のリセットを行います。ブートROMはメモリ上にセルフテスト用のプログラムを読み込みます。
5・POST
読み込まれたプログラムは「POST(Power On Self Test)」と呼ばれ、メインロジックボード上にあるハードウェア・コンポーネントの検出・初期化・設定を行います。CPUやメモリ、グラフィックスや記憶ストレージ(ハードディスクやフラッシュストレージ)、各種ポート、そしてブートROMなどがテストされます。
6・ブートROMの読み込み
POSTが問題なく完了すると、起動音が鳴ります。グラフィックスから接続されているディスプレイに信号が送られ、バックライトが点灯し、黒もしくはグレーの画面が表示されます。この間にブートROMから起動に必要な情報が読み込まれ、オペレーティングシステムをどこから読み出すのか「起動ディスク」を決めます。
7・ブートローダの読み込み
起動ディスクが決まると、システムの中にある「boot.efi」を検出して一番最初に読み込みます。このファイルは1MBもない非常に小さなファイルですが、メモリ上に起動に必要なプログラムを書き込んでいく「ブートローダ」という役割を果たします。
8・カーネルの読み込み
ブートローダの準備が整うと、アップルロゴの下に進捗を示すプログレスバーが画面に表示されます。まずはOS Xのコアとなる「カーネル」を読み込み、次にカーネルは「ローンチデーモン(launchd)」という起動に必要なカーネルファイルを読み出しながら、システム全体のファイル構造チェックを行います。
9・サービスの起動
システムの読み込みが完了すると、仮想メモリやその他の起動エージェントなどの各種「サービス」が起動を開始します。これはプリンタドライバや一部の常住ソフトウェアなども含まれ、すべてのファイルの読み込みが終わると、プログレスバーもすべて完了状態になります。
10・ログインウインドウ
読み込みが完了するとプログレスバー表示が消え、OS XのGUI(グラフィカルユーザインターフェイス)プロセスが開始されます。ファイルボルトや自動ログインをオフにしている場合にはログインウインドウが表示され、ユーザ名とパスワードを入力するとログインが開始されます。
11・ユーザ環境が読み込まれる
ログインが開始されると、ユーザ情報を「ディレクトリシステム」から読み出して、ログインしたユーザが所有するファイルを探しながらファインダとドックが起動してきます。次いでシステム環境設定の「ユーザとグループ」パネルの設定に従い、ログイン項目を開き終わればシステムの起動が完了です。
CHECK POINT>>起動ディスク
Macは内蔵ストレージ以外にもUSBやファイアワイヤ、サンダーボルトなどに接続されたハードディスクやフラッシュストレージ、SDカード、インストールDVD、ネットワーク上にあるディスク(NetBoot)、インターネット復元などさまざまな場所からシステムの起動が可能なため、ブートROMはすべての可能性をチェックします。起動ディスクは優先するものを1つだけ設定することが可能です。
CHECK POINT>>FileVault 2
起動ディスクがセキュリティ技術「ファイルボルト2」によって暗号化されていると、ブートローダの読み込み前にユーザ名とパスワードによる認証が求められ、ログインできるとデータが復号されて「boot.efi」の読み出しが開始され、画面上に「アップル」のロゴが表示されます。
【FOCUS 2】ストレージにファイルを保存するしくみ
ストレージは、私たちが普段Mac上で作成した書類や、音楽データ、写真、受け取ったメールなどといった、あらゆるファイルを保存しておく場所として欠かせないものです。一般的によく使われるのがハードディスクとフラッシュストレージ。大容量のデータを保存できるハードディスクは容量あたりの価格が安く、外付けストレージなどでは今でも主流の記録媒体です。しかし、だんだんとハードディスクより高速で省電力、さらに耐久性に優れるフラッシュストレージの採用が進み、今ではMacの主力内蔵ストレージとなっているほどです。この特徴のある2つのストレージは、それぞれ異なる技術で、各々が持つメリットを活かしながらデータ保存を行っているのです。
ハードディスクの記録メカニズム
1・ハードディスクの構造
ハードディスクの中にはさまざまな部品がありますが、その中でももっとも重要なのがデータを記録する「プラッタ(磁気ディスク)」という円盤状の記録メディアです。プラッタは1~4枚程度で構成され、毎分5000~1万回転しており、その両面から「磁気ヘッド」と「磁気リーダ」が取り付けられた「アクチュエータ」でデータの読み出しや記録を行っています。
2・ハードディスクにデータを記録する
ディスクは微少な磁性金属の薄い膜で覆われていて、磁性金属の粒が集まってブロック(磁区)を形成しています。このブロックひとつひとつが、コンピュータの情報量の基本単位である「1ビット」となります。ブロックの磁気は方向が2つと決まっており、磁気リーダはそれぞれを「0」と「1」と認識して読み出します。データを書き込む際にはブロックに電流を流したあと、磁気ヘッドに取り付けられた電磁石で磁気を与えてコントロールしています。
CHECK POINT>>ディスクの断片化
ハードディスクを長期間使っていると、1つのファイルがバラバラの場所に書き込まれて読み出しが遅くなる「断片化」という現象が必ず発生します。これを解消するためにOS Xでは断片化が進んだファイルを集め直して記録してくれる「遅延再配置」や、利用頻度が高い小さなファイルを優先的に外周側に配置する「ホットファイル」という機能が備わっています。
フラッシュストレージの記録メカニズム
1・フラッシュストレージの構造
フラッシュストレージの構成は「NAND型フラッシュメモリ」という板状のメモリチップをデータを記録する部品として使用しています。フラッシュメモリは複数重ねて構成されており、それぞれが「メモリコントローラ」に接続されてデータの読み書きをそれぞれ制御されています。
2・フラッシュメモリにデータを記録する
フラッシュメモリにおけるデータ記録の最小単位を「セル」といいます。「サブストレート」と呼ばれる基板の上に格子状に「ワードライン」と「ビットライン」があり、それらの交差する位置に「メモリセル」があります。セル内には「フローティングゲート」と呼ばれる絶縁膜で囲まれた場所があり、ワードラインと「ストリング(ビット線に連なったセルの集合体)」に高い電圧をかけながら、セルに「電子が入っている状態(0)」と「いない状態(1)」とを変化させることでデータを記録しています。
CHECK POINT>>フラッシュメモリの寿命
セルの中の電子は、絶縁膜によって電源を落としてもその状態が保持できるため「不揮発性メモリ」と呼ばれています。絶縁膜は繰り返しこの電子の出し入れをすることで劣化していきますが、その耐久性はセル単位で数万回程度といわれており、記録内容の保持期間も長くて10年程度と推測されています。
【FOCUS 3】スピーカから音が出るしくみ
デジタルが主流のコンピュータの世界ではありますが、こと「音」に関しては別の話です。最終出力先であるMacの内蔵スピーカ(もしくはヘッドフォン端子に接続されたデバイス)で音を鳴らすためには、デジタルのデータをアナログ信号へと変換するプロセスが欠かせません。MP3やAAC、WAVといったMac上のオーディオファイルを再生するには、デジタルの波形データに変換しなくてはならないのです。それを担うのが、OS Xで利用できる「コアオーディオ(Core Audio)」というソフトウェア・テクノロジーと、スピーカに送り出すアナログ信号を作り出すハードウェア「DAC」の組み合わせになります。Macのスピーカから音が鳴る仕組みを詳しく見ていきましょう。
1・波形データを作成する
Macの中に入っているオーディオファイルを再生するには、まず「リニアPCM(Pulse Code Modulation : パルス符号変調)というデジタルの波形データに変換する必要があります。OS Xではこのプロセスを「コアオーディオ(Core Audio)」フレームワークが担っており、iTunesやクイックタイムといった再生ソフトウェアはこれを使って再生コントロールを行っています。
2・アナログ信号に変換する
コアオーディオが生成したリニアPCMデータは、「HAL(Hardware Abstract Layer : ハードウェア抽象化層)」もしくは「I/O Kit」というハードウェアを制御するフレームワークに渡されて、メインロジックボードに内蔵されている「オーディオDAC(Digital to Analog Convertor : デジタル – アナログ変換回路)」というチップに送られます。ここでデータからアナログ信号に変換され、内蔵するスピーカやヘッドフォン端子に向けて送られて音が鳴るようになります。
Core Audioの仕組み
CHECK POINT>>ビットレート
リニアPCMで生成される波形データの精度は、元のファイルが持つ「ビットレート」に依存します。ビットレートはオーディオ信号の振幅が決められた間隔で計測された「サンプリングレート」と、そのサンプルごとの解像度「ビット深度」を組み合わせたものであり、コアオーディオでは最大96KHz、24ビットといういわゆる「ハイレゾ音源」まで対応しています。
CHECK POINT>>外部のDACを利用する
Macに内蔵されるオーディオDACはハイレゾ音源の出力に対応していませんが、USB接続などの外付けのオーディオDACを利用することで再生が可能になります。リニアPCMデータのサンプリングレートを数十倍にする「オーバーサンプリング」という手法を使って高ビット化し「デジタル・シグマ・モジュレータ」を通してノイズ除去する外付けのオーディオDACを利用すれば、より高品質な音を楽しむことができます。