Macintosh用語の基礎知識
- 2007/08/14 16:19
- カテゴリー:備忘録
MacBookを買った友人は,この1週間ですっかりMacに慣れたようで,特に不満もなく使っている様子です。
Macは何も知らなくてもそれなりのことがすぐに出来てしまう敷居の低さがある一方で,より使い込もうと努力する人に対する施しを忘れない豊かさがあります。
そこで,今回はそのとっかかりとして,主として機能に関係する基礎的な用語を少しだけまとめてみます。
・Finder(ファインダ)
WindowsのExplorerに相当するもので,ファイルブラウズ機能を持つ独立したシェルアプリケーションである。
・インテルMac(いんてる-まっく)
インテルのCPUを搭載したMacのこと。これまでのMacはPowerPCをCPUに利用してきたが,突如インテルのCPUにスイッチすることが発表され,現行機種にインテルのCPU以外を搭載する機種は存在しない。
UNIXを除くクラシカルなOSはCPUのアーキテクチャに強く依存する傾向があり,初期のMacOSも例外ではなかったが,モダンなOSであるMacOSXはもともとポータビリティを意識して開発されたと言われ,秘密裏にインテルCPUで動作するバージョンが開発され続けていたと言われている。
・Core2Duo(こあ-つー-でゅお)
現行のMacに搭載されるインテルCPUのブランド名。「Core」はPentiumuに続くブランドとしてのCoreを示し,「2」はCoreブランドの最新であるCore2マイクロアーキテクチャを表しており,「Duo」はデュアルコアのプロセッサであることを示している。
Core2は消費電力と処理能力を両立させる全く新しいマイクロアーキテクチャであり,インテルはこれを「Intel Core Architecture」と呼んでいる。
クロックを上げるために複雑なCISC命令を内部でRISC風の命令に置き換えてきたのがこれまでのインテルのCPUであるが,Core2ではこのRISC風の命令を複数まとめて別の命令に置き換えるなど,見方を変えるとCISCへの回帰とも取れる仕組みを内蔵して,1クロックあたりの処理能力を向上させている。
なお,Core2は64ビット拡張がなされた64ビットプロセッサであるため,現行のMacは全機種が64ビット対応になっていることも重要な点である。MacOSXは32ビットと64ビットをユーザーに区別させないため,自然に64ビットへの移行が進んでいくことが予想される。
・Darwin(だーうぃん)
Mach3とFreeBSDをベースとしたBSD系のUNIXライクなOSで,オープンソースで開発されている。また,MacOSXのカーネルでもある。
・UniversalBinary(ゆにばーさる-ばいなり)
現行のMacで採用されているインテルのCPUと,これまで使ってきたPowerPCの間には,全く互換性がない。そこでいずれのMacでも動作するアプリケーションとして,それぞれのCPUにあわせたバイナリを両方持つアプリケーションが作成できるようになった。これをUniversalBinaryと呼ぶ。
MacOSXのアプリケーションの実態は,.appという拡張子を持つフォルダである。このフォルダの中にバイナリやDLL,多言語対応のリソースなどが収められているが,ユーザーはこのフォルダをアプリケーションとしてダブルクリックすれば直ちに実行することが出来る。(この仕組みをバンドルという)
このフォルダの中に,PowerPCとインテルの両CPUに対応したバイナリを用意しておくことで,どちらのCPUでもネイティブ実行が可能となる。
・Rosetta(ろぜった)
インテルCPUで互換性を維持する仕組み。PowerPCのバイナリを適当なサイズごとに動的に変換するもので,すべてのコードを一括してリコンパイルするわけでもなく,また1命令ごとにコードを変換するエミュレーションとも異なる。
Rosettaの完成度は高く,ユーザーはこれまでのPowerPC用のアプリケーションの大部分をそのままインテルMacで実用的に使用することが可能となっており,2GHzのCore2Duoなら,1GHzのPowerPC程度の実行速度であると言われている。
ただし,アプリケーション以外のドライバなどには対応できず,両方のコードが混在したプロセスを実行することも出来ない。
・iSight(あい-さいと)
Apple純正の,いわゆるWebカメラ。元々はオートフォーカスにも対応した高画質Webカメラとして別売りのオプションとして販売されていたが,最近のマシンには内蔵されることが多い。
・Bonjour(ぼんじゅーる)
当初はRendezvousと呼ばれた機能で,設定を行うことなくネットワーク接続を可能とするプロトコル。ネットワークに接続すると自動的にマシン名とIPアドレスの割り当てが行われ,サービスの自動検索が行われる。
WindowsでいうUPnPに相当する機能であるが,普及の進んだUPnPに比べて機能が低い上,対応機器も少ないため,あまり一般的ではない。
・SuperDrive(すーぱー-どらいぶ)
DVD-Rを書き込むことの出来る光学ドライブを,AppleではSuperDriveと呼んでいる。かつて2HDのフロッピーディスクを読み書きできるフロッピーディスクドライブをSuperDriveと呼んでいたが,そのことはもう忘れて良い。
・BootCamp(ぶーと-きゃんぷ)
インテルMacにWindowsXPおよびVistaをインストールするためのキット。MacOSXを残したままWindowsをインストールするパーティションを用意したり,Windows用のドライバCD-ROMを作成するなど,Windowsにインストールに必要な作業を簡単に行う事が出来る。
現在はβ版であるが,MacOSX10.5のリリースで正式版が出ると言われている。
・FrontRow(ふろんと-ろう)
最近のMacには標準で付属するリモコン「AppleRemote」によって操作されるアプリケーション。iTunesでの音楽再生,DVDの再生などがAppleRemoteによって可能となる。
・Widget(うぃじぇっと)
手軽に使えるミニアプリケーションであるが,通常のアプリケーションがC++やObjective-Cで記述,コンパイルされたものであるのに対し,WidgetはDHTMLベースで作成されるものである。
・DashBoard(だっしゅぼーど)
Widgetを実行する環境を提供するアプリケーション。HTMLのレンダリングエンジンであるWebKitをベースに持つアプリケーションで,F12キーの押下により起動する。
・Expose(えくすぽぜ)
デスクトップ上のウィンドウを一時的に整理して表示する機能で,その動作は非常になめらかで素早く行われる。
Exposeは3つの機能を持つ。
1.すべてのウィンドウをすべて縮小し画面上に整列して表示する。この状態でウィンドウを選択すると,すべてのウィンドウが元の位置,元の大きさに戻され,選択されたものを最前面に表示する。F9で動作。
2.アクティブなアプリケーションが管理するウィンドウを縮小し画面上に整列して表示する。この状態でウィンドウを選択すると,すべてのウィンドウが元の位置,元の大きさに戻され,選択されたものを最前面に表示する。F10で動作。
3.すべてのウィンドウを画面の領域外に追い出し,デスクトップを表示する。F11で動作。
・Spotlight(すぽっとらいと)
ファイル名やファイル属性だけではなく,メタデータを用いデスクトップた検索機能のこと。検索機能そのものはSearchAPIとしてOSによって提供され,iTunesやMailでも利用可能である。
あらかじめ作成されたインデックスを用いて高速検索が実現しており,インクリメンタルサーチによって候補を絞り込んでいくことが可能となっている。
・HFSX(えいちえふえす-えっくす)
MacOSXのファイルシステム。階層化されたファイルシステムとして登場したHFSを32ビット化したものがHFSPlusで1998年に実装されたが,これに大文字と小文字のファイル名を区別することや,Spotlight用にメタデータ部の追加,ジャーナリングを行うなど新たに拡張された部分を含む場合,特にHFSXと呼ぶ。
・Quartz(くおーつ)
MacOSXにおける描画エンジン。前身であるNEXTSTEPのDisplayPostscriptに代わって用意されたもので,PDFをベースにしており,三次ベジェ曲線をプリミティブに持つベクトル型のエンジンである。
解像度に依存しない,浮動小数点による座標系,アンチエイリアシング,アルファチャネルのサポート,多言語文字描画といった先進的な機能を装備しており,MacOSXの洗練された機能は,これらの意欲的な実装によるところも大きい。
・Cocoa(ここあ)
MacOSXのネイティブフレームワーク。源流はNEXTSTEPであり,Objective-Cでの記述が前提となる。これに対し,従来のMacOSのAPIを引き継いだフレームワークはCarbonと呼ばれており,こちらはC/C++での記述が可能である。
分かっているようで,実は正確に分かっていないことって多い物です。たかだかこれだけの基礎的な言葉でさえも,真面目に調べないとちゃんと書けないので,なかなか面倒臭い作業になりました。
従来のMacOSは今で言ういう組み込みプログラムに近いくらい,べったりと記述されていたものですが,MacOSXはさすがにモダンなOSであり,最新のソフトウェア工学を反映した構造をしています。
だから表面的に見えるある機能が,どのレイヤーのどの部分に実装されているのかを知るためには,かなり正確な資料を見なければなりません。極端な例として,Finderは現在でこそ単独のアプリケーションに過ぎませんが,初期のMacOSにおいてはOSそのものの一部であり,OSの構造を視覚的に表現したものでもありました。
こうした機能の実装のエレガントさが,なめらかな操作感や素早い動作に繋がっていることも事実であり,iPhoneがMacOSXの構造をそのまま引き継いでいることがどれほどあの製品を洗練された物にしているかは,想像に難くありません。
MacOSXではそれぞれウィンドウごとに内部の座標を管理しています。そうして構成されたウィンドウを合成してフレームバッファに書き込んでいるので,Exposeでウィンドウを縮小しても,ウィンドウ内部のオブジェクトの位置関係を演算し直す必要はないため,あれだけ軽快な動きを見せ,かつ縮小時もリアルタイムで更新がなされるのです。
Exposeを単純に真似しようとしても,なかなかうまく真似できないのは,こうしたOSレベルの「美しさ」によるところがあるということ,もっと知っていても良いのかも知れません。
