Apple I N S I D E M A C O S X System Overview Apple sur FNAC.COM - Pour voir la liste complète des manuels APPLE, cliquez ici

 

 

TELECHARGER LE PDF : https://developer.apple.com/jp/documentation/pdf/systemoverviewj.pdf

 

 

Voir également d'autres Guides APPLE :

Apple-Logic-Pro-9-Effectsrfr.pdf

Apple-iPod_shuffle_3rdGen_UG_F.pdf

Apple-iPod_classic_160Go_Guide_de_l_utilisateur.pdf

Apple-iBookG4GettingStarted.pdf

Apple-Administration_de_technologies_web_10.5.pdf

Apple-Compressor-4-User-Manual-fr

Apple-MainStage-User-Manual-fr.pdf

Apple-Logic_Pro_8.0_lbn_j.pdf

Apple-PowerBookG4_15inch1.67-1.5GHzUserGuide.pdf

Apple-MacBook_Pro_15inch_Mid2010_CH.pdf

Apple-LED_Cinema_Display_27-inch_UG.pdf

Apple-MacBook_Pro_15inch_Mid2009_RS.pdf

Apple-macbook_pro_13inch_early2011_f.pdf

Apple-iMac_Mid2010_UG_BR.pdf

Apple-iMac_Late2009_UG_J.pdf

Apple-iphone_user_guide-For-iOS-6-Software

Apple-iDVD5_Getting_Started.pdf

Apple-guide_des_fonctionnalites_de_l_ipod_touch.pdf

Apple_iPod_touch_User_Guide

Apple_macbook_pro_13inch_early2011_f

Apple_Guide_de_l_utilisateur_d_Utilitaire_RAID

Apple_Time_Capsule_Early2009_Setup_F

Apple_iphone_4s_finger_tips_guide_rs

Apple_iphone_upute_za_uporabu

Apple_ipad_user_guide_ta

Apple_iPod_touch_User_Guide

apple_earpods_user_guide

apple_iphone_gebruikershandleiding

apple_iphone_5_info

apple_iphone_brukerhandbok

apple_apple_tv_3rd_gen_setup_tw

apple_macbook_pro-retina-mid-2012-important_product_info_ch

apple_Macintosh-User-s-Guide-for-Macintosh-PowerBook-145

Apple_ipod_touch_user_guide_ta

Apple_TV_2nd_gen_Setup_Guide_h

Apple_ipod_touch_manual_del_usuario

Apple_iphone_4s_finger_tips_guide_tu

Apple_macbook_pro_retina_qs_th

Apple-Manuel_de_l'utilisateur_de_Final_Cut_Server

Apple-iMac_G5_de_lutilisateur

Apple-Cinema_Tools_4.0_User_Manual_F

Apple-Personal-LaserWriter300-User-s-Guide

Apple-QuickTake-100-User-s-Guide-for-Macintosh

Apple-User-s-Guide-Macintosh-LC-630-DOS-Compatible

Apple-iPhone_iOS3.1_User_Guide

Apple-iphone_4s_important_product_information_guide

Apple-iPod_shuffle_Features_Guide_F

Liste-documentation-apple

Apple-Premiers_contacts_avec_iMovie_08

Apple-macbook_pro-retina-mid-2012-important_product_info_br

Apple-macbook_pro-13-inch-mid-2012-important_product_info

Apple-macbook_air-11-inch_mid-2012-qs_br

Apple-Manuel_de_l_utilisateur_de_MainStage

Apple-Compressor_3_User_Manual_F

Apple-Color_1.0_User_Manual_F

Apple-guide_de_configuration_airport_express_4.2

Apple-TimeCapsule_SetupGuide

Apple-Instruments_et_effets_Logic_Express_8

Apple-Manuel_de_l_utilisateur_de_WaveBurner

Apple-Macmini_Guide_de_l'utilisateur

Apple-PowerMacG5_UserGuide

Disque dur, ATA parallèle Instructions de remplacement

Apple-final_cut_pro_x_logic_effects_ref_f

Apple-Leopard_Installationshandbok

Manuale Utente PowerBookG4

Apple-thunderbolt_display_getting_started_1e

Apple-Compressor-4-Benutzerhandbuch

Apple-macbook_air_11inch_mid2011_ug

Apple-macbook_air-mid-2012-important_product_info_j

Apple-iPod-nano-Guide-des-fonctionnalites

Apple-iPod-nano-Guide-des-fonctionnalites

Apple-iPod-nano-Guide-de-l-utilisateur-4eme-generation

Apple-iPod-nano-Guide-de-l-utilisateur-4eme-generation

Apple-Manuel_de_l_utilisateur_d_Utilitaire_de_reponse_d_impulsion

Apple-Aperture_2_Raccourcis_clavier

AppleTV_Setup-Guide

Apple-livetype_2_user_manual_f

Apple-imacG5_17inch_harddrive

Apple-macbook_air_guide_de_l_utilisateur

Apple-MacBook_Early_2008_Guide_de_l_utilisateur

Apple-Keynote-2-Guide-de-l-utilisateur

Apple-PowerBook-User-s-Guide-for-PowerBook-computers

Apple-Macintosh-Performa-User-s-Guide-5200CD-and-5300CD

Apple-Macintosh-Performa-User-s-Guide

Apple-Workgroup-Server-Guide

Apple-iPod-nano-Guide-des-fonctionnalites

Apple-iPad-User-Guide-For-iOS-5-1-Software

Apple-Boot-Camp-Guide-d-installation-et-de-configuration

Apple-iPod-nano-Guide-de-l-utilisateur-4eme-generation

Power Mac G5 Guide de l’utilisateur APPLE

Guide de l'utilisateur PAGE '08 APPLE

Guide de l'utilisateur KEYNOTE '09 APPLE

Guide de l'Utilisateur KEYNOTE '3 APPLE

Guide de l'Utilisateur UTILITAIRE RAID

Guide de l'Utilisateur Logic Studio

Power Mac G5 Guide de l’utilisateur APPLE

Guide de l'utilisateur PAGE '08 APPLE

Guide de l'utilisateur KEYNOTE '09 APPLE

Guide de l'Utilisateur KEYNOTE '3 APPLE

Guide de l'Utilisateur UTILITAIRE RAID

Guide de l'Utilisateur Logic Studio

Guide de l’utilisateur ipad Pour le logiciel iOS 5.1

PowerBook G4 Premiers Contacts APPLE

Guide de l'Utilisateur iphone pour le logiciel ios 5.1 APPLE

Guide de l’utilisateur ipad Pour le logiciel iOS 4,3

Guide de l’utilisateur iPod nano 5ème génération

Guide de l'utilisateur iPod Touch 2.2 APPLE

Guide de l’utilisateur QuickTime 7  Mac OS X 10.3.9 et ultérieur Windows XP et Windows 2000

Guide de l'utilisateur MacBook 13 pouces Mi 2010

Guide de l’utilisateur iPhone (Pour les logiciels iOS 4.2 et 4.3)

Guide-de-l-utilisateur-iPod-touch-pour-le-logiciel-ios-4-3-APPLE

Guide-de-l-utilisateur-iPad-2-pour-le-logiciel-ios-4-3-APPLE

Guide de déploiement en entreprise iPhone OS

Guide-de-l-administrateur-Apple-Remote-Desktop-3-1

Guide-de-l-utilisateur-Apple-Xserve-Diagnostics-Version-3X103

Guide-de-configuration-AirPort-Extreme-802.11n-5e-Generation

Guide-de-configuration-AirPort-Extreme-802-11n-5e-Generation

Guide-de-l-utilisateur-Capteur-Nike-iPod

Guide-de-l-utilisateur-iMac-21-5-pouces-et-27-pouces-mi-2011-APPLE

Guide-de-l-utilisateur-Apple-Qadministrator-4

Guide-d-installation-Apple-TV-3-eme-generation

User-Guide-iPad-For-ios-5-1-Software

 I N S I D E M A C O S X System Overview February 2001Apple Computer, Inc. © 2000-2001 Apple Computer, Inc. All rights reserved. No part of this publication may be reproduced, stored in a retrieval system, or transmitted, in any form or by any means, mechanical, electronic, photocopying, recording, or otherwise, without prior written permission of Apple Computer, Inc., with the following exceptions: Any person is hereby authorized to store documentation on a single computer for personal use only and to print copies of documentation for personal use provided that the documentation contains Apple’s copyright notice. The Apple logo is a trademark of Apple Computer, Inc. Use of the “keyboard” Apple logo (Option-Shift-K) for commercial purposes without the prior written consent of Apple may constitute trademark infringement and unfair competition in violation of federal and state laws. No licenses, express or implied, are granted with respect to any of the technology described in this book. Apple retains all intellectual property rights associated with the technology described in this book. This book is intended to assist application developers to develop applications only for Apple-labeled or Apple-licensed computers Every effort has been made to ensure that the information in this document is accurate. Apple is not responsible for typographical errors. Apple Computer, Inc. 1 Infinite Loop Cupertino, CA 95014 408-996-1010 Apple, the Apple logo, AppleScript, AppleShare, AppleTalk, ColorSync,Finder, FireWire, Mac, Macintosh, QuickDraw, QuickTime, PowerBook, and TrueType are trademarks of Apple Computer, Inc., registered in the United States and other countries. AirPort, Carbon, Cocoa, iBook, iMac, Power Mac, Quartz, and Velocity Engine are trademarks of Apple Computer, Inc. Enterprise Objects, Enterprise Objects Framework, NeXT, Objective-C, and OpenStep are registered trademarks of NeXT Software, Inc., registered in the United States and other countries. Java and all Java-based trademarks are trademarks or registered trademarks of Sun Microsystems, Inc., in the United States and other countries. Netscape Navigator is a trademark of Netscape Communications Corporation. OpenGL is a registered trademark of Silicon Graphics, Inc. PostScript is a trademark of Adobe Systems Incorporated. PowerPC is a trademark of International Business Machines Corporation, used under license therefrom. Simultaneously published in the United States and Canada Even though Apple has reviewed this manual, APPLE MAKES NO WARRANTY OR REPRESENTATION, EITHER EXPRESS OR IMPLIED, WITH RESPECT TO THIS MANUAL, ITS QUALITY, ACCURACY, MERCHANTABILITY, OR FITNESS FOR A PARTICULAR PURPOSE. AS A RESULT, THIS MANUAL IS SOLD “AS IS,” AND YOU, THE PURCHASER, ARE ASSUMING THE ENTIRE RISK AS TO ITS QUALITY AND ACCURACY. IN NO EVENT WILL APPLE BE LIABLE FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES RESULTING FROM ANY DEFECT OR INACCURACY IN THIS MANUAL, even if advised of the possibility of such damages. THE WARRANTY AND REMEDIES SET FORTH ABOVE ARE EXCLUSIVE AND IN LIEU OF ALL OTHERS, ORAL OR WRITTEN, EXPRESS OR IMPLIED. No Apple dealer, agent, or employee is authorized to make any modification, extension, or addition to this warranty. Some states do not allow the exclusion or limitation of implied warranties or liability for incidental or consequential damages, so the above limitation or exclusion may not apply to you. This warranty gives you specific legal rights, and you may also have other rights which vary from state to state.3  Apple Computer, Inc. February 2001 目次 図、リスト、表目次 11 Chapter 1 本書について 15 本書の目的 15 その他の参考文献 17 インストールされているデベロッパ向けマニュアル 17 その他の出版物 18 BSDに関する情報 19 Webから入手できるその他の情報 19 Chapter 2 システムテクノロジー 21 ユーザ操作性 22 Aqua 23 Finder 24 アプリケーションのサポート 26 マルチユーザ 27 国際化 28 アプリケーションの拡張性 29 エクスポートされたアプリケーションサービス 30 ユーザ操作性を支えるそのほかの部分 30 Darwin 31 Mach 31 BSD 33 デバイスドライバのサポート 33 ネットワーキング機能拡張 33 ファイルシステム 34 Darwinとオープンソース開発 36 グラフィックスとイメージング 37 Quartz 37 QuickDraw 394  Apple Computer, Inc. February 2001 目 次 OpenGL 39 QuickTime 40 印刷 41 ATS(Apple Type Solution) 42 ネットワーキングとインターネット 42 メディアタイプ 43 標準プロトコル 44 レガシーネットワークサービスおよびレガシープロトコル 45 ルーティングとマルチホーミング 45 パーソナルファイルおよびWebサービス 46 先進的なハードウェア機能 46 USB 46 FireWire 47 Velocity Engine 47 AirMac 48 Chapter 3 システムアーキテクチャ 49 レイヤの視点から 50 アプリケーション環境 55 Carbon 56 Cocoa 58 Java 60 グラフィックスおよびウインドウ表示環境 62 Core Graphics Services 64 Core Graphics Rendering 65 印刷システム 67 印刷システムのユーザインタフェース 68 印刷アーキテクチャの概要 69 プリンタの発見 71 印刷プロセス 71 その他のアプリケーションサービス 72 Process Manager 72 Carbon Event Manager 73 アップルイベント 73 クリップボード 74 コアサービス 74目 次 5  Apple Computer, Inc. February 2001 Carbonマネージャ 75 Core Foundation 77 Open Transport 79 ユーザイベントの追跡 80 Chapter 4 起動とログイン 83 起動処理 83 BootROM 84 BootX 84 カーネルの初期化 85 システムの初期化 85 rc.bootおよびrcスクリプト 86 起動項目 86 ログイン手順 89 ユーザを認証する 90 ユーザ環境をセットアップする 90 FinderとDockを起動する 91 システムデーモン 92 ログアウトおよびシステム終了 95 カスタマイズのテクニック 97 起動動作のカスタマイズ 97 ログイン手順のカスタマイズ 99 Chapter 5 バンドル 103 バンドルを使用する利点 104 バンドルの解剖 105 Finderとバンドル 110 バンドルのタイプ 111 アプリケーションのメインバンドル 112 フレームワークバンドル 113 ロード可能バンドルとダイナミックリンク 113 ローカライズされたリソース 114 ローカライズされた文字セット 115 検索アルゴリズム 115 バンドルとResource Manager 1186  Apple Computer, Inc. February 2001 目 次 Chapter 6 アプリケーションのパッケージング 119 バンドルとしてのアプリケーション 120 アプリケーションのフレームワーク、ライブラリ、およびヘルパー 121 プライベートフレームワーク 122 共有フレームワークと中央ディレクトリ 123 その他の共有アプリケーションコード 124 アプリケーションとロード可能バンドル 125 アプリケーションに含まれるユーザリソース 127 アプリケーションのヘルプ 127 アプリケーションの環境設定 128 書類のリソース 129 Chapter 7 フレームワーク 131 ライブラリパッケージとしてのフレームワーク 132 フレームワークの内部構造 133 フレームワークの標準位置 135 ダイナミック共有ライブラリ 136 フレームワークのバージョン 139 メジャーバージョン 139 マイナーバージョン 141 バージョンの要約とガイドライン 142 Chapter 8 アンブレラフレームワーク 145 フレームワークの種類 146 アンブレラフレームワークの目的 147 リンクとインクルードのガイドライン 149 アンブレラフレームワークの構造 151 サブフレームワークリンクの制限 153目 次 7  Apple Computer, Inc. February 2001 Chapter 9 ファイルシステム 155 ファイルシステムの構成 155 ファイルシステムの各ドメイン 157 システムドメインとローカルドメイン 158 Classic環境のディレクトリ 160 ユーザドメイン 161 ネットワークドメイン 165 Libraryディレクトリ 166 Developerディレクトリ 168 ファイルシステムドメイン内での検索 170 HFS+とUFSの相違点 171 エイリアスとシンボリックリンク 172 リソースフォーク 173 ファイルエンコーディングとフォント 176 Chapter 10 Finder 179 Finderの役割 179 Finderとアプリケーションのインタフェース 181 情報プロパティリスト 181 Finderによって格納される情報 182 アプリケーション情報の収集 182 Desktop Folder 183 Finder属性 183 アプリケーションと書類の取り扱い 184 Finderとファイル操作 186 コピーおよび移動操作 186 エイリアスとシンボリックリンクの管理 1878  Apple Computer, Inc. February 2001 目 次 Chapter 11 ソフトウェアの設定 189 プロパティリスト 189 情報プロパティリスト 190 書類の設定 192 情報プロパティリストの例 192 標準キー 195 Finderキー 197 アプリケーションパッケージキー 199 起動サービスキー 201 環境設定 202 環境設定値の格納方法 203 環境設定ドメイン 204 defaultsユーティリティ 205 Chapter 12 国際化 207 アプリケーションを国際化する 208 言語環境設定とバンドルリソース 209 言語およびロケールの指定 211 国際化とローカリゼーションに使用するツール 213 ユーザインタフェースをローカライズする 215 文字列をローカライズする 216 stringsファイルを作成する 216 stringsファイルを生成する 219 マルチスクリプトサポートを追加する 220 Chapter 13 インストールと統合 223 ソフトウェアをMac OS X用に準備する 224 アプリケーションと書類に関するFAQ 224 アプリケーションにはどのようなメタデータを指定する必要がありますか? 224 CFM実行可能ファイルをバンドルにパッケージングする必要がありますか? 225 アプリケーションリソースはどのように格納したらよいでしょうか? 225 Mac OS Xではどのようにして書類のタイプを指定するのですか? 227 自作のプラグインを書類として扱うことは可能ですか? 228 Finderは書類をどのように取り扱うのですか? 228目 次 9  Apple Computer, Inc. February 2001 なぜ、いまさら拡張子が必要なのですか? 229 アプリケーションでは書類をどのように保存したらよいでしょうか? 229 CFM実行可能ファイル 230 ユーザインタフェースの問題点 233 アイコン 233 カスタムコントロールとシステムアピアランス 234 Carbon Nibファイル 234 オーナーシップとアクセス権 235 BSDアクセス権の概要 235 Mac OS Xでのファイルのアクセス権 238 アプリケーションや書類のアクセス権 239 Classic環境とアプリケーション 240 Classic環境の概要 240 ネイティブのMac OS 9との互換性 241 デバイスのサポート 242 Mac OS Xとの統合 243 ユーザインタフェース 243 Classic環境とファイルシステム 244 機能拡張と環境設定 245 Finderとデスクトップ 245 ネットワーキングと印刷 246 その他のClassic統合に関する問題点 247 アプリケーションをインストールする 247 インストール位置 247 手動インストール 248 インストーラ 249 インストールパッケージ 251 インストールパッケージを作成する 252 システム全体のリソース 25510  Apple Computer, Inc. February 2001 目 次 Chapter 14 マルチ環境の問題点とオプション 257 タスクとプロセス 257 スレッディングパッケージ 258 レイヤの詳細 260 使用方法のガイドライン 260 プロセス間通信 261 アップルイベントによる通信 262 単純な通知のブロードキャスト 263 CFMessagePortによる生データの転送 263 BSDソケットによる通信 264 BSDのパイプによる通信 264 BSDシグナルによる例外処理 265 共有メモリによる大規模リソースの共有 265 他のアプリケーションへのサービスの提供 266 分散オブジェクトによる他のプロセスの呼び出し 266 Machポートオブジェクトを使用したメッセージング 266 Library Managerと実行可能フォーマット 267 ランタイム環境の比較 268 CFMとdyld 268 PEFとMach-O 268 コード生成モデル 269 ベクタライブラリ 269 CFM実行可能ファイルと非Carbon API 270 CFMまたはdyldの使用 271 用語集 273 索引 28711  Apple Computer, Inc. February 2001 図、リスト、表目次 Chapter 2 システムテクノロジー 21 図2-1 Mac OS Xの機能の概要 22 図2-2 Aquaユーザインタフェース 23 表2-1 サポートされているローカルボリュームフォーマット 35 表2-2 サポートされているネットワークファイルプロトコル 36 表2-3 Quartzのグラフィックス―機能と仕様 37 表2-4 Mac OS X印刷システムの機能 41 表2-5 ネットワークメディアタイプ 43 表2-6 ネットワークプロトコル 44 Chapter 3 システムアーキテクチャ 49 図3-1 複数のレイヤから構成されるシステムソフトウェアとしてのMac OS X 51 図3-2 Java環境のアーキテクチャ 61 図3-3 Quartzと、グラフィックスおよびウインドウ表示環境 63 図3-4 Core Graphicsフレームワーク 64 図3-5 Core Graphics Renderingの入出力 66 図3-6 Mac OS Xの印刷システム 69 図3-7 Mac OS Xでのイベントの処理 81 表3-1 新しいCarbon版マネージャ 57 表3-2 コアサービスレイヤにあるCarbonマネージャ 75 表3-3 Core Foundationのサービス 78 Chapter 4 起動とログイン 83 図4-1 Process Viewerで表示されるプロセス 92 図4-2 「ログイン」システム環境設定の「ログインウインドウ」ペイン 100 表4-1 システムの起動項目 87 表4-2 一般的なシステムデーモンとサーバ 93 表4-3 StartupParameters.plistのキーと値のペア 98 表4-4 loginwindowパラメータ 10112  Apple Computer, Inc. February 2001 図 、 リ ス ト 、 表 目 次 Chapter 5 バンドル 103 図5-1 Finderのバンドルビット 111 図5-2 バンドルに含まれるリソースの検出 116 リスト5-1 最小のバンドル 106 リスト5-2 複雑なアプリケーションのバンドルレイアウト 108 Chapter 6 アプリケーションのパッケージング 119 リスト6-1 アプリケーションのプライベートフレームワークの位置 123 リスト6-2 アプリケーションの共有フレームワークの位置 124 リスト6-3 アプリケーションの共有コード(フレームワークでない)の位置 125 Chapter 7 フレームワーク 131 図7-1 フレームワークのディレクトリ構造 134 図7-2 ダイナミック共有ライブラリモジュールの「レイジーリンク」 138 表7-1 フレームワークバージョンの要約 143 Chapter 8 アンブレラフレームワーク 145 図8-1 アンブレラフレームワークとそのサブフレームワークの関係 148 リスト8-1 アンブレラフレームワークの構造 152図 、 リ ス ト 、 表 目 次 13  Apple Computer, Inc. February 2001 Chapter 9 ファイルシステム 155 図9-1 シンボリックリンクの脆弱性 172 図9-2 データフォーク中のリソース 175 リスト9-1 Mac OS Xファイルシステムの最上位レベル 156 リスト9-2 システムドメインとローカルドメインのディレクトリレイアウト 158 リスト9-3 単一パーティションへのインストール後のディレクトリレイアウト 161 リスト9-4 コンピュータのローカルユーザドメインのディレクトリレイアウト 162 リスト9-5 ローカルエリアネットワーク上のユーザホームディレクトリのディレクトリレイ アウト 164 リスト9-6 ネットワークドメインのディレクトリレイアウト 165 リスト9-7 Libraryディレクトリに表示される可能性のあるサブディレクトリ 166 リスト9-8 Developerディレクトリの内容 168 表9-1 システムドメインとローカルドメインのディレクトリ 159 表9-2 ティルデを使用したホームディレクトリ位置の指定 162 表9-3 ファイルシステムの各ドメインのProject Builderのmakefile変数 169 Chapter 11 ソフトウェアの設定 189 リスト11-1 SketchデモアプリケーションのInfo.plistファイル 193 リスト11-2 SketchデモアプリケーションのInfoPlist.stringsファイル 195 表11-1 Finderアプリケーションパッケージキー 200 表11-2 APFiles辞書のキー 200 表11-3 起動サービスキー 201 表11-4 環境設定ドメインの検索順序 204 Chapter 12 国際化 207 図12-1 システム環境設定の「地域情報」モジュールの「言語」ペイン 210 図12-2 Project BuilderのFile Reference Inspector 21414  Apple Computer, Inc. February 2001 図 、 リ ス ト 、 表 目 次 Chapter 13 インストールと統合 223 図13-1 Mac OS Xでサポートされているアプリケーションのタイプ 231 図13-2 Installerアプリケーション 250 図13-3 Package Makerのユーザインタフェース 254 Chapter 14 マルチ環境の問題点とオプション 257 図14-1 Mac OS Xのスレッディングパッケージ 259 図14-2 CarbonアプリケーションによるBSDシステムルーチンの呼び出し 270本書の目的 15  Apple Computer, Inc. February 2001 C H A P T E R 1 1 本書について Mac OS Xは、アップルコンピュータ社の最新のオペレーティングシステムであると同時に、何年 にもわたって経験したことのない衝撃をコンピュータシーンにもたらす革命的なオペレーティン グシステムです。Mac OS Xは、単にオペレーティングシステムの分野でのアップル社のリーダー シップを示すだけでなく、洗練された技術と巧みな設計においてもアップル社が業界をリードする 立場に戻ってきたことを示すものです。これまで定評のあったMac OSの使いやすさと雰囲気はそ のままに、Mac OS Xはこの上なく強力なモダンオペレーティングシステムとして、信頼性、安定 性、スケーラビリティ、そして驚異的なパフォーマンスを実現します。Mac OS Xは次世代の新た なイノベーションのための基盤です。 本書では、ソフトウェアデベロッパにMac OS Xの概要を示し、このオペレーティングシステムの 機能とアーキテクチャについて説明します。また、このプラットフォームに対応したソフトウェア を開発するデベロッパにとって興味深い、Mac OS Xの基本概念や取り決めについても説明します。 本書の目的 本書『Inside Mac OS X: System Overview』は、Mac OS X対応のソフトウェアを開発するすべての デベロッパ向けに書かれていますが、開発および運用のプラットフォームとしてのMac OS Xにつ いて知りたいとお考えの方にも貴重な情報源となります。読者のこれまでのソフトウェア開発経験 がMac OS、UNIX、Windows、あるいはその他のプラットフォームのいずれを対象にしていたかに 関係なく、本書は誰にとっても価値のある内容を含んでいます。 本書では、機能とアーキテクチャの両面からMac OS Xオペレーティングシステムについて説明 します。また、Carbon、Cocoa、Javaの、3つの主要な開発環境に共通する基本概念、サービス、 および取り決めについても説明します。本書は、特定のプログラミングインタフェースやアプリ ケーション環境に固有な詳細情報をできるだけさけ、「APIに立ちいらない」ようにします。16 本書の目的  Apple Computer, Inc. February 2001 C H A P T E R 1 本書について 本書は次の章から構成されています。 ■ システムテクノロジー:ユーザ操作性について説明し、さらに、Darwin と呼ばれるコアオペ レーティングシステム、グラフィックスおよびウインドウ表示システム、サポートされている ネットワーキングサービスとプロトコルなど、このオペレーティングシステムの機能の概要を 示します。 ■ システムアーキテクチャ:システムソフトウェアのさまざまなレイヤについて説明するほか、 Mac OS Xの設計に関する高度な解説を行います。また、イベントの取り扱いやプログラミング の一般的な問題にも言及します。 ■ 起動とログイン:Mac OS Xシステムが起動してユーザがシステムにログインするときに起こ る一連の動作について説明します。起動およびログインの手順をカスタマイズする方法も説 明します。 ■ バンドル:Mac OS Xのソフトウェアの基本パッケージングモデルであるバンドルについて説 明します。 ■ アプリケーションのパッケージング:アプリケーションバンドルの詳細と、バンドルによりさ まざまなリソースがどのようにパッケージされるかについて説明します。 ■ フレームワーク:バンドルのもう1つのタイプであるフレームワークについて説明します。 フレームワークは、ダイナミック共有ライブラリとそれらがサポートするリソースをパッ ケージングするために使用されます。 ■ アンブレラフレームワーク:アップル社から提供されるフレームワークをパッケージングす るための主要なモデルであるアンブレラフレームワークについて説明します。 ■ ファイルシステム:標準的なディレクトリ配置、リソースフォーク、主要な各ボリュームフォー マットの違いといった、ファイルシステムに関連するトピックを説明します。 ■ Finder:Finderとアプリケーションの間のインタフェースについて解説し、さらに、書類に対 するアプリケーションのオーナーシップの決定や、フォーマットが異なるボリューム間での ファイルのコピーなど、さまざまなタスクをどのように処理するかについても説明します。 ■ ソフトウェアの設定:アプリケーションやその他のバンドルを設定したり、ユーザ設定を処理 したりする基本的なメカニズムについて説明します。 ■ 国際化:アプリケーションのローカライズに対処する場合に必要となる準備、およびアプリ ケーションでマルチスクリプトのテキストを表示する方法について説明します。 ■ インストールと統合:書類とアプリケーションに関する主要なガイドラインを要約し、統合 について解説します。また、インストールのオプションとテクニックに関する概要も示します。 ■ マルチ環境の問題点とオプション:Mac OS Xのマルチアプリケーション環境とレイヤアーキ テクチャから発生するプログラミング上の問題点のいくつかを解説します。C H A P T E R 1 本書について その他の参考文献 17  Apple Computer, Inc. February 2001 その他の参考文献 本書はあくまでも出発点にすぎません。本書はMac OS Xの広野を概念的に定義しているだけの、 言わば地図のようなものです。本書が簡単に触れるか示唆することしかできなかった問題を詳し く調べるには、ほかの情報源に当たる必要があります。たとえば、バンドルの作成についての情 報を得るには、アップル社のデベロッパ向けツールのマニュアルを参照する必要があります。 このセクションでは、ソフトウェアデベロッパ向けにMac OS X情報の参照先を挙げています。 ただし、ここに挙げたものだけがすべてではありません。このリストは今後もアップル社によっ て拡充されていく予定です。 インストールされているデベロッパ向けマニュアル Mac OS XのDeveloperパッケージをインストールすると、デベロッパ向けのマニュアルが4つの 場所にインストールされます。 ■ フレームワーク:フレームワークに密接に関連する情報は、通常、フレームワークのローカラ イズされたサブディレクトリ内にインストールされます。このようにパッケージングされてい るため、フレームワークを別の場所に移動またはコピーすると、フレームワークとともにマ ニュアルも移動します。また、マニュアルのローカライズバージョンを作成する作業も容易に なります(ただし、現在サポートされているローカライズバージョンは英語版のみです)。 ■ 開発用アプリケーション:Project BuilderやInterface Builderなどのアプリケーションに関する ヘルプ情報は、それぞれのアプリケーションとともにインストールされます。「ヘルプ」メ ニューからヘルプ情報を選択すると、ヘルプビューアが自動的に起動して、ヘルプ情報が表示 されます。 ■ サンプルコード:Carbon、Cocoa、およびJavaといったMac OS Xの主要なアプリケーショ ン環境でよく使われるタスクを実行する方法を示すため、さまざまなサンプルプログラムが /Developer/Examplesディレクトリにインストールされています。 ■ フレームワークまたは開発アプリケーションに固有でない情報はすべて/Developer/ Documentationディレクトリにインストールされます。また、ここにはフレームワークのマ ニュアルへのシンボリックリンクも作成されます。18 その他の参考文献  Apple Computer, Inc. February 2001 C H A P T E R 1 本書について アップル社のデベロッパ向けマニュアルでは、ヘルプの表示とヘルプへのアクセスを提供するメカ ニズムとして、Appleヘルプ、特にヘルプビューアを使用しています。デベロッパ向けマニュアル の表示と検索を行うには、「Developer Help Center」というタイトルを持つ、ヘルプビューアの特 別なユーザインタフェースを使用します。Developer Help Centerにアクセスするには、以下の手 順に従ってください。 1. Finderの「Help」メニューから「Mac Help」を選択します。 ヘルプセンターという名の先頭のページが表示されます。このページから、ユーザマニュアル にアクセスできます。 2. ヘルプセンターの先頭(ホーム)ページにあるリンク、「Developer Center」をクリックします。 3. ヘルプセンターに戻るには、Developer Centerのホームページにある「Help Center」リンクを クリックします。 Developer Centerのホームページには、現在インストールされているブックへのリンクが一覧表 示されます。ヘルプビューアの動作は通常のブラウザに非常によく似ています。ただし、外部 URLへのリンクをクリックすると、通常使用しているWebブラウザが自動的に起動して、その URLを持つリソースがオープンします。 Developer Help Centerを使った検索の範囲は、ブックのセット内での現在の位置によって決まりま す。たとえば、「Core Foundation Reference」などの特定のブックを参照していて、「API symbol」 という用語を検索すると、まずそのブックのAppleヘルプの索引が検索対象となります。検索条件 に一致する用語またはシンボルが見つからない場合に、Developer Help Center内のすべてのブッ クが検索されます。一方、Developer Help Centerのホームページから検索を実行すると、Developer Help Centerに用意されているすべてのブックの索引が検索されます。 Developer Help Centerには、メインの開発アプリケーション、Project Builderとのリンク機能も あります。プロジェクトの索引の作成が済んでいれば、Project Builderの関数、定数、およびそ の他のAPIシンボルを検索することができます。検索結果一覧にある項目の横のブックアイコンを クリックすると、Project Builderにより、そのシンボルのAPIマニュアルがDeveloper Help Center に表示されます。また、Developer Help Centerのサンプルコードはクリップボードにコピーでき るので、後でソースコードにペーストすることができます。 その他の出版物 本書『Inside Mac OS X: System Overview』は、アップル社が出版を予定している『Inside Mac OS X』シリーズの最初の巻です。本書刊行時点で、アップル 社はパブリッシュオンデマン ドを Fatbrain.comに手配済みです。『Inside Mac OS X』シリーズ各巻は、刊行され次第、パブリッシュ オンデマンドを利用して入手できます。C H A P T E R 1 本書について その他の参考文献 19  Apple Computer, Inc. February 2001 書籍の『Inside Mac OS X』各巻を入手するには、Webブラウザを使って、www1.fatbrain.com/ documentation/appleにアクセスしてください。その後の操作は、画面の指示に従ってください。 BSDに関する情報 新しくMac OS Xに触れるデベロッパの多くは、Mac OS Xのカーネル環境の基本的な部分である BSDにも新しく接することになります。BSD(Berkeley Software Distributionの略)はUNIXの一 種です。BSDやUNIXについては、技術系の書店(または技術系のセクションがある書店)に行 けば、優れた参考書が何種類か見つかります。 WWW(World Wide Web)でBSDに関する情報を探してみるのも有効です。独自に無償版のBSDを リリースしているいくつかの組織のWebサイトには、マニュアル、FAQなどの情報があります。 ■ FreeBSDプロジェクト―http://www.FreeBSD.org ■ NetBSDプロジェクト―http://www.NetBSD.org ■ OpenBSDプロジェクト―http://www.OpenBSD.org 『Inside Mac OS X: The Kernel Environment』の参考文献表を参照してください。 Webから入手できるその他の情報 アップル社では、デベロッパがMac OS Xに関する一般情報および技術情報を参照するためのWeb サイトをいくつか公開しています。 ■ アップル製品情報(www.apple.co.jp/macosx):Mac OS Xに関する一般情報があります。 ■ Apple Developer Connection:デベロッパ向けマニュアル(developer.apple.com/ja/techpubs) の内容は、Mac OS Xと同時にインストールされるマニュアルと同じです。ただし、このサイト には常にマニュアルの最新版があります。また、Mac OS X以前の旧版のマニュアルも用意され ています。 ■ Apple Knowledge Base(kbase.info.apple.com):技術資料、チュートリアル、FAQ、テクニカ ルノート、およびその他の情報が用意されています。 ■ Apple Developer Connection―Mac OS X(developer.apple.com/ja/macosx):Mac OS Xに関す るSDK、リリースノート、製品情報、ニュースなどの情報があります。20 その他の参考文献  Apple Computer, Inc. February 2001 C H A P T E R 1 本書について21  Apple Computer, Inc. February 2001 C H A P T E R 2 2 システムテクノロジー Mac OS Xは、これまでのMacintoshオペレーティングシステムからの根本的な飛躍であると同時 に、その延長線上で自然と進化したものでもあります。Mac OS XはMacintoshの伝統である「使 いやすさ」を維持していますが、「使う楽しさ」にもこれまで以上に配慮して設計されています。 この次世代オペレーティングシステムはさまざまなテクノロジーが統合されたものです。その中 には斬新なテクノロジーが含まれると同時に、コンピュータ業界標準のテクノロジーも含まれて います。Mac OS Xは、モダンなコアオペレーティングシステムの堅牢な基盤の上に構築され、 メモリ保護やプリ エンプティブマルチタスクなどのさ まざまな利点をMacintoshコンピュー ティングにもたらします。Mac OS Xでは、半透明やドロップシャドウなどの視覚効果を使った 斬新なユーザインタフェースが実現されています。パーソナルコンピュータの世界にはかつてな かった、これらの斬新な視覚効果と鮮明なグラフィックスは、Mac OS Xのために特に開発され たグラフィックステクノロジーによって実現されています。 しかし、Mac OS Xの特徴は先進のコアと洗練された見た目だけではありません。複数のアプリ ケーション環境を持ち、ほとんどすべてのMacintoshアプリケーションをMac OS X上で実行する ことができます。また、さまざまなネットワークプロトコルとサービスをサポートしていること から、インターネットを有益に楽しく利用するための究極のプラットフォームともいえます。 さらに、複数のボリュームフォーマットをサポートし、すでに確立した規格や発展過程の規格に 準拠しているので、他のオペレーティングシステムとの間に高度な相互運用性を持ちます。 機能面から見て、Mac OS Xの最も重要なコンポーネントは次の4つです。 ■ Aqua:快適なユーザ操作性を支えるヒューマンインタフェースデザイン ■ Classic、Carbon、およびCocoaの各アプリケーション環境 ■ Quartzによって実装されているウインドウ表示システムとグラフィックスシステム (QuickTimeとOpenGLもサポート) ■ Darwin:オペレーティングシステムの先進的なコア22 ユーザ操作性  Apple Computer, Inc. February 2001 C H A P T E R 2 システムテクノロジー 図2-1に、これらのコンポーネントの大まかな依存関係を示します。この章では、これらを含む Mac OS Xのテクノロジーによって実現されるものについて説明します。 図2-1 Mac OS Xの機能の概要 ユーザ操作性 Mac OS Xのユーザ環境は、Macintoshユーザがこれまで慣れ親しんできたものに類似しています。 しかし、重要な違いや、大きな相違点もあります。Mac OS Xのユーザ環境は、ユーザインタフェー スの斬新な設計、インタフェースをローカライズするための新しいインフラストラクチャ、アプ リケーションの機能をダイナミックに追加する新しい方法、そして、他のアプリケーションのサー ビスにアクセスするための斬新かつ親しみやすいメカニズムによって特徴づけられます。 もちろん、このような新しいユーザ操作性は、オペレーティングシステムのコアを通して得られ る利点から引き出されます(「Darwin」(31ページ)を参照)。アプリケーションがクラッシュし ても安定した動作が継続します。今後は、1つのアプリケーションやタスクがプロセッシングリ ソースを独占することもなくなり、複数のアプリケーションを並行して実行できるようになり ます。 このセクションでは、Mac OS Xがもたらす操作性、およびユーザの作業を生産的で快適なもの にする機能とアプリケーションについて説明します。 Aqua アプリケーション環境� OpenGL Darwin Quartz QuickTimeC H A P T E R 2 システムテクノロジー ユーザ操作性 23  Apple Computer, Inc. February 2001 Aqua Mac OS Xの新しいグラフィカルユーザインタフェースであるAquaの設計に当たって、アップル社 はある目標を設定しました。使いやすいだけではなく、ユーザがこれまで見たことのあるどの Macintoshよりも魅力的なモダンオペレーティングシステムを作成しようというものです(図2-2参 照)。「aqua(ラテン語で水)」という名前が示しているように、Mac OS Xの透明感は水を思わせま す。Aquaの色、奥行き、明るさ、透明感、そして動作は、コンピュータに生命を与えます。ボタ ンは磨かれた青い宝石のような外観を備えており、アクティブボタンは浮き出して見えます。ウイ ンドウにはドロップシャドウにより奥行きが与えられ、最小化されると、まるでランプに吸い込ま れる魔人のようにDockアイコンに収まります。 図2-2 Aquaユーザインタフェース24 ユーザ操作性  Apple Computer, Inc. February 2001 C H A P T E R 2 システムテクノロジー Aquaの印象的な特性の1つはそのアイコンです。これまでのオペレーティングシステムでは、アイ コンのサイズには画面解像度の制約がありました。今日の画面サイズと解像度レベルの劇的な向上 に伴い、Aquaではこの制約が撤廃されました。最大で128×128ピクセルまで調整可能な、色鮮や かで写真画質に迫るアイコンを使うことができます。アイコンはこれまで以上に可読性が高いの で、書類のプレビューとして利用することも可能です。 また、画面領域の管理が改良されたことも、ユーザ操作性を向上させます。多くのオペレーティン グシステムでは、ウインドウが次々に表示されるので、ファイルシステムの階層が深いときや複数 のコントロールパネルを表示するときなど、画面全体に不要なウインドウがいくつも表示される、 という問題が生じます。Mac OS Xでは、アプリケーションの動作を単一のウインドウに集中する ことで、この問題を解決します。 Mac OS Xが書類のオープンや印刷などの一般的なアプリケーション操作をどのように取り扱う かを見れば、この新しいアプローチの特徴がよくわかります。これまで、オペレーティングシス テムが書類の印刷や保存を行うダイアログを表示する場合は、同時に開いている書類が複数ある 場合、そのダイアログがどの書類に対して処理を行うかはユーザが知っていなければなりません でした。これに対してMac OS Xで導入された新しいダイアログは書類に関連付けられているの で、関係が明確です。この新しいダイアログはウインドウタイトルの裏から滑り出すように表示 されます。半透明な表示により、あたかも書類の上に浮いているように見えます。また、これら のダイアログはモーダルではなくなったので、コンピュータを占有してユーザに即時の応答を強 要しません。このため、ダイアログを表示したまま他のタスクを続けることができます。従来は 同じアプリケーション内でさえ、実行中の操作を中断しなければなりませんでしたが、今後はそ のようなことはありません。 Aquaインタフェースは多くの点で、Macintoshのこれまでのユーザインタフェースを彷彿とさせま す。Mac OSは長年にわたり、その使いやすさによ って高い評価を得てきました。Aquaには、 Macintoshに期待される特徴と品質を備えたインタフェースが組み込まれています。システム内の ほとんどすべての機能で、「使いやすさ」は重要な特性として織り込まれています。 Aquaの視覚効果の多くは、アップル社が開発した2Dグラフィックスおよびウインドウ表示テクノ ロジー、Quartzによって実現されています。このテクノロジーの詳細については、「Quartz」(37 ページ)を参照してください。 Finder Aquaの操作性は、デスクトップと、ファイルシステム操作の主要なインタフェースであるFinderの 設計によるところが大きいといえます。Mac OS Xを使ったユーザは、この分野の2つの大きな革新、 つまりDockと、Finderによるファイルシステム構成要素の新しい表示方式に気付くでしょう。C H A P T E R 2 システムテクノロジー ユーザ操作性 25  Apple Computer, Inc. February 2001 Dockはデスクトップに不要なものが雑然と表示されるのを防ぎます。Dockとはスクリーン下部 にある領域で、ここには、フォルダ、アプリケーション、書類、記憶デバイス、最小化されたウ インドウ、QuickTimeムービー、Webサイトへのリンクなど、すぐにアクセスしたいほとんどす べてのものをコンパクトにまとめておくことができます。Dockに格納されているそれぞれの項 目はアイコンで示されます。これらのアイコンは、それが表現する項目に関する通知を行うこと があります。たとえば、メールのアイコンが、新しい未読のメッセージが届いていることをユー ザに知らせる場合です。画像を格納すると、Dockにはプレビューモードで表示されるので、 その度に画像を開かなくても内容が一目でわかります。また、動作中のアプリケーションを最小 化してDockに格納できるので、画面の下部を一目見るだけで、現在どんなアプリケーションが 動作しているかすぐにわかります。タスクを切り替えるには、使用したいアプリケーションまた は書類のアイコンをクリックするだけです。クリックしたものが新しいアクティブタスクになり ます。アイコンが何を表現しているかわからない場合は、マウスポインタをそのアイコンに重ね ると、アイコンに対応する書類、フォルダ、またはアプリケーションのタイトルが表示されます。 Dockには、置いておきたい項目をいくつでも入れられます。項目を追加するにつれ、Dockは画 面の端まで広がっていきます。Dockの長さが画面の幅いっぱいになると、追加された項目をすべ て表示できるように、Dock内のアイコンは縦横比を保持したまま縮小されます。ただし、縮小し たアイコンを読みやすくするため、Mac OS Xには拡大機能が用意されており、カーソルをアイコ ンの上に移動すると、ユーザがあらかじめ設定した大きさにアイコンが拡大表示されます。 Mac OS Xの新しいFinderは、1つのウインドウに収まる簡単なナビゲーションインタフェースで す。設定を変更できるツールバー上で、機能が一目でわかるコントロールをクリックすると、ホー ムディレクトリ、アプリケーション、書類、メール交換の相手など、コンピュータ上で最も頻繁 にアクセスする領域に即座に移動できます。Finderが表示する項目は、フォルダ、アプリケーショ ン、書類だけではありません。マウントされているネットワークボリューム、外部記憶デバイス、 CD-ROM、デジタルカメラなど、アクセスする頻度の高いその他の項目も表示されます。 それぞれのFinderウインドウには、Macintoshユーザが慣れ親しんでいるアイコン表示やリスト表 示に加えて、カラム表示と呼ばれる新しい表示モードを設定できます。このモードは階層の深い ファイルシステムを表示するときに便利です。フォルダをクリックすると、そのフォルダの内容が 右側のカラムに表示されます。また、カラム表示ではユーザのナビゲーションの履歴が保持される ので、その履歴をたどることによって、容易に元の場所に戻ることができます。 アイコン表示またはリスト表示でFinderの項目をダブルクリックしても、デフォルトではFinderは 新しいウインドウを表示しなくなりました。Finderは、単一のウインドウの中で、フォルダ表示を 切り替えていきます(ただし、以前の動作をデフォルトとして設定し直すこともできます)。ファ イルシステムを単一のウインドウでの表示に集中することで、不要なウインドウの増殖を防ぐとい う主要な設計目標の1つを達成しています。これがデフォルトの動作ですが、必要に応じて、ユー ザはいくつでもFinderウインドウを開くことができます。26 ユーザ操作性  Apple Computer, Inc. February 2001 C H A P T E R 2 システムテクノロジー アプリケーションのサポート ユーザ操作性の一部は、Mac OS Xのさまざまな構成要素間で行われる、ほぼ完全にシームレス な相互作用から生み出されます。どのオペレーティングシステムもそのように動作するべきなの ですが、この点でMac OS Xは特に優れています。Mac OS Xは、BSDからQuickTimeまで、さま ざまな歴史を持ち、またさまざまな規格や規約にもとづいた複数のテクノロジーから構成されて います。単一のMac OS Xシステムが、異なるフォーマットのボリュームのホストとなり、さま ざまなネットワークファイル共有プロトコルをサポートして、根本的に異なるAPIにもとづいた さまざまなアプリケーションを動作させることができます。このように多様で多彩なさまざまな テクノロジーを統一したことは、Mac OS Xが達成した他に類のない業績の1つです。 ユーザやデベロッパにまったく新しいオペレーティングシステムへの突然の切り替えを強いるの ではなく、Mac OS Xはそれ自体、段階的な移行のための足がかりとして設計されました。このこ とは特に、アプリケーションのライブラリとランタイムの領域に当てはまります。Mac OS Xでサ ポートされている3つのアプリケーション環境は、それぞれ特定のタイプのアプリケーションを実 行するために用意されています。 ■ Classic環境では、大部分のMac OS 9アプリケーションを実行できます。Classicは互換性を提 供する環境であるため、Darwinが提供するAquaや拡張コアアーキテクチャなど、Mac OS Xの 新機能はサポートされません。 ■ Carbon環境では、Mac OS X用にコードを最適化したすべてのMac OS 9アプリケーションを実 行することができます。コードを変換して新しいCarbon APIを使用することで、開発したア プリケーションは、メモリ保護やプリエンプティブマルチタスクなどのDarwinの機能を確実 に利用できます。 ■ Cocoa環境は、すぐれた次世代アプリケーションの開発に使用できる先進的なオブジェクト指 向プログラミング環境を提供します。 Mac OS Xでは、ほとんどのタイプのデータで、その一部をコピー(またはカット)して、別の環 境で実行されているアプリケーションにペーストすることができます。また、Finderオブジェク ト(およびそれが表現するデータ)をほとんどの環境間でドラッグできます。たとえば、Mac OS 拡張(HFS+)ボリュームに格納されているファイルをUFSボリュームにコピーするとき、必要 な変換操作はMac OS Xがすべて行います。C H A P T E R 2 システムテクノロジー ユーザ操作性 27  Apple Computer, Inc. February 2001 アプリケーションのパッケージングという新しい方法により、アプリケーションの複数の実行可 能ファイルを1つのディレクトリ内に共存させることが可能になります。ユーザからすると、この ディレクトリはダブルクリック可能な単一のファイルのように見え、実際、単一のファイルのよ うに動作します。このディレクトリには、実行可能ファイルが必要とする、画像、サウンド、ロー カライズされた文字列、プラグイン、プライベートライブラリ、共有ライブラリなどのリソース が含まれます。この方式を使用すると、Mac OS XとMac OS 9システムに同一のアプリケーション パッケージをインストールしても、ユーザはそのアプリケーションを起動して使用できます。 アプリケーションパッケージには、アプリケーションが複数のシステムで実行されるために必要 なものがすべて含まれるので、サーバ上でのアプリケーションのリモート実行、インターネット 経由でのアプリケーションの配布、簡略化されたインストールとアンインストールといった、 さまざまな先進的機能の実現がより容易になります。詳細については、「アプリケーションのパッ ケージング」(119ページ)を参照してください。 マルチユーザ Mac OS Xシステムでは、複数のユーザが1つのシステムを共有しつつ、それぞれ個人的にカスタマ イズされた環境で作業を行うことができます。それぞれのユーザは好みに応じて、デスクトップパ ターン、通常使用する言語、ブート時に自動的に起動するアプリケーション、およびそのほかさま ざまな設定を選択することができます。それぞれのユーザが自分のアカウントでログインする度 に、あらかじめ選択しておいた設定がすべて復元されます。 1人のユーザの環境は、多数のユーザ環境の1つにすぎません。別のユーザが同じコンピュータ にログインすると、自分のコンピューティング環境として定義したまったく異なる設定を使うこ とができます。Mac OS Xでは、1人のユーザのデータおよびアプリケーションと別のユーザの データおよびアプリケーションの間にセキュリティ境界が設けられます。それぞれのアカウント はパスワードで保護され、オーナーの許可がなければ、別のユーザのフォルダでは、アプリケー ションの実行や書類の編集はもちろん、書類を読むことすらできません。システムには、ユーザ のフォルダ(およびその内容)に対してデフォルトのパーミッションのセットが用意されていま す。それぞれのユーザはこの設定を変更して、他のユーザのアクセスを制限したり、幅広いアク セスを許可したりできます。28 ユーザ操作性  Apple Computer, Inc. February 2001 C H A P T E R 2 システムテクノロジー このようなシングル(ローカル)マシン/マルチユーザモデルよりもさらに強力なのは、マルチ マシン/マルチユーザモデル、つまりネットワークアカウントです。Mac OS Xは、NetInfoネッ トワーク管理システムを使って、これを実現しています。ユーザは、自宅のコンピュータ、ポー タブルコンピュータ、あるいは友人の家にあるコンピュータのMac OS XシステムがNetInfoネッ トワーク管理システムに接続されていれば、それを使って自分のアカウントでリモートサーバに ログインすることができます。ログインした後は、前回のログインに使用したマシンに関係なく、 前回ログアウトしたときとまったく同じ環境で作業を再開することができます。また、サイトが 適切に管理されていれば、そのサーバ上の情報はローカルに保持されているデータとまったく同 様に安全に保護されます。サーバ上のファイルが定期的にバックアップされていれば、データの セキュリティはさらに向上します。 Mac OS Xの環境設定システムは非常に柔軟なので、リモートアクセスに使用する環境設定とロー カルアクセスに使用する環境設定を自由に組み合わせることができます。これにより、ユーザと管 理者は、ユーザごと、マシンごと、そしてまたアプリケーションごとに環境設定のセットを指定で きるようになります。 国際化 Mac OS Xでは、ソフトウェアの国際化は容易です。しかも、複数の言語やそのバリエーションに 対応したローカリゼーションを単一のバイナリでサポートすることができます。また、ソフトウェ アデベロッパは、新しい言語やそのバリエーションに対応してローカライズされたリソースをダイ ナミックに追加できるようになります。 Mac OS Xには、世界中で使われているテキストシステムを取り扱える包括的なテクノロジーが 組み込まれています。このテキストシステムには、Unicode、インプットメソッド、および一般 的なテキスト処理サービスが用意されています。Mac OS Xでは、大部分のソフトウェアはバン ドルという形式で提供されます。アプリケーションも、バンドルの1つのタイプに過ぎません (「アプリケーションのサポート」(26ページ)を参照)。バンドルは、ファイルシステム内にあ る不透明なディレクトリで、1つまたは複数の実行可能ファイルと、それらとともに動作するリ ソースを含んでいます。バンドルの主要な利点の1つは、ソフトウェアをローカライズするため のインフラストラクチャを提供することです。ユーザから見ると、バンドルはダブルクリック可 能な単一のファイルオブジェクトとして表示され、フォルダからフォルダにドラッグすることが できます。C H A P T E R 2 システムテクノロジー ユーザ操作性 29  Apple Computer, Inc. February 2001 画像ファイルや文字列ファイルなどのローカライズされたリソース、およびMac OS 9形式のリソー ス(.rsrc)は、特定の言語やそのバリエーション(Canadian Frenchなど)に対応する名前を持っ たバンドルのサブディレクトリに格納することができます。適切に作成されたMac OS Xアプリ ケーション(またはプラグインや共有ライブラリ)では、それらのディレクトリにあるリソースを 直接参照しません。そのかわり、リソースが必要な時にアプリケーションは特殊なシステムルーチ ンを使い、言語環境に最適なローカリゼーションを取得します。 詳細については、「国際化」(207ページ)と「アプリケーションのパッケージング」(119ペー ジ)を参照してください。 アプリケーションの拡張性 プラグインは、デベロッパやユーザがアプリケーションにダイナミックに追加して機能を拡張す るためのコードとリソースを含んだモジュールです。Mac OS Xでは、まったく新しい一般化され たシステムアーキテクチャを使って、プラグインがサポートされています。ホストアプリケーショ ンのコードは構造化されているので、機能のうち明確に定義された部分は、外部プラグインを使っ て提供することができます。ホスト側では、プラグインの実装の詳細を意識する必要はありませ ん。起動されたアプリケーションは、プラグインアーキテクチャによって提供されるメカニズム を使って適切なプラグインを検出し、ロードすることができます。ユーザは、アプリケーション の実行中であっても、必要な場合にはいつでもプラグインを追加できます。また、アプリケーショ ンでは、ユーザがプラグインを削除するための手段も提供できます。 プラグインはユーザとデベロッパの両方に幅広い利点をもたらします。ユーザは必要に応じて、 アプリケーションの機能をカスタマイズできます。また、新しい機能やアップグレードされた機 能が(新しいプラグインまたは更新されたプラグインによってカプセル化されて)使用できるよ うになると、ユーザはそれらの機能をアプリケーションの中に文字通り「差し込む」ことができ るようになります。 アプリケーションデベロッパにとっても、プラグインはいくつかの利点を生み出します。単一の 標準的なプラグインアーキテクチャが提供されているので、デベロッパが独自のアーキテクチャ を設計して実装する必要がなくなりました。プラグインにより、機能の補強的かつ効率的な実装 が容易になるので、オリジナルコードに変更を加えることなく、アプリケーションのカスタム バージョンを作成することが可能になります。プラグインはそれぞれ独立したモジュールなの で、ソフトウェアに含まれるバグを特定して修正することも容易になります。また、サードパー ティのデベロッパがアプリケーションに付加価値を追加する際に、元のアプリケーションのデベ ロッパの協力は必ずしも必要ありません。 詳細については、Core Foundationのバンドルサービスおよびプラグインサービスに関する解説マ ニュアルやリファレンスマニュアルを参照してください。30 ユーザ操作性  Apple Computer, Inc. February 2001 C H A P T E R 2 システムテクノロジー エクスポートされたアプリケーションサービス Mac OS Xシステムで並行して実行されるアプリケーションは、それぞれ孤立している必要はあり ません。アプリケーションは他のアプリケーションにサービスを提供することができます。また 他のすべてのアプリケーションは必要な時に、いつでもそのサービスを利用することができます。 コピー&ペースト操作とドラッグ操作に加えて、Mac OS Xは、リソースと機能の共有を可能にす るため、スクリプティングと「サービス」メニューという2つのメカニズムをアプリケーション に提供します。 Mac OS 8やMac OS 9と同様に、Mac OS Xのスクリプティングでは、主要なスクリプティング言語 としてAppleScriptを採用し、またコミュニケーションモデルとしてアップルイベントを採用してい ます。AppleScriptコマンドを受信したときに適切に動作するように、アプリケーションの動作を プログラムすることができます。AppleScriptは、Classic互換環境だけでなく、すべてのアプリケー ション環境でサポートされます。したがって、ユーザは、異なる環境で実行される複数のアプリ ケーションのサービスを相互にリンクするスクリプトを書くことができます。 「サービス」メニューは、アプリケーションが自分の機能を他のアプリケーションに提供するもう 1つの手段を提供します。「クライアント」アプリケーションは提供されるものをあらかじめ知っ ている必要はありません。「サービス」メニューのしくみは単純です。ユーザは、アプリケーショ ン内でテキスト文字列、画像、またはフォルダやファイルを表すアイコンなどのデータを選択し ます。その後で、アプリケーション内で「サービス」メニューの一覧から適切なコマンドを選択 すると、選択したものを対象にコマンドが実行され、第2のアプリケーションが呼び出されます。 「サービス」機能はしばしば、一方のアプリケーションからコピーしたデータをもう一方のアプリ ケーションにペーストし、そこで編集を加えた後、再度コピーして元のアプリケーションに書き 戻すかのような動作をします。たとえば、ユーザがFinder内でフォルダを選択し、フォルダを圧 縮してアーカイブ形式で保存するサービスオプションを選択することが考えられます。この操作 の結果は、元のフォルダと同じ場所に書き戻すことができます。しかし、もちろん一方通行の動 作もあります。たとえば、ワードプロセッサ書類の中で名前を選択してサービスコマンドを選択 することにより、LDAPサーバを使ってその名前を検索し、電子メールアプリケーションを起動し て、検出した電子メールアドレスを宛先行に含んだ新規メールのウインドウを開くなどの場合が 考えられます。 ユーザ操作性を支えるそのほかの部分 Mac OSの以前のバージョンと同様、Mac OS Xの快適な操作性は、CD-ROMの入っている箱を開け るところから始まります。インストールは簡単です。セットアップアシスタントにより、ユーザは 短時間で、システムをローカルに、またはインターネットに接続した状態で動作させることがで きます。疑問があれば、Appleヘルプを使ってその答えを見つけることができます。C H A P T E R 2 システムテクノロジー Darwin 31  Apple Computer, Inc. February 2001 Mac OS Xでは、日常的なコンピュータの使用にインターネットが統合されます。インターネッ トへのアクセスは容易で、気に入ったWebサイトの場所を保存して、後でまたアクセスできるよ うにしておくことも簡単にできます。Sherlock 2では、ローカルファイルシステムだけでなく、 インターネットまたはイントラネットも検索範囲になります(索引を作成したコンテンツによる 検索を含む)。また、Mac OS Xには、代表的なインターネット標準にもとづく、強力で、しかも 驚くほど使いやすい電子メールアプリケーションが付属しています。 Darwin Mac OS Xの魅力的で使いやすいインタフェースの下層には、安定性、信頼性、およびパフォーマ ンスに優れた、堅牢な土台があります。それが、一般に「Darwin」と呼ばれるコアオペレーティ ングシステムです。Darwinは、www.apple.com/darwinから入手できるオープンソースです。 Darwinはいくつかのテクノロジーを統合したもので、特に重要なのは、Mach3.0、4.4BSD(Berkeley Software Distribution)にもとづいたオペレーティングシステムサービス、パフォーマンスに優れ たネットワーキング機能、および統合化された複数ファイルシステムのサポートです。Darwinの 設計は高度にモジュール化されているので、デバイスドライバ、ネットワーキング機能拡張、新し いファイルシステムなどのモジュールをダイナミックに追加することができます。 Darwinの詳細については、『Inside Mac OS X: Kernel Environment』を参照してください。 Mach MachはDarwinの心臓部に位置し、オペレーティングシステムにとって最も重要な機能のいくつ かを実行します。Machが提供する機能の多くは、言わば縁の下の力持ちで、アプリケーションは 特に意識せずにその利点を利用することができます。Machは、CPU使用率やメモリなどのプロ セッサリソースを管理し、スケジューリングを処理し、確実なメモリ保護を実現します。また、 ローカルおよびリモートでタイプなしプロセス間通信を実現するためのメッセージングによるイ ンフラストラクチャを実装しています。Machは、以下のような多くの重要なメリットをMacintosh コンピューティングにもたらします。32 Darwin  Apple Computer, Inc. February 2001 C H A P T E R 2 システムテクノロジー ■ メモリ保護:オペレーティングシステムの安定性を確保するには、実行中のすべてのアプリ ケーションが互いの(またはシステムの)アドレス空間にデータを書き込まないという性善 説を信じることはできません。このような前提を取ると、情報が失われたり、情報が壊れた りする可能性があるばかりか、システムが突然クラッシュしてしまうこともあります。Mach では、アプリケーションが別のアプリケーションのメモリやオペレーティングシステムのメ モリに書き込みを行うことはありません。アプリケーション同士またはアプリケーションと システムプロセスの間を互いに壁で仕切ることで、Machは、たった1つの不正な動作をする アプリケーションがシステムのほかの部分に悪影響を及ぼすことを事実上不可能にします。 また、とりわけ、アプリケーションがクラッシュしても、システムのほかの部分に影響しな いので、コンピュータを再起動する必要がありません。 ■ プリエンプティブマルチタスキング:モダンオペレーティングシステムでは、複数のプロセス がCPUを効率的に共有します。Machはコンピュータのプロセッサを監視してタスクの優先順 位を決定し、CPUの稼働レベルを最大にして、すべてのタスクが必要なリソースを確実に取得 できるようにします。Machはいくつかの条件を使用してタスクの重要度を判断し、別のタス クに切り替えるまでにどれだけの時間を目的のタスクに割り当てるかを決定します。別のプロ セスが処理時間を明け渡してくれるのを待つ必要はなくなります。 ■ 先進的な仮想メモリ:ほかの仮想メモリシステムと同様、Machも、タスクの仮想アドレスの 物理メモリへの変換を制御するアドレスマップを維持しています。通常、どの時点でも、 タスクの仮想アドレス空間に含まれているデータまたはコードの一部だけが物理メモリ内に あります。ページが必要になると、それらは記憶域から物理メモリにロードされます。さら にMachでは、メモリオブジェクトという抽象化により機能を強化しています。名前付きのメ モリオブジェクトにより、1つのタスクがメモリの範囲を(十分にローレベルで)マップした りアンマップしたりすること、またメモリの範囲を別のタスクに送ることが可能になります。 この機能は、同一のシステム上に複数の独立した実行環境を実装する上で非常に重要です。 Mac OS Xでは、仮想メモリが常時「オン」になります。 ■ リアルタイムのサポート:タイミングが重要な要因になるメディアアプリケーションがほと んど待ち時間なしにプロセッサリソースにアクセスできることを保証します。 また、Darwinでは、協調的マルチタスキングや、プリエンプティブおよび協調的スレッディング も可能です。C H A P T E R 2 システムテクノロジー Darwin 33  Apple Computer, Inc. February 2001 BSD Machには、BSDオペレーティングシステム(現在は4.4BSD)のカスタムバージョンが統合され ています。DarwinのBSD実装は、多くのPOSIX APIを含み、それをシステムのアプリケーション レイヤにエクスポートします。BSDはMac OS Xのファイルシステムおよびネットワーキング機 能の基盤として動作します。また、次のような、いくつかのプログラミングインタフェースと サービスも提供します。 ■ プロセスモデル(プロセスID、シグナルなど) ■ ユーザIDやパーミッションなどの基本的なセキュリティポリシー ■ スレッディングのサポート(POSIXスレッド) ■ BSDソケット デバイスドライバのサポート デバイスドライバのデベロッパに対して、DarwinはI/O Kitと呼ばれるオブジェクト指向のフレー ムワークを提供します。I/O KitはMac OS Xに対応したドライバの開発を促進するだけではなく、 それらのドライバが必要とする大部分のインフラストラクチャを提供します。I/O KitはC++の制 限されたサブセットで書かれています。一定の範囲のデバイスファミリをサポートするために設 計されたこのフレームワークは、モジュラー化されていると同時に拡張可能です。 I/O Kitを使って開発したデバイスドライバは、いくつかの重要な機能を容易に獲得します。 ■ 真のプラグ&プレイ ■ ダイナミックなデバイス管理(「ホットプラグ」) ■ 電力管理(デスクトップとポータブルの両方で) アップル社が開発したデバイスドライバの解説については、「先進的なハードウェア機能」(46 ページ)を参照してください。 ネットワーキング機能拡張 Darwinでは、カーネルデベロッパは、NKE(Network Kernel Extensions)と呼ばれる、オペレー ティングシステムにネットワーク機能を追加するための新しいテクノロジーを利用できます。NKE を使用すると、カーネルへのダイナミックなロードとカーネルからのダイナミックなアンロードが 可能なネットワーキングモジュールはもちろん、プロトコルスタックを丸ごと作成することもでき ます。また、NKEにより、プロトコルスタックの自動的な設定も可能になります。34 Darwin  Apple Computer, Inc. February 2001 C H A P T E R 2 システムテクノロジー NKEモジュールは、ネットワークトラフィックを監視して修正するための組み込み機能を持って います。OSI参照モデルのデータリンクレイヤとネットワークレイヤでは、これらのモジュール はネットワークインタフェースのステータスが変更されたときなどに発生する非同期イベントの 通知をデバイスドライバから受け取ることもできます。 NKEを使ったネットワーキング機能拡張の開発については、『Inside Mac OS X: Network Kernel Extensions』を参照してください。また、Darwinにネイティブで実装されているネットワーキング サービスとプロトコルの詳細については、「ネットワーキングとインターネット」(42ページ)を 参照してください。 ファイルシステム DarwinのファイルシステムコンポーネントはBSDへの拡張であり、拡張VFS(Virtual File System) 設計にもとづいています。VFSにより、複数のファイルシステムをスタックできる複数のレイヤ から構成されるアーキテクチャの構築が可能になります。ファイルシステムコンポーネントによ り、いくつかの新しい機能がもたらされます。 ■ リムーバブルメディアに対するパーミッション:この機能は、接続されている各リムーバブ ルデバイ ス(USBやFireWireデバイスを含 む)についてシス テムに登録され ているGUID (Globally Unique ID)にもとづいています。 ■ URLベースのボリュームマウント:AppleShareサーバやWebサーバなどを(Finderコマンドを 通して)マウントできるようにします。 ■ 統一バッファキャッシュ:バッファキャッシュは仮想メモリキャッシュに統合されました。 ■ ロングファイルネーム(255文字または755バイトでUTF-8にもとづく)。C H A P T E R 2 システムテクノロジー Darwin 35  Apple Computer, Inc. February 2001 複数のアプリケーション環境とさまざまなタイプのデバイスがサポートされているので、Mac OS Xでは、多数の標準ボリュームフォーマット上でファイルのデータを処理する必要がありま す。表2-1に、サポートされているフォーマットの一覧を示します。 HFSおよびHFS+ボリュームではエイリアスがサポートされ、UFSボリュームではシンボリック リンクがサポートされています(HFSおよびHFS+ボリュームではハードリンクをサポート)。 エイリアスとシンボリックリンクはともにファイルシステム内にあるファイルまたはディレク トリの簡易参照ですが、これらの意味はまったく異なります。両者の違いについては、「ファイ ルシステム」(155ページ)を参照してください。 表2-1 サポートされているローカルボリュームフォーマット Mac OS拡張 フォーマット HFS+(Hierarchical File System Plus)とも呼ばれます。これは、Mac OS Xの デフォルトのルートおよびブーティングフォーマットです。これはHFSの拡張 バージョンで、1つのファイルの最小サイズを小さくすることで、大容量ハー ドディスクの記憶容量を最適化します。またこれは、大部分のMac OS 8システ ムとMac OS 9システムの標準ボリュームフォーマットでもあります。 Mac OS標準 フォーマット HFS(Hierarchical File System)とも呼ばれます。これは、Mac OS 8.1よりも前の Mac OSシステムの標準フォーマットです。HFS(HFS+も同様)は、リソースと データをそれぞれ独立したファイルの「フォーク」に格納し、タイプやクリエー タコードなどのさまざまなファイル属性を使用します。 UFS 4.4BSD FFS(Fast File System)にもとづいた「フラット」な(つまりシングル フォークの)ディスクボリュームフォーマット。大部分のUNIXオペレーティン グシステムの標準ボリュームフォーマットと同様に、多くのサーバアプリケー ションが必要とするPOSIXファイルシステムセマンティックスをサポートし ます。 UDF DVDボリュームの汎用ディスクフォーマット。 ISO 9660 CD-ROMボリュームの標準フォーマット。36 Darwin  Apple Computer, Inc. February 2001 C H A P T E R 2 システムテクノロジー Mac OS Xでは、複数の異種システムを相互にリンクするネットワークで使用されることを想定し ているので、複数のネットワークファイルサーバプロトコルがサポートされています。表2-2に、 これらのプロトコルの一覧を示します。 いくつかのファイルシステム機能は、Mac OS X上のすべての書き込み可能ボリュームフォーマッ トで使用できます。 Darwinとオープンソース開発 アップル社は、進行中のソフトウェア戦略のキーとなる部分にオープンソース開発を初めて採用 した主要コンピュータ企業です。Open SourceテクノロジーであるDarwinはその戦略の中核を 担っています。Appleは、Darwinのほとんどすべてのコンポーネントのソースコードをデベロッ パコミュニティに公開しました。 Mac OS Xのカーネル環境はDarwinのサブセットです。このカーネル環境には、Darwinを構成する すべてのものが含まれていますが、BSDライブラリとコマンドのうちBSDコマンド環境に固有なも のは除かれます。カーネル環境の詳細については、『Inside Mac OS X: Kernel Environment』を参照 してください。 表2-2 サポートされているネットワークファイルプロトコル AFP クライアント AFP(Apple File Protocol)は、Mac OS 9システムで使用されている主要なファ イル共有プロトコルです(使用できるトランスポートはTCP/IPのみ)。 NFS クライアント Network File Systemと呼ばれる、UNIXの世界では主流になっているファイル共有 プロトコルです。C H A P T E R 2 システムテクノロジー グラフィックスとイメージング 37  Apple Computer, Inc. February 2001 グラフィックスとイメージング Mac OS Xは、現在使用できる最も強力なグラフィックステクノロジーであるQuartz、QuickTime、 およびOpenGLを組み合わせ、Macintoshのグラフィックス機能をデスクトップオペレーティング システムではかつて実現されたことのないレベルにまで引き上げます。Mac OS Xの2Dグラフィッ クスおよびイメージング機能はアップル社の新しいテクノロジー、Quartzにもとづいています。 このテクノロジーは、ウインドウサーバと基本的なローレベルサービス、および内部モデルとし てPDF(Portable Document Format)を使用するグラフィックスレンダリングライブラリを提供 します。この基盤の中には、新しい印刷アーキテクチャや、QuickDraw、QuickTimeなど、ほか のグラフィックスライブラリが統合されています。 Quartz Quartzは、鮮やかなイメージングモデル、オンザフライレンダリング、アンチエイリアシング、 およびPostScriptグラフィックスの合成を実現する強力な新グラフィックスシステムです。また、 QuartzはMac OS Xのウインドウ表示システムを実装しており、イベント処理やカーソル管理など のローレベルサービスを提供します。さらに、グラフィックスを再現するための内部モデルとし てPDFを使用するレンダリングおよび印刷の機能も用意されています。 表2-3に、Quartzのレンダリング機能およびそのほかの機能の概要を示します。 表2-3 Quartzのグラフィックス―機能と仕様 ビット深度 一般ユーザ向けの最小のビット深度は16ビットです。ただし、ゲームやそ のほかのマルチメディアアプリケーションでは、フルスクリーンモードで 8ビットカラーを使用することができます。 最小解像度 一般ユーザ向けの画面サイズの最小は1024×768ピクセルです。ただし、 ゲームやそのほかのマルチメディアアプリケーションでは、640×480およ び800×600の解像度も使用できます。 アンチエイリアシ ング すべてのグラフィックスとテキストにアンチエイリアシングが適用され ます。38 グラフィックスとイメージング  Apple Computer, Inc. February 2001 C H A P T E R 2 システムテクノロジー Quartzには、Core Graphics ServicesとCore Graphics Renderingという2つのコンポーネントが含 まれています。Core Graphics Servicesは、本質的に、システムのウインドウサーバで、すべての アプリケーション環境に対して、基本的なウインドウ表示サービスとイベントルーティングサー ビスを提供します。このサーバはパフォーマンスに優れており、レンダリングそのものを実行す るわけではなく、そのクライアントであるすべてのグラフィックスレンダリングライブラリ (Core Graphics RenderingやQuickDrawなど)に必須のサービスを提供します。Core Graphics Servicesには、デバイスに依存しない色深度とピクセル深度、リモートディスプレイ、レイヤによ る合成、および壊れたウインドウの自動修復を可能にするバッファウインドウなどの先進的な機 能があります。 QuartzのCore Graphics Renderingコンポーネントは、2次元図形用のグラフィックスレンダリン グライブラリです。このコンポーネントは、画面のレンダリング、PDFの生成、印刷プレビュー などのサービスに使用されます。Core Graphics Renderingでは、ベクタグラフィックスを表現す るための内部モデルとしてPDFを使用します。PDFを使用することには、良好なカラー管理や内 部的な圧縮、フォントに依存しないことなどの利点があります。Core Graphics Renderingでは、 柔軟であると同時に厳密な座標系(浮動小数点座標)を使っているので、ある程度デバイスへの 依存度を下げることが可能になります。 Core Graphics Renderingにより、以下のようないくつかの重要な機能が利用できます。 フレームバッファ へのアクセス グラフィックスアプリケーション(ゲームなど)がビデオフレームバッ ファへ直接アクセスすることを可能にするメカニズムが用意されてい ます。 Velocity Engine QuartzとQuickDrawは、Velocity Engineを利用して、パフォーマンスを飛 躍的に向上させます。 2Dグラフィックス アクセラレーション 現在QuickDrawで使用可能な2次元のグラフィックスアクセラレーショ ン改良版がサポートされています(現在のところ、アクセラレーション はシステムソフトウェアとClassicアプリケーションに限定されていま す。ほかのアプリケーションではDRAM内のBacking Storeに描画する必要 があります)。 ColorSyncカラー マネージメント Quartzでは、画面にデータを描画する際、ColorSyncを使ってピクセルデー タを管理します。このとき、ICCプロファイルに従うか、システムのモニ タプロファイルをカラースペースのソースとして適用します。ColorSync は、印刷の際にも呼び出されることがあります。 表2-3 Quartzのグラフィックス―機能と仕様C H A P T E R 2 システムテクノロジー グラフィックスとイメージング 39  Apple Computer, Inc. February 2001 ■ PDF自動生成とPDF形式での自動保存 ■ すべてのプリンタに適用できる一貫性のある機能セット ■ グラフィックスの自動的なオンスクリーンプレビュー ■ PDFデータのプリンタラスタデータまたはPostScriptへの変換 ■ 高品質な画面レンダリング ■ ColorSyncによるカラーマネージメント Quartzの詳細については、「システムアーキテクチャ」の章の「グラフィックスおよびウインド ウ表示環境」(62ページ)を参照してください。 QuickDraw CarbonデベロッパにとってQuickDrawは、2次元のグラフィカル図形、画像、およびテキストの構 築、処理、および表示を行うための主要なライブラリです。 QuickDrawには、コード がイ ンタフ ェー スを 通してCore Graphics Renderingラ イブ ラリに QuickDrawのイメージング命令を送信するためのしくみが用意されています。このインタフェー スにより、QuickDrawのコードがPDF生成、PostScript生成などのQuartzのグラフィックスおよ びイメージング機能を利用することができます。 OpenGL Mac OS Xには、3次元(3D)グラフィックスに対応したシステムAPIおよびライブラリとして、 アップル社により高度に最適化されたOpenGLの実装が組み込まれています。OpenGLは、ポータ ビリティの高い3Dグラフィックスアプリケーションを開発するための業界標準です。OpenGLは 今日最も広く採用されているグラフィックスAPI標準の1つです。このため、OpenGLに準拠して 書かれたコードはポータビリティが高く、一貫性の高い視覚効果が生成されます。OpenGLは、 特に、ゲーム、アニメーション、CAD/CAM、医用イメージングなど、2次元および3次元の図形 を視覚化する、機能豊富で堅牢なフレームワークを必要とするアプリケーションのために設計さ れています。Mac OS Xに採用されているOpenGLのバージョンは、常に高品質なグラフィカルイ メージを常に高度なパフォーマンスで生成します。40 グラフィックスとイメージング  Apple Computer, Inc. February 2001 C H A P T E R 2 システムテクノロジー OpenGLは、テクスチャマッピング、隠面消去処理、アルファブレンディング(透明度)、アンチ エイリアシング、ピクセル操作、変形の表示とモデリング、大気効果(霧、煙、もや)、およびそ のほかの特殊効果といった広範で強力なイメージング機能のセットを提供します。それぞれの OpenGLコマンドは描画動作を命令し、特殊効果を発生させます。また、デベロッパは効果を反 復させるため、これらのコマンドのリストを作成することができます。OpenGLは各オペレーティ ングシステムのウインドウ表示特性にはほとんど依存しませんが、OpenGLがオペレーティング システムのウインドウ表示環境で動作できるように、特殊な「グルー」ルーチンが実装されてい ます。 QuickTime Mac OS Xには最新版のQuickTimeが付属しています。QuickTimeは、ビデオ、サウンド、アニメー ション、グラフィックス、テキスト、音楽、それに360度のバーチャルリアリティの処理、拡張、 および格納を行う、強力なマルチメディアテクノロジーです。また、QuickTimeを使うと、データ ストリームがライブまたはファイルのどちらであっても、デジタルビデオのストリーミングが可能 になります。QuickTimeはクロスプラットフォームテクノロジーです。QuickTimeは、Mac OS Xだ けでなく、Mac OS 8、Mac OS 9、Windows 95、Windows 98、Windows NT、Windows 2000でも使 用できます。 QuickTimeは、PICT、BMP、GIF、JPEG、TIFF、PNGなど、あらゆる主要な画像ファイルフォー マットをサポートしています。また、AVI、AVR、DV、M-JPEG、MPEG-1、OpenDMLといった、 重要なビデオファイルフォーマットもすべてサポートしています。Webストリーミングについて は、HTTP、RTP、およびRTSPに対するサポートが用意されています。 QuickTimeのストリーミング機能で、ユーザは業界 標準のプロトコルであるRTP(Real-Time Transport Protocol)およびRTSP(Real-Time Streaming Protocol)を使って、ライブおよびビデ オオンデマンドのムービーを見ることができます。また、ストリーミングライブブロードキャス ト、あらかじめ録画されたムービー、およびその両方を混合したものも見られます。ブロード キャストは、ユニキャスト(1対1)またはマルチキャスト(1対多)のどちらでもかまいません。 QuickTimeプラグインにより、QuickTimeのデジタルビデオストリーミング 機能は、Internet Explorer、Netscape Navigator、America Onlineブラウザなど、一般に使用されているすべてのWeb ブラウザに拡張されます。プラグインでは、30を超えるメディアタイプがサポートされており、 インターネットメディアの80%以上を表示することができます。QuickTimeのWebストリーミン グ機能にはファストスタート機能も含まれます。これは、ムービーの先頭フレームをすぐに表示 し、ダウンロードの進行とともにムービーの再生を自動的に開始する機能です。さらに、ムービー の「ホットスポット」や自動的なWebページ表示といった、その他の先進的な機能も用意されて います。C H A P T E R 2 システムテクノロジー グラフィックスとイメージング 41  Apple Computer, Inc. February 2001 印刷 Mac OS Xの印刷システムはまったく新しいアーキテクチャにもとづいています。印刷サービス は、すべてのアプリケーション環境で使用可能です。印刷システムではQuartzの機能を利用して 一貫したヒューマンインタフェースを提供し、プリンタベンダの開発サイクルの短縮を可能にし ます。またこのシステムでは、アプリケーションは「仮想ページ」に描画して、これを印刷時に 物理ページにマップすることが可能になるので、描画ページと印刷ページとの関係を断ち切るこ とができます。アプリケーション側で「プリント」ダイアログのユーザインタフェースエレメン トを細かく制御することも可能です。表2-4に、その他のいくつかの機能を示します。 表2-4 Mac OS X印刷システムの機能 Print Center プリンタの検出、ジョブの送信、およびキューの管理を行う単一のイン タフェースを提供します。 ネイティブPDF PDFをネイティブのデータ型としてサポートします。必要に応じて、 アプリケーション(ただし、Classicアプリケーションを除く)はテキス トデータおよびグラフィカルデータを、デバイスに依存しないPDF形式 で簡単に保存できます。この機能は、標準の「プリント」ダイアログか ら提供されます。 PostScript印刷 PostScriptレベル1、2、および3互換のプリンタに印刷できます(Classic環 境を除く)。 ラスタプリンタ Classic以外のすべての環境でラスタプリンタに印刷できます。 印刷プレビュー Classic以外のすべての環境で印刷プレビュー機能を提供します。印刷シ ステムでは、PDF表示アプリケーションを起動することでこの機能を実 装しています。プレビューはColorSyncによるカラーマネージメントを受 けています。 印刷スプーリング 印刷ジョブのスピーディなスプーリングを可能にします。42 ネットワーキングとインターネット  Apple Computer, Inc. February 2001 C H A P T E R 2 システムテクノロジー ATS(Apple Type Solution) ATS(Apple Type Solution)は、システム全体にわたってフォントの管理、レイアウト、および レンダリングを行うエンジンです。ATSにより、ユーザはファイルシステム(あるいはネットワー ク上)のさまざまな部分に分散しているフォントから構成される単一のフォントセットを持つこ とができます。ATSでは、同一のフォントセットをすべてのクライアントで使用できます。フォ ントのレンダリングとレイアウトを一元管理することで、フォントの合成やグリフのレンダリン グといった不経済な操作の整理統合が可能になり、システムの全般的なパフォーマンスが向上し ます。ATSでは、TrueType、PostScript Type 1、PostScript OpenTypeなどの、バラエティに富ん だフォントフォーマットがサポートされています。 ネットワーキングとインターネット Mac OS Xは、相互に接続された世界でのコンピューティングに最適なプラットフォームの1つで す。Mac OS Xでは、業界標準の主要なメディアタイプ、プロトコル、およびサービスと、アップ ル社が提供する独自の革新的なサービスがサポートされています。 Mac OS XのネットワークプロトコルスタックはBSDにもとづいています。「ネットワーキング機能 拡張」(33ページ)で概説したNKE(Network Kernel Extension)によって提供される拡張可能な アーキテクチャにより、このスタックに追加可能な新規または既存のプロトコルを実装するモ ジュールの開発を容易に行うことができます。C H A P T E R 2 システムテクノロジー ネットワーキングとインターネット 43  Apple Computer, Inc. February 2001 メディアタイプ Mac OS Xでは、表2-5に示すネットワークメディアタイプがサポートされています。 表2-5 ネットワークメディアタイプ Ethernet 10/100Base-T すべての新型Macintoshに組み込まれているEthernetポートで使用されます。 Ethernet 1000Base-T ギガバイトEthernetとも呼ばれます。光ファイバケーブルおよび標準的な銅配 線を介したデータ転送に使用されます。 Jumbo Frame このEthernetフォーマットは、サーバ間のリンクに標準の1.5KBフレームでは なく、9KBフレームを使用するテクノロジーです。Jumbo Frameはネットワー クオーバーヘッドを低減し、サーバからサーバおよびサーバからアプリケー ションへのデータフローを増大させます。 シリアル モデム、DSL、およびISDN機能がサポートされています。 ワイヤレス 「AirMac」(48ページ)を参照してください。44 ネットワーキングとインターネット  Apple Computer, Inc. February 2001 C H A P T E R 2 システムテクノロジー 標準プロトコル Mac OS Xは、コンピュータ業界で標準になっているいくつかのプロトコルをサポートしています。 表2-6に、サポートしているプロトコルをまとめます。 表2-6 ネットワークプロトコル TCP/IPとUDP/IP Mac OS Xでは、ネットワーク層のIP(Internet Protocol)とともに動作するト ランスポート層プロトコルには、TCP(Transmission Control Protocol)とUDP (User Datagram Protocol)の2つを用意しています。 PPP ダイヤルアップ(モデム)アクセス用には、Mac OS XではPPP(Point-to-Point Protocol)が用意されています。PPPサポートには、TCP/IP、PAP、およびCHAP 認証の各プロトコルが含まれています。 PAP PAP(Printer Access Protocol)は、印刷ジョブのスプーリングとネットワーク プリンタへの印刷に使用されます。 HTTP HTTP(Hypertext Transport Protocol)は、Webサーバとブラウザ 間でのWeb ページの転送に使用される標準プロトコルです。 FTP FTP(File Transfer Protocol)はBSDの一部で、TCP/IPネットワーク上にあるコ ンピュータ間でのファイル移動に使用される標準的な手段です。 DNS DNS(Domain Name Services)は、ホスト名をIPアドレスにマップする標準的 なインターネットサービスです。 SLP SLP(Service Location Protocol)は、IPネットワーク上でリソース(プリンタ、 サーバ、ファックスマシンなど)を自動的に発見するために設計されたプロト コルです。 DHCPとBOOTP DHCP(Dynamic Host Configuration Protocol)とBOOTP(Bootstrap Protocol) は、特定のネットワーク内でのIPアドレス割り当てを自動化します。 LDAP LDAP(Lightweight Directory Access Protocol)は、ネットワーク内で企業、 個人、またはファイルやデバイスなどのリソースを検出できるようにするも のです。対象となるネットワークは、インターネットまたは企業内のイント ラネットのどちらでもかまいません。 NTP NTP(Network Time Protocol)はクライアントのクロックを同期させるために 使用されます。C H A P T E R 2 システムテクノロジー ネットワーキングとインターネット 45  Apple Computer, Inc. February 2001 また、いくつかのファイル共有プロトコルも実装されています。これらのプロトコルの概要につい ては、表2-2(36ページ)を参照してください。 レガシーネットワークサービスおよびレガシープロトコル Mac OS Xには、いくつかのレガシーネットワーク製品を組み込んでいます。これにより、現在こ れらの製品を使用しているMac OSユーザが、新しいオペレーティングシステムに移行しやすくな ります。 ■ AppleTalkは、Macintoshの標準ネットワークプロトコルスイートで、インターネットなどの 他のネットワークシステムと統合することができます。Mac OS Xには、従来のAppleTalk環境 およびAppleTalkソリューションとの互換性を維持するために必要な最小限のサポートが用 意されています。 ■ Open Transportは、I/Oシステムの一部として、業界標準の通信およびネットワーキングプロ トコルを実装しています。このため、デベロッパは、特定のネットワークに固有の通信方法 の詳細を考慮することなく、開発中のアプリケーションにネットワーキングサービスを組み 込むことができます。 ルーティングとマルチホーミング Mac OS Xは強力で使いやすいデスクトップオペレーティングシステムですが、強力なサーバソ リューションの基盤としても使用できます。小規模な社内ネットワークでは、ルータサービスが有 効な場合もあります。Mac OS Xには、こうした場合のためにIPルーティングサポートが用意され ています。IPルーティングを使用すると、Mac OS Xマシンをルータあるいはインターネットへの ゲートウェイとして動作させることができます。この機能の実装には、RIP(Routing Information Protocol)が使用されています。 また、Mac OS Xでは、マルチホーミングとIPエイリアシングが可能です。マルチホーミングを利 用する場合、ホストコンピュータはネットワーク上の複数のデータリンクに物理的に接続されま す。このときデータリンクは同一のネットワーク上にあっても異なるネットワーク上にあってもか まいません。IPエイリアシングにより、ネットワーク管理者は複数のIPアドレスを1つのネットワー クインタフェースに割り当てることができます。したがって、Mac OS Xを実行する1台のコン ピュータが、あたかも複数のサーバであるかのように動作して、複数のWebサイトを提供できるよ うになります。46 先進的なハードウェア機能  Apple Computer, Inc. February 2001 C H A P T E R 2 システムテクノロジー パーソナルファイルおよびWebサービス Mac OS 8およびMac OS 9にもあったパーソナルWeb共有機能を使うと、相手が使っているコン ピュータやブラウザのタイプに関係なく、イントラネット上で他のユーザと情報を共有すること が可能になります。この機能は、基本的に、ユーザが独自のイントラネットサイトをセットアッ プできるようにするものです。システムのHTTPサービスとしては、インターネット上で最もポ ピュラーなWebサーバであるApacheが統合されています。パーソナルWeb共有サーバが動作して いるホストコンピュータは、TCP/IPネットワークに接続されていなければなりません。 先進的なハードウェア機能 Mac OS Xには、標準に準拠したハードディスクと今日一般的に使用されているアドオンデバイス の大部分に対応したドライバが、工場出荷状態で付属しています。たとえば、IDEおよびSCSIディ スクドライブのサポートと、これらに対応したドライバが用意されています。また、幅広い機種 のAppleモニタもサポートされています。また、Mac OS Xには、デスクトップおよびポータブル システムの両方に対応した電力管理機能なども含まれています。 このセクションでは、Mac OS Xの先進的なハードウェア機能のいくつかについて説明します。 本書で紹介されているハードウェア関連の情報については、「メディアタイプ」(43ページ)、 「ファイルシステム」(34ページ)、および「ネットワーキング機能拡張」(33ページ)を参照し てください。また、ハードウェアサポートの詳細については、Mac OS Xに付属のインストール ガイドを参照してください。 USB USB(Universal Serial Bus)は、コンピュータと、オーディオプレーヤ、ジョイスティック、キー ボード、電話、スキャナ、プリンタなどのアドオンデバイスとの間の高速なプラグ&プレイイン タフェースです。USBでは、12メガビット/秒のデータ転送速度がサポートされています。USB の場合、コンピュータに新しいデバイスを追加するときに、アダプタカードを追加したりコン ピュータの電源をオフにしたりする必要がありません。Mac OS Xには、次のようなデバイスのク ラスに対応したUSBドライバが含まれています。 ■ 入力デバイス(HIDクラス) ■ プリンタC H A P T E R 2 システムテクノロジー 先進的なハードウェア機能 47  Apple Computer, Inc. February 2001 ■ モデムとその他の通信デバイス ■ 大容量ストレージ( Zipおよび Jazドライブや外部ハードディスクなど) ■ イメージング ■ ディスプレイ ■ オーディオ FireWire FireWireは、周辺機器用のIEEE 1394規格(高速シリアルバス)を実装したものです。FireWireを 使用すると、差し込むだけで使える1つのシリアル接続で最大63台までのデバイスを追加するこ とができます。最大で400メガビット/秒というデータ転送レートがサポートされているので、 FireWireは、デジタルカメラ、DVD、デジタルビデオテープ、デジタルビデオカメラ、ミュージッ クシンセサイザなどのデバイスに最適です。FireWireにより、ユーザはターミネータや複雑なセッ トアップ操作を必要とすることなく、複数のデバイスを簡単にチェーン接続することができます。 また、それぞれのデバイスは、コネクタを差し込むだけで、システムを再起動することなくすぐ に使用することができます。IEEE 1394はピアツーピアのインタフェースなので、2台のFireWire デバイスを、コンピュータに接続せずに直接接続することもできます。たとえば、2台のデジタ ルビデオカメラを使って、ビデオのダビングを行うことができます。 Velocity Engine Velocity Engineのサポートは、Mac OS Xのもう1つの重要な機能です。Velocity Engineは、3Dグ ラフィックイメージング、画像処理、ビデオ処理、オーディオ圧縮、ソフトウェアベースのセル テレフォニーなどの、データの並行処理を利用するアプリケーションのパフォーマンスを飛躍的 に向上させます。Quartz、QuickTime、およびQuickDrawはVelocity Engineに対応しました。 したがって、これらのAPIを使用するアプリケーションは、コードに変更を加えなくてもVelocity Engineを利用できるようになります。Mac OS X SDKにはVelocity EngineをサポートするC/C++ コンパイラが含まれているので、Velocity Engineのメリットをフルに活用する新しいアプリケー ションを作成することができます。48 先進的なハードウェア機能  Apple Computer, Inc. February 2001 C H A P T E R 2 システムテクノロジー AirMac AirMacは、アップル社のワイヤレスネットワークテクノロジーで、LAN上のコンピュータ同士や、 LANとインターネットの間での、高速で信頼性の高い通信を実現します。AirMacを使うと、たった 1つのインターネットサービスアカウントを利用して、同時に複数のユーザがネットワークに接続 し、Webサーフィン、電子メールへのアクセス、対戦ゲームのプレイ、ファイル交換などを行えま す。また、最大約45mまでの距離にあるAirMac対応の他のiBook、iMac、PowerBook、Power Mac G4との間で、ケーブルなしでファイル転送を行うことができます。 AirMacのワイヤレス通信データレートは、ベースステーション1台当たりに最大10ユーザが同時 接続する場合で、11メガビット/秒です。AirMacは世界共通のIEEE 802.11 DSSS(Direct Sequence Spread Spectrum)業界標準にもとづいているので、他の802.11対応機器と相互運用可能です。 また、AirMacは無線信号を使うので、障害物を透過して通信できます。49  Apple Computer, Inc. February 2001 C H A P T E R 3 3 システムアーキテクチャ Mac OS Xの設計段階でも最も重要な検討事項だったのは、まったく異なる歴史的背景を持ったさ まざまなテクノロジーをどのように統合し、1つに統合されたテクノロジーのセットをどのように して先進的なカーネル環境の上に配置するかという問題でした。この章では、このことを可能にし たアーキテクチャの一般的なアウトラインについて説明します。 Mac OS Xアーキテクチャの中心的特徴は、システムソフトウェアが複数のレイヤから構成されて いるということです。各レイヤは、直下のレイヤに依存しており、同時に直下のレイヤとの間にイ ンタフェースを持ちます(図3-1(51ページ)を参照)。Mac OS Xのシステムソフトウェアには、 明確に分かれた4つのレイヤがあります(依存関係順)。 ■ アプリケーション環境:Carbon、Cocoa、Java、Classic、およびBSDコマンドの、5つのアプ リケーション環境(実行環境)を内包します。デベロッパにとって最も重要なのは、これら の5つのうち最初の3つの環境です。Mac OS Xには、これらの環境に対応した開発ツールとラ ンタイムライブラリが用意されています。 詳細については、「アプリケーション環境」(55ページ)を参照してください。 ■ アプリケーションサービス:すべてのアプリケーション環境で使用できる、グラフィカル ユーザインタフェースに関係するシステムサービスが組み込まれています。必須のシステム マネージャのほかに、Quartz、QuickDraw、およびOpenGLが含まれます。 詳細については、「グラフィックスおよびウインドウ表示環境」(62ページ)と「その他のア プリケーションサービス」(72ページ)を参照してください。 ■ コアサービス:グラフィカルユーザインタフェースに影響を及ぼさないシステムサービスが 組み込まれています。Core Foundation、Open Transport、およびCarbonのコア部分が含ま れます。 詳細については、「コアサービス」(74ページ)を参照してください。50 レイヤの視点から  Apple Computer, Inc. February 2001 C H A P T E R 3 システムアーキテクチャ ■ カーネル環境:Mac OS Xの基盤となるレイヤです。このレイヤの主要なコンポーネントは MachとBSDですが、ネットワーキングプロトコルスタックとネットワーキングサービス、 ファイルシステム、およびデバイスドライバも含まれます。カーネル環境には、デバイスド ライバを開発するためのツール(I/O Kit)と、NKE(Network Kernel Extension)などのロー ド可能なカーネル機能拡張を開発するためのツールが用意されています。 詳細については、「レイヤの視点から」(50ページ)と『Inside Mac OS X: Kernel Environment』 を参照してください。 コアサービスおよびアプリケーションサービスの各レイヤと、CarbonおよびCocoaアプリケー ション環境は、アンブレラフレームワークにパッケージングされています(「アンブレラフレーム ワーク」(145ページ)を参照)。カーネル環境に含まれる多くのパブリックAPIは、/usr/include にあるヘッダを介してエクスポートされます。 この章の前半では、ここまでに概要を示したように、複数のレイヤから構成されるシステムソフ トウェアとしてMac OS Xのアーキテクチャを示します。スタティックな面から見たMac OS Xの解 説に続いて、ユーザイベントがシステムの中をどのような経路で処理されていくかという、動的 な側面について説明します。Mac OS Xの典型的なイベントは、ユーザがマウスやキーボードなど の入力デバイスを操作したときに発生します。そのデバイスに関連付けられているデバイスドラ イバは、I/O Kitを介してローレベルイベントを生成し、それをウインドウサーバのイベントキュー に格納して、そのことをウインドウサーバに通知します。ウインドウサーバは、このイベントを、 ターゲットプロセスの適切な実行ループポートに送り出します。そこでイベントはCarbon Event Managerにピックアップされ、そのアプリケーション環境に対応するイベント処理メカニズムに 転送されます。なお、イベントは、設定変更を含むネットワークパケットのように、非同期的な ものであってもかまいません。 レイヤの視点から 複雑なソフトウェアの全体像を見て取るのによく使われる方法は、ソフトウェアの各部分を複数 の「レイヤ」に分割することです。視覚的には、あるレイヤが別のレイヤの上に置かれ、最下層 には最も基礎になるレイヤが位置します。この種の図では、ソフトウェアの各レイヤ間の一般的 なインタフェースと依存関係が示されます。上位のレイヤは実際のアプリケーションコードに近 く、直下のレイヤに依存しています。中位のレイヤは、さらにその下にあるレイヤに依存してい ます。C H A P T E R 3 システムアーキテクチャ レイヤの視点から 51  Apple Computer, Inc. February 2001 Mac OS Xもこのような見方で捉えられます。図3-1に、ライブラリ、フレームワーク、およびサー ビスの各レイヤが相互に依存する形態を取っている、Mac OS Xシステムソフトウェアの一般的な 構造を示します。 図3-1 複数のレイヤから構成されるシステムソフトウェアとしてのMac OS X この図は、アーキテクチャ全体を明確にするためには役立ちますが、どうしても単純化しすぎてし まう危険があります。タイプの似た2つのアプリケーションを見ても、一方が使用するMac OS Xの サービスとサブシステム(およびその使用形態)は、もう一方のアプリケーションが使用するサー ビスおよびサブシステムとは大きく異なっていることがあります。各レベルでの依存関係とインタ フェースは、個別の要件と現実的条件に応じて、プログラムごとに異なる可能性があります。 では、このような注意事項を踏まえて、図示されている各レイヤを順に見ていきましょう。 図3-1の一番上の列に並んでいるボックスに、Mac OS Xのさまざまなアプリケーション環境(実 行環境)を示します。Mac OS Xには5つのアプリケーション環境があります。Classic環境とBSD 環境は、システムの基盤にある各レイヤとやり取りを行うという点で特徴的です。 ■ Classic「互換」環境は、ユーザがMac OS 8またはMac OS 9のアプリケーションを実行できる アプリケーション環境です。この図では、Classic環境はアプリケーションサービスの上に置 かれてはおらず、各レイヤと線で結ばれています。これは、Classic環境がMac OS Xに密に組 み込まれていることを示しています。デベロッパがMac OS X上でClassic環境用のコードをコ ンパイルすることはできません。別の言い方をすると、Mac OS Xシステムには、コンパイル 可能でCarbon対応でないMac OS 8またはMac OS 9のパブリックAPIは存在しません。Classic 環境の詳細については、「インストールと統合」の章の「Classic環境とアプリケーション」(240 ページ)を参照してください。 Carbon Cocoa BSD Java (JDK) Classic コアサービス� カーネル環境� アプリケーションサービス� QuickTime アプリケーション環境�52 レイヤの視点から  Apple Computer, Inc. February 2001 C H A P T E R 3 システムアーキテクチャ ■ BSDコマンド環境は、コマンドラインでBSDプログラムを実行するためのシェルを提供しま す。この環境では、標準的なBSDツール、ユーティリティ、およびスクリプトだけでなく、 自作やサードパーティ製のカスタムプログラムも使用することができます。図では、BSDコ マンド環境がカーネル環境レイヤに直接的に接続されています。なお、CocoaのFoundation フレームワークにもとづいたプログラムなど、非BSD環境にビルトインされているプログラ ムをコマンドラインで実行することもできます。 カーネル環境は/usr/libにあるSystemライブラリを介して、システムの上位レイヤにBSD サービスをエクスポートします(ヘッダは/usr/includeにあります)。デベロッパ用にはBSD コマンドも用意されていますが、インストールされたMac OS Xに常にBSDコマンドが含まれ ているとは限りません。BSD環境は特殊なオプション環境なので、本書ではこれ以上詳細な 説明は行いません。 Carbon、Cocoa、および Javaの3つが、Mac OS Xデベロッパの主要なアプリケーション環境です。 ■ Carbonは、Mac OS 9のAPIとライブラリをMac OS Xに適合させたものです。Carbonには、従来 のAPIの大部分(関数の70%)がそのまま引き継がれていますが、同時にMac OS X専用に開発 されたいくつかのAPIとサービスも含まれています。Carbonの詳細については、「Carbon」(56 ページ)を参照してください。 ■ Cocoaは、JavaおよびObjective-Cで書かれたアプリケーションを開発するための先進的なオブ ジェクト指向APIのコレクションです。Cocoaの詳細については、「Cocoa」(58ページ)を参 照してください。 ■ Java環境は、100% Pure Javaおよび混合APIのJavaアプリケーションやJavaアプレットを開発お よび運用するための環境です。このアプリケーション環境の概要については、「Java」(60ペー ジ)を参照してください。 Carbon、Cocoa、および Java環境を直接的に支えているのは、すべてのアプリケーション環境に サービスを提供するシステムソフトウェアの各レイヤです。これらのレイヤは上下に積み重ねら れ、上に行くほど幅が小さくなっていますが、これは、アプリケーションコードが下のレイヤに、 直接的に、つまり介在するレイヤなしにアクセスできることを示しています(ただし、アンブレラ フレームワークの外部とのリンクに関する注意事項については、「アンブレラフレームワーク」の 章の「サブフレームワークリンクの制限」(153ページ)を参照してください)。 最初のレイヤはアプリケ ーションサービスレイヤです。このレイヤには、主としてQuartzと QuickDrawによって実装されている、Mac OS Xのグラフィックスおよびウインドウ表示環境が含 まれています。この環境は、画面のレンダリング、印刷、イベント処理、およびウインドウやカー ソルのローレベル管理を担当します。また、このレイヤには、グラフィカルユーザインタフェース の実装に役立つライブラリ、フレームワーク、およびバックグラウンドサービスが含まれていま す。詳細については、「グラフィックスおよびウインドウ表示環境」(62ページ)と「その他の アプリケーションサービス」(72ページ)を参照してください。C H A P T E R 3 システムアーキテクチャ レイヤの視点から 53  Apple Computer, Inc. February 2001 QuickTimeは、アーキテクチャの立場から見ると、システムソフトウェアの複数のレイヤに及 ぶ、オペレーティングシステムの機能拡張です。QuickTimeは、グラフィックス環境とアプリ ケーション環境の両方に共通の機能を提供するインタラクティブマルチメディア環境です。 図3-1(51ページ)で、QuickTimeは、アプリケーションサービスとアプリケーション環境との 間の境界線をまたぐように示されています。QuickTimeは、動作するためにはホストアプリケー ション環境(またはブラウザ)を必要としますが、QuickTimeのマルチメディアコンポーネント は独自の洗練された機能を提供し、通常そのような機能はアプリケーション環境の中だけに見い 出されます。 アプリケーションサービスレイヤはコアサービスの上位に位置しています。コアサービスレイヤ には、直接的にはグラフィカルユーザインタフェースには属さない一般的なサービスが存在しま す。このレイヤでは、文字列、実行ループ、コレクションといったプログラムの基本的なアブス トラクションが特定の環境に依存しない形で実装されています。また、コアサービスには、プロ セス、スレッド、リソース、および仮想メモリの管理や、ファイルシステムとのやり取りに使用 するAPIが用意されています。コアサービスレイヤの詳細については、「コアサービス」(74ペー ジ)を参照してください。 カーネル環境はシステムソフトウェアの最下層で、コアサービスの直下に位置します。カーネル 環境は、以下に示すような、上位にある各レイヤに必須のオペレーティングシステム機能を提供 します。 ■ プリエンプティブマルチタスキング ■ メモリの保護およびダイナミックな割り当て機能を備えた先進的な仮想メモリ ■ 対称マルチプロセッシング ■ マルチユーザアクセス ■ VFS(Virtual File System)ベースのファイルシステム ■ デバイスドライバ ■ ネットワーキング ■ 基本スレッディングパッケージ Mac OS Xのカーネルは、ハイパフォーマンスを提供する、高度にモジュール化されたカーネルで、 デバイスドライバ、ネットワーキング機能拡張、およびファイルシステムのダイナミックローディ ングをサポートします。 カーネル環境は次に示す5つの主要コンポーネントから構成されています。54 レイヤの視点から  Apple Computer, Inc. February 2001 C H A P T E R 3 システムアーキテクチャ ■ Mach:タスク、スレッド、ポート、仮想アドレッシング、メモリ管理、およびタスク間通信 といった、基礎的なアブストラクションと実装を提供します。またMachは、オペレーティン グシステム内で、プロセッサの使用状況を管理し、スケジューリングの処理、およびメモリ保 護を実施する部分でもあります。さらにMachでは、オペレーティングシステムのその他の部 分に対して、タイミングサービス、同期プリミティブ、およびメッセージング指向のインフラ ストラクチャを提供します。 ■ BSD:Machのプリエンプティブマルチタスキング、メモリ保護、ダイナミックなメモリ割り 当て、および対称マルチプロセッシングをサポートするために、4.4BSDのバージョンが使用 されています。BSDはMac OS Xのネットワーキングシステムおよびファイルシステムの基盤 を形成します。また、プロセスの作成と管理、シグナル、システムの起動とシャットダウン、 ジェネリックなI/O操作、基本的なファイル操作、およびターミナルとその他のデバイスの処 理といった機能をサポートします。さらに、ユーザIDおよびグループIDと、それに関連して、 ファイルやその他のリソースに適用される、リソース制限やアクセスポリシーの機能を実装 します。BSDには多数のPOSIX APIが用意されています。 ■ デバイスドライバとI/O Kit:Mac OS XのデバイスドライバはI/O Kitで作成されます。I/O Kit は、オブジェクト指向のプログラミングモデル(C++の縮小版にもとづく)を提供して、 デバイスドライバの開発を効率化するフレームワークです。I/O Kitは、仮想メモリ、メモリ 保護、プリエンプティブマルチタスキングなどのオペレーティングシステムの基礎的な機能 を考慮に入れているので、自分でデバイスドライバを書くときに、コード内でこれらの機能 への対応を考慮する必要はありません。I/O Kitは、モジュール化され、再利用や拡張が可能 であるように設計されています。カーネル環境には、アップル社が開発したレディメイドの デバイスドライバが用意されています(「システムテクノロジー」(21ページ)を参照)。 ■ ネットワーキング:カーネル環境には、多数のネイティブなネットワーキングプロトコルお よび機能が実装されています。「システムテクノロジー」の章の「ネットワーキングとイン ターネット」(42ページ)を参照してください。Mac OS Xのネットワーキング機能とプロト コルスタックの一部は、NKE(Network Kernel Extension)として実装されています。これら は、ダイナミックに、つまりカーネルの再コンパイルと再リンクを必要とせずに、カーネル のネットワーキングインフラストラクチャを拡張します。C H A P T E R 3 システムアーキテクチャ アプリケーション環境 55  Apple Computer, Inc. February 2001 ■ ファイルシステム:カーネル環境では、Mac OS拡張(HFS+)、Mac OS標準(HFS)、UFS、 NFS、およびCD-ROMのISO 9660といった、多数の異なるファイルシステムとボリューム フォーマットがサポートされています。Mac OS拡張はデフォルトのファイルシステムで、 Mac OS Xは通常このファイルシステムから起動し、ルートをこのファイルシステム上に持ち ます。これは、カーネルがHFS+ボリューム上のファイルシステムを最初にマウントすると いうことです。デベロッパは、VFS(Virtual File System)インフラストラクチャを使うこと により、他のファイルシステムに対するサポートを追加したり、ファイルシステムの機能を 拡張したりする(たとえば、ファイルレベルでの圧縮機能の追加など)カーネル機能拡張を 書くことができます。VFSは、標準的な内部ファイルシステムインタフェースと、上のよう な機能拡張を構築するためのユーティリティをまとめたものです。サポートされている フォーマットの概要については、「システムテクノロジー」の章の「ファイルシステム」(34 ページ)を参照してください。 「システムテクノロジー」の章の「Darwinとオープンソース開発」(36ページ)で説明したよう に、カーネル環境は、アップル社のオープンソーステクノロジーであるDarwinのサブセットです。 Darwinは、Mac OS Xカーネル環境とBSDコマンド環境に必須のBSDコマンドおよびライブラリを 結合したものです。Mac OS Xカーネル環境と、そのDarwinとの関係については、『Inside Mac OS X: Kernel Environment』を参照してください。 Mac OS Xのカーネル環境、コアサービス、およびアプリケーションサービスレイヤは、アンブレ ラフレームワークとしてパッケージングされています。主要なMac OS Xアプリケーション環境で あるCarbonとCocoaもアンブレラフレームワークとしてパッケージングされています。このトピッ クの詳細については、「アンブレラフレームワーク」(145ページ)の章を参照してください。 アプリケーション環境 アプリケーション環境は、関連するAPIを使って開発したプログラムの実行時に必要となるフレー ムワーク、ライブラリ、およびサービス(関連するAPIを含む)から構成されます。アプリケーショ ン環境は、下位にあるすべてのシステムソフトウェアのレイヤに依存しています。 Mac OS Xには現在、Classic、BSDコマンド、Carbon、Cocoaおよび Javaという5つのアプリケー ション環境があります。このセクションでは、Carbon、Cocoa、および Javaアプリケーション環 境の概要について説明します。56 アプリケーション環境  Apple Computer, Inc. February 2001 C H A P T E R 3 システムアーキテクチャ Carbon Carbonは、以前のMac OS APIに由来するプログラミングインタフェースのセットで、Mac OS X、 特にそのカーネル環境で正常に動作するように修正が加えられています。Carbonは既存のMac OSマネージャとAPIの大部分を引き継いでいます。特に、全関数のほぼ70%、通常のアプリケー ションで使用される関数のほぼ95%がCarbonに引き継がれています。 Carbon APIは非常に大規模かつ複雑なので、うまく要点を押さえた概要を示すことすら困難で す。ここでは、Carbonと以前のMac OSとの間の注目すべき大きな違いのいくつかを見てみま しょう。 メモリ:先進的な仮想メモリやメモリ保護などのカーネル環境の機能に適合させるため、多くの API、特にMemory Managerには、ゾーン、システムメモリ、および一時メモリの使用を制限または 廃止する変更が加えられました。たとえば、Mac OS Xでは、一時メモリはアプリケーションのア ドレス空間内に割り当てられます。システムヒープにアクセスする関数はなくなりましたが、共有 メモリと永続メモリを割り当てるための新しいルーチンが追加されています。また、Mac OS Xの 仮想メモリシステムでは、アドレッシングモデルにいくつかの変更が加えられています(このト ピックの詳細については『Inside Mac OS X: Kernel Environment』を参照してください)。 ハードウェアインタフェース:ADB Manager、Device Manager、Ethernetドライバなど、ハード ウェアへのローレベルアクセスに使用するMac OS 9のマネージャは、Mac OS Xには実装されてい ません。ハードウェアデバイスへのローレベルアクセスはすべて、I/O Kitによって提供される新し いデバイスドライバアーキテクチャを経由します。 リソース:Mac OS XにはROMが存在しないので、ROM内のリソースへのアクセスに関連する関数 はCarbonではサポートされません。また、Resource Managerでは、リソースマップへのアクセス に大幅な制限が加えられました。 新しいマネージャ:アップル社では、Mac OS Xに対応した新しいCarbonバージョンのPrinting ManagerとEvent Managerを開発しました。古いPrinting Managerはサポートされなくなるので、 デベロッパはCarbonのPrinting Managerを使用する必要があります。古いEvent Managerは今後 もサポートされますが、ぜひCarbon版のイベントモデルを採用してください。新しいイベント モデルはマルチタスキングが改善されており、アイドルイベントに使う時間をなくすことによっ て応答性も向上しています。C H A P T E R 3 システムアーキテクチャ アプリケーション環境 57  Apple Computer, Inc. February 2001 後継マネージャ:今後は、さまざまなCarbonテクノロジーが以前のライブラリに代わって使用さ れます(表3-1を参照)。 デベロッパは、上に示した変更点に従う必要があります。 一般的な変更:さまざまなマネージャに含まれる多くの関数が、Carbonでは変更または削除され ました(詳細については『Carbon Specification』を参照してください)。 ■ データ構造体:システムデータの整合性を保証し、プリエンプティブスレッドを介したすべ てのシステムサービスへのアクセスをサポートするために、Carbonはデータ構造体への直 接アクセスを制限しています。デレファレンス(dereference)される可能性のある構造体 へのポインタまたはハンドルを返す関数に代わり、Carbonではフィールドデータの取得と 設定を行うアクセッサ関数を提供しています。また、Carbonには、データ構造体の作成と 破棄を行う関数も用意されています。 ■ 定義プロシージャ:CarbonのWindow Manager、Menu Manager、Control Manager、および List Managerでは、標準およびカスタムの定義プロシージャ(WDEF、MDEF、CDEF、およ び LDEF)の作成と使用が現在も許可されていますが、それらは必ずPowerPCコードとして コンパイルする必要があります。また、これらのマネージャには、定義プロシージャの作成 とパッケージングを行うための新しいルーチンが用意されています。 ■ 68Kコード:Mac OS Xでは68Kコードはサポートされません(ただし、Classic環境は除く)。 このため、Trap Manager(およびトラップテーブル)、Mixed Mode Manager、および Patch Managerは、Carbonではまったく使用できないか、またはスコープに大幅な制限が加えられ ています。同じ理由から、ほかにも多くの関数がCarbonから削除されました。 表3-1 新しいCarbon版マネージャ 以前使用されていたもの 今後使用するもの AppleTalk Manager Open Transport PPC Toolbox アップルイベント 標準ファイルパッケージ ナビゲーションサービス QuickDraw 3D OpenGL Help Manager ヘルプビューア58 アプリケーション環境  Apple Computer, Inc. February 2001 C H A P T E R 3 システムアーキテクチャ Mac OS Xの頻繁に使用される部分の多くは、Carbonマネージャか、またはCarbon APIで作成さ れたデーモン、アプリケーション、またはフレームワークです。たとえば、Mac OS Xでイベン トの処理やアプリケーションプロセスの管理を行うシステムプロセスはCarbonマネージャで、 コアサービスレイヤにあるマネージャの多くはCarbonベースです(「コアサービス」(74ページ) 参照)。また、FinderはCarbonアプリケーションです。 Carbonの詳細については、Carbon関係のドキュメントを集めたWebサイト (http://developer.apple.com/techpubs/carbon/carbon.html)にアクセスし、特に、Mac OS Xア プリケーションモデルへのコードの変換に関する情報を取り扱った『Carbon Porting Guide』と、 Carbonでサポートされているマネージャと関数の詳細を示した『Carbon Specification』を参照 してください。 Cocoa Cocoaアプリケーション環境は、Foundation(Foundation.framework)とApplication Kit (AppKit.framework)という2つのオブジェクト指向のフレームワークにもとづいています。 これらのフレームワークは、JavaおよびObjective-CのAPIを提供します(大部分のJavaクラスは、 自身に対応するObjective-C実装への「橋渡し」を行うだけです)。 FoundationとApplication Kitはいくつかの点で、それぞれコアサービスレイヤとアプリケーション サービスレイヤに似ています。Foundationフレームワークのクラスはユーザインタフェースに影 響を及ぼさないオブジェクトと機能を提供します。Foundationは直接的にCore Foundationにもと づいています。一方、Application Kitのクラスは、ウインドウやボタンなど、ユーザインタフェー スに表示される構成要素や、マウスクリックやキー入力に対する応答に関係するすべてのオブジェ クトと動作を備えています。Application KitはFoundationに直接依存しています。 Foundationフレームワークのクラスはいくつかのカテゴリーに分類されます。 ■ プログラム関係の基本的な型と操作に対するオブジェクトラッパー(または「ヘルパー」): 文字列、配列、ディクショナリ、数値、バイトスワッピング、パーシング、例外処理など ■ カーネル環境のエンティティとサービスに対するオブジェクトラッパー:タスク、ポート、 実行ループ、タイマ、スレッド、ロックなど ■ オブジェクト関連の機能:特に、メモリ管理(オートリリースプール)、リモート呼び出し、 アーカイブ、およびシリアライズ ■ ファイルシステムおよびI/O機能:URLの処理、ファイル検索、コードやローカライズされた リソースのダイナミックなロードなどC H A P T E R 3 システムアーキテクチャ アプリケーション環境 59  Apple Computer, Inc. February 2001 ■ その他のサービス:分散化された通知、アンドゥ(およびリドゥ)、データのフォーマット、 日付と時刻など 予想される通り、Application Kitのクラスの多くは、グラフィカルユーザインタフェースに表示さ れるオブジェクトの作成と管理を行うために設計されています。これらの中には、ウインドウ、 ダイアログ、ボタン、テーブル、テキストフィールド、スライダ、ポップアップメニュー、スク ロール表示、プルダウンメニュー、マウス、さらにQuickTimeストリーミングのムービー表示に 対応するクラスが存在します。 ただし、Application Kitには、ユーザインタフェースオブジェクトのクラスの単なるコレクション とは異なり、はるかに便利な機能が含まれています。 ■ イベント処理とアプリケーションおよびドキュメントの管理を行う洗練されたメカニズムが 用意されています。 ■ アプリケーションで、色、フォント、および印刷を統合して管理することができます。これら の機能に対応するダイアログも提供されます。 ■ 複数のグラフィックフォーマットの画像を合成でき、描画のためのフレームワークを提供し ます(ベクタ変形の適用を含む)。 ■ スペルチェック、ドラッグ操作、およびコピー&ペースト操作を容易にするしくみがあります。 このほかにも、スクリプティング、ネットワーク管理などの用途に使えるCocoaフレームワークが 用意されています。 Cocoaアンブレラフレームワーク(Cocoa.framework)はFoundationとApplication Kitの両方をイ ンポートします。アプリケーションを書いている場合は、Cocoaフレームワークにリンクします。 グラフィカルユーザインタフェースを持たないCocoaプログラム(バックグラウンドサーバなど) を書いている場合も、少なくともFoundationフレームワークにはリンクした方がよいでしょう。60 アプリケーション環境  Apple Computer, Inc. February 2001 C H A P T E R 3 システムアーキテクチャ Java Javaアプリケーション環境では、Javaプログラム(100% Pure Javaのアプリケーションおよびア プレットを含む)をMac OS X上で開発して実行することができます。この環境は、業界標準、 つまりJava仮想マシン(VM)を含むJDK( Java Development Kit)の最近のバージョンに準拠し て実装されています。このため、この環境で作成したJavaアプリケーションは非常に高いポータ ビリティを持ちます。まったく異なるハードウェアとオペレーティングシステムを使用している コンピュータに単純にコピーするだけで、コピー先のシステムに互換性のあるバージョンの Java VMが含まれているかぎり、アプリケーションは正常に動作するはずです。 Javaアプレットは、 どんなインターネットブラウザでも正しく機能します。 Mac OS XのJavaアプリケーション環境は3つの主要なコンポーネントから構成されています。 ■ Javaコンパイラ(javac)、デバッガ(jdb)、およびjavap、javadoc、appletviewerなどのその 他のツールを含む開発環境。 この「コマンドライン」環境には、アップル社のTerminalアプリケーションなどのBSDシェ ルが必要です。アップル社では、この環境のフロントエンドとしてProject Builderアプリケー ションを提供しています。また、サードパーティから独自のフロントエンドが提供される可 能性もあります。いくつかのコマンドラインツールがJavaVM.framework/Commandsサブ ディレクトリに収められています(このディレクトリへのシンボリックリンクは/usr/binにあ ります)。 ■ Sun社のハイパフォーマンスJava仮想マシンHotspot、JIT(Just-in-time)バイトコードコン パイラ、および基本的なJavaパッケージから構成されるランタイム環境。 Java仮想 マシンは/System/Library/Frameworks/JavaVM.framework/Librariesにあります。 基本的なパッケージには、java.lang、java.util、java.io、およびjava.netが含まれています。 これらは、同じフレームワークのClassesフォルダ内にclasses.jarアーカイブとして保存され ています。 注意:Cocoaアプリケーション環境には、Application KitおよびFoundationフレームワークに 対応するJavaパッケージが含まれています。これらのパッケージにより、Javaを開発言語に使 用してCocoaアプリケーションを開発することができます。言うまでもなく、これらのパッ ケージのAPIとネイティブのJava APIは混在させることができます(AWTまたはSwing APIは除 く)。Cocoaアプリケーション環境の詳細については、「Cocoa」(58ページ)を参照してくだ さい。また、アップル社のJDirectやSun社のJNI(Java Native Interface)プログラミングイン タフェースを使用すると、Javaプログラムから、Carbonなど、ほかのフレームワークを呼び 出せるようになります。さらに、QuickTime for Javaを使って、Mac OSとWindowsプラット フォームに対応したマルチメディアJavaアプリケーションを書くこともできます。C H A P T E R 3 システムアーキテクチャ アプリケーション環境 61  Apple Computer, Inc. February 2001 ■ Javaアプリケーションの構築に必要なクラスを含んだアプリケーションフレームワーク。 これらのパッケージの中でも特に重要なのは、一般にAWT(Abstract Windowing Toolkit) およびSwingと呼ばれているjava.awtとjavax.swingです。AWTパッケージは、標準ユーザ インタフェースコンポーネント(ボタン、テキストフィールドなど)、基本的な描画機能、 レイアウトマネージャ、およびイベント処理メカニズムを実装しています。Swingパッケー ジは、ユーザインタフェースコンポーネントの大幅に拡張されたセットを提供します。これ らのコンポーネントは、ホストプラットフォームのルック&フィールを自動的に取り込みま す。Swingには、複数のバージョンの既存のAWTコンポーネントセットに加えて、ツリー ビュー、リストボックス、タブ付きペインといった、より上位のレベルのコンポーネント セットが含まれます。AWTおよびSwingパッケージは、JavaVM.framework/Classes/ classes.jarにjarアーカイブとして格納されています。 Javaアプリケーション環境のアーキテクチャは、図3-1(51ページ)に示した簡略化された図と はまったく異なり、はるかに複雑です。そこで、図3-2に、より現実に即したJava環境の概要を 示します。 図3-2 Java環境のアーキテクチャ Java コマンド環境� Swing AWT Carbon アプリケーションサービス� 基本的なJDKパッケージ (java.lang、 java.util、 java.io、 java.net)� Java仮想マシン(VM)� カーネル環境�62 グラフィックスおよびウインドウ表示環境  Apple Computer, Inc. February 2001 C H A P T E R 3 システムアーキテクチャ Java仮想マシンと基本的なJava パッケージ(java.lang、java.util、およびjava.io)は、Carbonおよ びCocoa環境での、システムソフトウェアのコアサービスレイヤに相当します。これらは、カーネ ル環境のリソースを利用して、プロセス管理、スレッディング、および入出力などのローレベル サービスを実装しています。これらは、システムソフトウェアのコアサービスレイヤに含まれるコ ンポーネント(Open Transport、Core Foundationなど)にアクセスする必要はありません。 Mac OS X上のJavaのその他の部分はVMと基本的パッケージより上位のレイヤとして存在します。 Javaプログラムがユーザインタフェース(ツールやアプリケーションサーバなど)を持たない場合 も、プログラムの実行に必要なのはこの基盤だけです。しかし、100% Pure Javaのアプリケーショ ンまたはアプレット(定義から明らかなように、グラフィカルユーザインタフェースを持つ)で は、AWTまたはSwingを使用する必要があります。これらのパッケージは、両方ともシステムソフ トウェアのアプリケーションサービスレイヤに含まれる多くのフレームワークとライブラリをバ インドします。Swingそのものは、AWTパッケージのプリミティブな部分の上に存在します。AWT とSwingはともに、アーキテクチャ上、Carbonのヒューマンインタフェースツールボックスや Application KitのようなGUI指向のツールボックスまたはフレームワークに相当します。 Javaアプリケーションは、CarbonアプリケーションやCocoaアプリケーションと同様、ダブルク リック可能なバンドルとなることができます( Javaアプリケーションをバンドルするには MRJAppBuilderを使います)。また、コマンドラインから実行する必要のある実行可能ファイル や、システムのexecコールやJavaのRuntime.execメソッドから実行される実行可能ファイルに することもできます。後者の場合、実行可能ファイルを起動するのに使うJavaツール( java、 アプレットの場合はappletviewer)が、プロセス名として(Process Viewerなどの中で)表示さ れます。 グラフィックスおよびウインドウ表示環境 Mac OS Xの卓越したアプリケーションサービスは、グラフィックスおよびウインドウ表示環境の 作成も行います。アプリケーションは、その性質上、ウインドウをグラフィカルユーザインタフェー スに表示して、ユーザによるアプリケーションの操作を可能にする必要があります。グラフィック スおよびウインドウ表示環境が、これらの基本的な機能をいわば「無償」でアプリケーションに与 えるので、アプリケーション側でこれらの基本的な機能を実装する負担がなくなりました。画面上 のウインドウにテキストや画像をレンダリングする(およびそれらを印刷する)ほか、この環境 は、発生したイベントのルーティングやカーソル管理などの、アプリケーションに必須なローレベ ル機能を提供します。C H A P T E R 3 システムアーキテクチャ グラフィックスおよびウインドウ表示環境 63  Apple Computer, Inc. February 2001 Mac OS Xのグラフィックスおよびウインドウ表示環境の中核部分はQuartzと呼ばれます。図3-3に 示されているように、Quartzには、Core Graphics ServicesとCore Graphics Renderingの2つの部 分があります。 図3-3 Quartzと、グラフィックスおよびウインドウ表示環境 QuartzのCore Graphics Rendering部分は、グラフィックスレンダリングサービスを提供するグラ フィックスライブラリの1つで、2次元のテキストおよびグラフィックスを表示するために設計さ れています。同等のグラフィックスおよびマルチメディアライブラリには次のものがあります。 ■ 2次元画像のレンダリングに使用するQuickDraw ■ 2次元および3次元画像のレンダリングに使用するOpenGL ■ ストリーミングデジタルビデオおよびその他のマルチメディアのレンダリングに使用する QuickTime QuickTimeは、グラフィックス環境とアプリケーション環境の両方にまたがる機能を含んだ インタラクティブなマルチメディア環境です。QuickTimeはMac OS Xのアーキテクチャ内で はハイブリッドな立場にありますが、話を簡単にするために、このセクションではCore Graphics Rendering、QuickDraw、およびOpenGLと同等のグラフィックスライブラリとし て取り扱います。 レンダリングライブラリはすべて、Quartzのもう1つの部分であるCore Graphics Servicesレイヤと の間に直接依存関係を持ちます。ただし、QuickTimeとOpenGLは、独自のバージョンのウインド ウ表示機能を実装しているので、依存関係はかなり希薄です。 Core Graphics Servicesは、Mac OS Xウインドウサーバと、それが実装する(現在は未公開の) SPI(System Programming Interface)から構成されています。ウインドウサーバは、ウインドウ の構成、配置、および基本的な管理を含めたウインドウの表示を全般的に担当します。また、 ローレベルのカーソル管理やイベントルーティングも実行します。 Core Graphics Services (ウインドウサーバ)� Core Graphics Rendering (2D) QuickDraw (2D) OpenGL (3D) QuickTime (ストリーミング、� マルチメディア)� グラフィックスレンダリングライブラリ�64 グラフィックスおよびウインドウ表示環境  Apple Computer, Inc. February 2001 C H A P T E R 3 システムアーキテクチャ Quartzは、Core Graphicsフレームワーク(CoreGraphics.framework)の大部分に実装されて います。図3-4に示すように、このフレームワークのダイナミック共有ライブラリには、クライ アントAPIが含まれています。サーバSPIは、ウインドウサーバ自身により実装されています。 アプリケーションまたはアプリケーション環境は、ライブラリ(Core Graphics Rendering)の クライアントサイドとリンクして、画面のレンダリング、PDF生成、およびその他のサービスを 実行します。サーバSPIへのアクセスはすべて、クライアントAPIにより仲介されます。 Cocoa環境とJava環境には、Core Graphics Renderingに対するそれぞれのプログラミングインタ フェースが用意されていて、それに加えてある程度他のレンダリングライブラリを提供していま す。Cocoaの インタフ ェースを 使ってもJavaのイ ンタフェー スを使っ てもかまい ませんし、 Application Servicesレイヤのプログラミングインタフェースを使うこともできます。 これ以降のセクションでは、グラフィックスおよびウインドウ表示環境内でのQuartzの役割につ いて説明します。QuickDraw、QuickTime、およびOpenGLのコンセプトについては、関連する アップル社のデベロッパ向けドキュメント(developer.apple.com)を参照してください。 図3-4 Core Graphicsフレームワーク Core Graphics Services Mac OS XのCore Graphics Servicesレイヤは、ウインドウサーバと、ウインドウサーバが依存す る(未公開の)システムプログラミングインタフェース(SPI)から構成されています。このレ イヤでは、基本的な画面表示、ウインドウの構成と管理、イベントルーティング、およびカーソ ル管理を担当します。 ウインドウサーバはシステム全体を対象とする単一のプロセスで、ローレベルのウインドウ表示動 作を調和させ、画面に表示されるものの基礎的な統一性を維持します。これは、レンダリングを行 うわけではなく、上位レイヤにあるクライアントのグラフィックスライブラリと通信するサーバで す。ウインドウサーバは描画モデルに関しては関知しません。 Core Graphics フレームワーク� クライアントAPI (レンダリング)� アプリケーションと� アプリケーション環境� ウインドウサーバ (サーバSPI)�C H A P T E R 3 システムアーキテクチャ グラフィックスおよびウインドウ表示環境 65  Apple Computer, Inc. February 2001 ウインドウサーバは、その他のシステムサービスおよびライブラリとの依存関係をほとんど持っ ていません。ウインドウサーバは、フレームバッファ、入力インフラストラクチャ、および入出 力デバイスとの通信を、カーネル環境のI/O Kit(特に、I/O Kitを使って構築されたデバイスドラ イバ)に依存します。また、ウインドウサーバは、基本的なプロセスのアクティブ化などのプロ セス管理サービスを得るために、コアサービスに含まれるいくつかのフレームワークとリンクし ます。 ウインドウサーバの主要な仕事の1つはウインドウの構成です。ウインドウサーバは、ウインドウ の描画や再描画が行われたり、ウインドウが他のウインドウによっておおい隠されたり、再表示さ れたりする度に、アプリケーションウインドウの各ピクセルの構成と再構成を繰り返します。ウイ ンドウは透明度(アルファチャネル)とアンチエイリアシングの両方の情報を含むビットマップと して表示されます。このビットマップはバッファに格納されるので、ウインドウサーバがアプリ ケーションのウインドウ内容を「記憶」して、アプリケーションの関与なしにそれを再構成するこ とが可能になります。ただし、Quartzでは、グラフィックスライブラリ(Quartz独自のCore Graphics Renderingなど)がウインドウやその他の画像の作成に使用したベクタ情報は保持されません。 Core Graphics Servicesコンポーネントでは、Quartzはウインドウ表示システムを複数のレイヤから 構成されるエンジンとしてモデル化します。従来のウインドウ表示システムは、画面上のあらゆる ピクセルが全体として1つのウインドウ(つまり、デスクトップ)に属する「スイッチ」モデルを 採用していました。このモデルを使用すると、画面の移行は不自然なものにならざるをえません。 たとえば、ウインドウをクローズすると、ウインドウは画面から突然消えます。一方、複数のレイ ヤから構成されるウインドウシステムは「ビデオミキサー」モデルにもとづいています。このモデ ルでは、画面上のあらゆるピクセル、特に、半透明とアンチエイリアシングの属性に関連するピク セルは、複数のウインドウの間でリアルタイムに共有されます。このモデルにより、グラフィカル ユーザインタフェースの状態をスムーズに移行できるようになりました。これは、Aquaの際立っ た特性の1つです。 イベント処理におけるウインドウサーバの役割については、「ユーザイベントの追跡」(80ページ) を参照してください。 Core Graphics Rendering QuartzのCore Graphics Renderingの部分は、ベクタフレーバーを含むグラフィックスライブラ リです。Core Graphics RenderingのAPIを使用すると、2次元空間に直線、図形、色、影、透明 度などのグラフィカルな属性を配置する一連のコマンドと数式を指定することで、テキストや画 像を作成することができます。個別のピクセルの属性を指定する必要はありません。その結果、 図形をビットマップとしてではなく、一連のパスおよび属性として効率的に定義できるようにな ります。66 グラフィックスおよびウインドウ表示環境  Apple Computer, Inc. February 2001 C H A P T E R 3 システムアーキテクチャ また、ベクタの使用により、Core Graphics Renderingはピクセルグリッドではなく、インチやセ ンチメートルなどの単位にもとづいて描画を行う座標系を使用することができます。この座標系 は柔軟で、さまざまな計測単位を使用することができます。また、この座標系は画面解像度に依 存しないので、画面表示に関してある程度の独立性を確保することができます。この座標系では 浮動小数点座標を使用します。Core Graphics Servicesによるウインドウの構成に先立って、Core Graphics Renderingは、この座標系を基準にして記述されている画像のベクタ情報をピクセル値 に変換します。 Core Graphics Renderingがベクタグラフィックスの表示に使用する内部モデルはPDF(Portable Document Format)です。PDFはAdobe PostScriptのスーパーセットで、カラー管理が厳密であ る、内部的に圧縮する、フォントに依存しない、および対話性といった点でPostScriptより優れ ています。ただし、PDFはPostScriptのように完全に独立した言語ではありません。PDFはプロ グラムとしてではなく、宣言として指定されます。その結果、PostScriptとは異なり、高度で不 経済な言語ランタイムを必要としません。 Core Graphics Renderingは、入力をPDFに変換し、さらにPDFをさまざまな出力フォーマットに変 換する一種の「ブラックボックス」と見なすことができます。図3-5にこれを示します。 図3-5 Core Graphics Renderingの入出力 Core Graphics Renderingの主要な入力は、QuickDrawとネイティブなCのAPIによって作成され る描画コマンドとステートメントです(将来は、フロントエンドのAPIがサポートされる可能性 もあります)。QuickDrawを使うアプリケーションはCGContextRefインタフェース経由でCore Graphics Renderingを呼び 出して、その機能を利 用するこ とができ ます。CGContextRefは、 QuickDrawのGrafPortインタフェースから取得することができます。 C API(ネイティブ)� QuickDraw PDF PostScript Core Graphics Rendering PDF スクリーン� レンダリング� ラスタデータ� 入力�C H A P T E R 3 システムアーキテクチャ 印刷システム 67  Apple Computer, Inc. February 2001 QuickDrawまたはネイティブのAPIからのコマンドとステートメントは、要求された出力フォー マットに即座に変換されます。そのフォーマットは、画面のレンダリングに使用するビットマップ データ、PostScript(PostScriptプリンタに使用する)、あるいはその他のタイプのプリンタに使用 するラスタデータのいずれでもかまいません。PDFは実際の見た目通りに表示することができるの で、この機能はそのまま印刷プレビューに利用できます。将来は、プロッタなどに対応したバック エンドコンバータがサポートされる可能性もあります。 これまでに指摘したように、Core Graphics Renderingは、Mac OS Xの印刷システムの基礎にあ るエンジンです。印刷は多くの場合、2パスの行程で実行されます。Core Graphics Rendering は、ネイティブのCまたはQuickDrawのAPIによって組み立てられたテキストや画像を解釈して、 これらをPDF形式(プライマリスプーリングフォーマット)で格納します。さらに、このPDFは 再度Core Graphics Renderingに供給され、適切な出力フォーマットに変換されます。 印刷システム Mac OS Xの印刷システムは、Macintoshユーザに柔軟かつ強力な新しい印刷環境を提供します。 新しい印刷システムは、平均的なユーザが簡単かつ直感的にプリンタを設定できるよう洗練され たユーザインタフェースを備えていますが、同時に、上級ユーザや管理者の要求を満たすために 必要な機能も備えています。印刷システムのモジュール化されたアーキテクチャには次のような 特徴があります。 ■ プリンタベンダが容易にMacintosh用ドライバを開発したり、印刷関連のダイアログを拡張し たりできる ■ PDFベースのレンダリングを使用し、安価なラスタプリンタを含めたすべてのプリンタにPDF の利点を提供する ■ アプリケーションが、「仮想ページ」に描画して印刷時にそれを「物理ページ」にマップする ことを可能にし、描画ページと印刷ページの間の関係を断ち切る ■ 非同期印刷をサポートしてジョブの完了を早める ■ システムの印刷関連のダイアログ内に表示されるユーザインタフェースエレメントを、アプ リケーションやプリンタドライバが個別に制御することを可能にし、標準の「プリント」ダ イアログまたは「ページ設定」ダイアログ全体をカスタムバージョンに置き換える必要性を なくす68 印刷システム  Apple Computer, Inc. February 2001 C H A P T E R 3 システムアーキテクチャ 新しい印刷システムの設計上、重要となるポイントは、Carbonアプリケーションの幅広いサポー トです。Carbon Printing ManagerはMac OS Xだけではなく、Mac OS 8および 9でもサポートさ れるので、Carbonアプリケーションにより両方の環境で思い通りに印刷を行うことができます。 たとえば、Mac OS 8および9で動作する場合、アプリケーションは従来のユーザインタフェース とドライバを利用します。一方、Mac OS X上では、一貫性が向上した新しい印刷システムの印 刷関連ダイアログのセットと柔軟な印刷アーキテクチャを自動的に利用します。 印刷システムのユーザインタフェース Mac OS Xの印刷システムのユーザインタフェースは一貫性があり使いやすい環境を提供し、ロー カルおよびネットワークプリンタの検出、新しいプリンタの設定、プリンタの選択、印刷ジョブ の管理といった印刷関連のタスクを容易にします。新しい印刷システムのヒューマンインタ フェースでは、ユーザは単純で日常的な印刷タスクも、複雑な、マルチドキュメント、マルチプ リンタの印刷タスクも行うことができます。 印刷システムのユーザインタフェースは次のコンポーネントから構成されています。 ■ Print Center:使用可能なプリンタの検出、選択、および設定を行って、それぞれのプリン タに関連付けられている印刷ジョブのステータスを判断できるようにします。 ■ 「ページ設定」ダイアログ:印刷する書類のフォーマットを指定できるようにします。 ■ 「プリント」ダイアログ:ユーザが印刷ジョブのパラメータを指定して、指定したプリンタで 書類を印刷できるようにします。 新しい印刷システムのインタフェースでは、Mac OS 8および9の印刷モデルに比べ、使いやすさ と安定性の両面でいくつかの重要な改良が加えられています。プリンタを取り扱うときにユーザ の混乱を招く最大の原因であったセレクタはPrint Centerに置き換えられました。Print Centerで は、従来のセレクタとデスクトップ印刷の機能の多くが単一の統合されたインタフェースにまと められています。セレクタとは異なり、Print CenterはFinderから独立した単体のアプリケーショ ンなので、Finderが印刷のインタフェースをサポートする必要がなくなりました。その結果、 コードが簡略化され、システムの安定性が向上しました。「ページ設定」および「プリント」ダ イアログはすべてのプリンタ用に標準化され、また同時に、サードパーティによるカスタマイズ を容易にするため拡張性も向上しました。C H A P T E R 3 システムアーキテクチャ 印刷システム 69  Apple Computer, Inc. February 2001 印刷アーキテクチャの概要 Mac OS Xの印刷アーキテクチャは9つのモジュールのセットから構成されています。概念的に、 これらのモジュールはクライアントのグループとサーバのグループに分けることができます。 これらのモジュールの4つ、つまりPrint Center(オプションでプリンタブラウザモジュールを含 む)とPrint Job Creator(オプションで印刷関連ダイアログの機能拡張を含む)がクライアント サイドのグループを構成します。これらのモジュールは、すべてのユーザインタフェースエレメ ントの表示、アプリケーションから受け取った生の描画コマンドの処理、プリントサーバへの印 刷データの送信を担当します。残り5つのモジュール、つまりQueue Manager、Job Manager(オ プションでコンバータを含む)、プリンタモジュール、およびI/Oモジュールが、印刷システム のサーババックエンドを構成します。これらのモジュールはローカルクライアントから印刷ジョ ブを受け取り、それらを出力先のプリンタに送信します。図3-6に、これらのモジュールの相互 関係を示します。 図3-6 Mac OS Xの印刷システム ユーザ� プリンタ� アプリケーション� ブラウザ� モジュール� Print Center Print Job Creator 印刷� ダイアログ� 機能拡張� Queue Manager Job Manager コンバータ� プリンタ� モジュール� I/O モジュール� プリンタ� ラスタ/� PostScript PDF = ジョブチケット� = 問い合わせとステータス� = 非同期ステータス�70 印刷システム  Apple Computer, Inc. February 2001 C H A P T E R 3 システムアーキテクチャ 次に、図3-6に示した各モジュールを簡単に説明します。 ■ Print Job Creator(PJC):アプリケーションが使用するCarbon Printing Manager APIを実装し ます。「プリント」および「ページ設定」ダイアログを表示し、アプリケーションから描画情 報を取得します。また、データをQueue Managerに渡して印刷を行います。 ■ 印刷関連ダイアログ機能拡張(PDE):「プリント」および「ページ設定」ダイアログを拡張 して、サードパーティが特定のプリンタをサポートするためのユーザインタフェース要素を 追加することを可能にします。PDEは、PDEによって提供されるカスタム設定を解釈して適 用するプリンタモジュールまたはアプリケーションとペアになって動作します。 ■ Print Center:ユーザがプリンタを検出して選択すること、また印刷ジョブのステータスを制 御したり取得したりすることを可能にします。 ■ プリンタブラウザモジュール(PBM):SCSIやFireWireなどのプリンタ接続方法をサポートす るUIを追加して、Print Centerを拡張します。PBMは、トランスポートのタイプのサポートを 実装するI/Oモジュールとペアになって動作します。 ■ Queue Manager:Print Job Creatorから受け取った印刷ジョブのキューイングを処理します。 Print Centerからの要求に応答して、キューに格納されている印刷ジョブのステータス情報を処 理してPrint Centerに送ります。また、エラーをPrint Centerにレポートします。 ■ Job Manager:1つの印刷ジョブを最終的な印刷出力に変換するために必要なさまざまなプロ セスを管理します。プリンタモジュールとI/Oモジュールのホストとして動作します。 ■ コンバータ:印刷ジョブのデータフォーマットを変換することでJob Managerを支援します。 たとえば、PDFをラスタに変換します。 ■ プリンタモジュール:プリンタに合わせてデータをフォーマットし(PostScript、PCLなど)、 プリンタのステータスやエラー状況を処理します。プリンタモジュールは、通常、特定のプ リンタまたはプリンタファミリーをサポートするためにプリンタのベンダによって作成さ れます。 ■ I/O モジュール:トランスポートのタイプに対する標準インタフェースを実装します。アッ プル社では、NetInfo、USB、TCP/IP、およびAppleTalkに対応するモジュールを提供してい ます。また、サードパーティでも、その他のトランスポートタイプをサポートするモジュー ルを作成することができます。 ■ ジョブチケット:ジョブの印刷を制御するために必要なユーザ設定をすべて含みます。ジョ ブチケットはPrint Job Creatorによって作成され、印刷プロセスの各段階でそれぞれのコン ポーネントによって更新されます。C H A P T E R 3 システムアーキテクチャ 印刷システム 71  Apple Computer, Inc. February 2001 プリンタの発見 Print Centerは、ユーザがプリンタを選択する前に、使用可能なプリンタの一覧を作成しておく必 要があります。印刷システムが使用可能なプリンタを検出するプロセスは「プリンタの発見」と呼 ばれます。 プリンタを発見する過程で、印刷システムは、/System/Library/Printersと/Library/Printersにイン ストールされているI/Oモジュールとプリンタブラウザモジュールをすべて列挙します。Queue Managerが、さまざまな接続タイプの文字列表現をプリンタブラウザモジュールから取得し、Print Centerに渡します。Print Centerはそれらの文字列を使って、接続を選択するポップアップメニュー を作成します。 ユーザが接続タイプを選択すると、Print Centerは/System/Library/Printersと/Library/Printersにイ ンストールされているすべてのプリンタモジュールを列挙し、各モジュールに、選択された接続タ イプをサポートしているかどうか問い合わせます。サポートしている場合は、Print Centerはモ ジュールのアイコンを取得し、また、モジュールの情報を参照します。プリンタブラウザモジュー ルはこの情報を、接続タイプをサポートしているプリンタを検索するときの検索条件として使用す ると同時に、ユーザインタフェースエレメントとして表示します。 ユーザが目的のプリンタをクリックして、それをプリンタの一覧に追加すると、Print Centerは選 択されたプリンタのアドレス、アイコン、およびプリンタモデル情報をプリンタブラウザモジュー ルから取得します。Print Centerは、この情報を使って、新しい印刷キューを作成し、プリンタを 一覧に追加します。 印刷プロセス 書類を印刷する前に、ユーザは「ページ設定」ダイアログを表示して、書類のフォーマットを定義 することができます。アプリケーションは、PJC(Print Job Creator)を呼び出して、このタスクを 実行します。PJCがホスティングしているオプションの印刷関連ダイアログ機能拡張(PDE)を使 用すると、「ページ設定」ダイアログを拡張して、カスタムページレイアウトなど、アプリケーショ ンの描画環境に固有のオプションを組み込むことができます。ページ設定が完了すると、ユーザは アプリケーションに印刷ジョブのパラメータを定義する「プリント」ダイアログの表示(ここでも PJCを使用する)を要求します。「ページ設定」ダイアログの場合と同様に、PDEの追加により、「プ リント」ダイアログにもアプリケーションまたはプリンタ固有のオプションを組み込むことができ ます。72 その他のアプリケーションサービス  Apple Computer, Inc. February 2001 C H A P T E R 3 システムアーキテクチャ ユーザが「プリント」ダイアログを閉じると、Print Job Creatorはアプリケーション(QuickDraw、 Core Graphics、またはPDFファイル)から描画コマンドを受け取り、そのデータを印刷パラメー タを記述したジョブチケットとともにQueue Managerに渡します。Queue Managerは、このデー タとジョブチケットをさらにJob Managerに渡し、Job Managerが、残りの印刷プロセスの管理を 担当します。ジョブがQueue Managerに送られると、そのジョブに関連するすべてのエラーが非 同期的にPrint Centerにレポートされます。 Job Managerでは、まずジョブチケットを参照して出力先のプリンタを判断し、そのプリンタに対 応するプリンタモジュールに問い合わせを行って、必要とされるデータフォーマットを特定しま す。Job Managerは必要に応じてコンバータを使用し、受信データを、出力先のプリンタモジュー ルが受け付けるフォーマットに変換します。Job Managerが変換したデータをプリンタモジュー ルに渡すと、プリンタモジュールは、受信したデータを、プリンタがデータのレンダリングに使 用する生のコマンドに変換します。最後にJob Managerがプリンタモジュールからプリンタ固有 のデータを受け取り、プリンタの接続タイプに対応したI/Oモジュールを使って、そのデータを プリンタに送信します。 その他のアプリケーションサービス アプリケーションサービスレイヤに含まれるその他のシステムサービスは、グラフィカルユーザ インタフェースに関係するオブジェクトや動作を供給することにより、すべてのアプリケーショ ン環境をサポートします。このセクションでは、それらのサービスの中で比較的重要なものを取 り上げます。Mac OS Xの進化に伴い、アプリケーションサービスレイヤの構成は変化する可能 性があります。アプリケーションサービスアンブレラフレームワーク (ApplicationServices.framework)のサブフレームワークをチェックして、その時点で何が含 まれているかを確認してください。 Process Manager Process ManagerはMac OS Xのすべてのプロセスを管理します。Process Managerは共有リソー スへのアクセスを制御し、アプリケーションのスケジューリングと実行を管理することで、複数 のアプリケーションがCPU時間やその他のリソースを共有することを可能にします。ユーザがア プリケーションまたは書類のアイコンをダブルクリックすると、FinderはProcess Managerを 使ってアプリケーションを起動します。また、Process Managerには、プロセスの実行、プロセ スの起動、およびプロセスに関する情報の取得を可能にするいくつかのルーチンが用意されてい ます。C H A P T E R 3 システムアーキテクチャ その他のアプリケーションサービス 73  Apple Computer, Inc. February 2001 Process Managerの関連情報については、「マルチ環境の問題点とオプション」の章の「タスクと プロセス」(257ページ)を参照してください。 Carbon Event Manager Carbon Event Managerは、イベントのタイプと送信先のアプリケーション環境にもとづいて、 そのイベントに最適なイベントハンドラにイベントを送信します。ウインドウサーバは、受信し たイベントをターゲットアプリケーションプロセスの実行ループポートに置きます。Carbon Event Managerでは、ポートからイベントを取得し、それを適切な形式にパッケージングして、 アプリケーションに固有のイベント処理構造(つまり、Carbon、Cocoa、またはJava)内のでき るかぎり下位にある「コンテナ」に渡します。このような処理を行うために、Carbon Event Managerは、どのウインドウが現在アクティブウインドウであるか、そのウインドウ内にキー ボードフォーカスがあるかどうかなどを頻繁に判断する必要があります。 Mac OS Xでのイベント処理の詳細については、「ユーザイベントの追跡」(80ページ)を参照して ください。 アップルイベント アップルイベントは、アプリケーションがそれ自身や、ローカルまたはリモートのコンピュータ 上で実行されている他のアプリケーションに送信できるハイレベルイベントです。アップルイベ ントはMac OS Xでのアプリケーション間通信の主要なメカニズムです。通常、アプリケーショ ンはアップルイベントを使って、サービスと情報を他のアプリケーションに対して要求したり、 他のアプリケーションの要求に応答してサービスと情報を提供したりします。 システムレベルのスクリプティング言語であるAppleScriptはアップルイベントに関連するテクノ ロジーで、これもMac OS Xの一部です。ユーザはAppleScriptを使って、アプリケーションにアッ プルイベントを送ることができます。 アップルイベントの詳細については、「マルチ環境の問題点とオプション」の章の「プロセス間 通信」(261ページ)を参照してください。74 コアサービス  Apple Computer, Inc. February 2001 C H A P T E R 3 システムアーキテクチャ クリップボード Mac OS Xのクリップボード(「ペーストボード」とも呼ばれます)は、アプリケーション間での データ転送を可能にするバックグラウンドサーバです。Mac OS 9のクリップボードに似ている点 もありますが、異なる点もあります。Mac OS Xのクリップボードは、同一のデータのさまざまな 表現を保持できます。また、実行中のすべてのアプリケーションによって共有され、ユーザがカッ トまたはコピーしたデータだけでなく、アプリケーションが別のアプリケーションに転送しようと しているその他のデータも保持します。さらに、コピー(カット)&ペースト操作で使用されるほ か、ドラッグ&ドロップ操作によるデータ転送メカニズムとしても使用されます。 コアサービス コアサービスレイヤには、アプリケーションのグラフィカルユーザインタフェースに影響を及ぼさ ないシステムサービスが含まれています。このレベルには、ローレベルサービスを提供するCarbon マネージャ、Core Foundation、およびOpen Transportが含まれています。コアサービスはコアサー ビスアンブレラフレームワーク(CoreServices.framework)に関連づけられています。このセク ションでは、このフレームワークのテクノロジーのうち、比較的重要なものについて説明し、それ 以外のもの(コアセキュリティサービスなど)は扱いません。C H A P T E R 3 システムアーキテクチャ コアサービス 75  Apple Computer, Inc. February 2001 Carbonマネージャ コアサービスには、すべてのアプリケーション環境にローレベルサービスを提供する、いくつか のCarbonマネージャが含まれています。これらのローレベルサービスには、協調的スレッディ ング、プリエンプティブスレッディング、リソース管理、メモリ管理、ファイルシステムの操作 などが含まれます。表3-2に、それらのマネージャを示します。 表3-2 コアサービスレイヤにあるCarbonマネージャ マネージャ 説明 Alias Manager エイリアスの使用により、指定されたファイル、ディレクトリ、またはボ リュームを見つけやすくします。ファイルシステムのエイリアスレコード の作成と解決に使うルーチンが用意されています。 Collection Manager 情報のコレクションの格納に使用する抽象データ型を提供します。 Component Manager アプリケーションがさまざまなソフトウェアオブジェクト(コンポーネ ント)を実行時に検出して使用できるようにします。また、アプリケー ションがコンポーネントを作成して管理できるようにします。 日付、時刻、単位関連 のユーティリティ アプリケーションが日付、時刻、地域、タイムゾーン、および計測単位に 関する情報を取得して処理できるようにします。 File Manager ハードディスク、CD-ROM、Zipディスクなどの物理ボリュームに格納さ れているファイルにアクセスする機能をプログラムに与えます。Mac OS 拡張(HFS+)、Mac OS標準(HFS)、UFS、NFS、およびその他のサポー トされているファイルフォーマットを扱います。File Managerのルーチン は、ファイルの作成、オープン、更新、保存、およびクローズを行います。 また、特定のファイルやディレクトリの検索、ファイルまたはディレクト リに関する情報の取得も行います。さらに、その他のファイル関連の操作 も実行します。File ManagerはUnicodeをサポートしており、File Manager のAPIはスレッドセーフです。 Folder Manager フォルダの検索、新しいフォルダの作成、およびフォルダ間でのファイ ルのルーティング方法の制御を、プログラムが行えるようにします。 ドメインに対する新しいサポートも用意されています。 メモリ管理関連の ユーティリティ メモリ環境のいくつかの側面を検査したり制御したりするときに役立つ 特別のルーチンを提供します。76 コアサービス  Apple Computer, Inc. February 2001 C H A P T E R 3 システムアーキテクチャ Memory Manager アプリケーションの保護されたアドレス空間内における、メモリのダイナ ミックな割り当てを制御します。共有および永続メモリの割り当てを行う 新しいルーチンやMac OS Xの仮想メモリシステム関連の関数が用意され ています。 マルチプロセッシン グサービス プリエンプティブにスケジュールされた複数の独立したスレッドを、 プログラムが作成して管理することを可能にします。また、同期サービ スとアトミックな命令も用意されています。 Resource Manager リソースファイルの作成、削除、オープン、読み出し、変更、書き込み、 およびリソースファイルに関する情報の取得を行うルーチンを提供しま す。データフォークベースのリソースに対するサポートが用意されてい ます。 Text Encoding Conversion Manager アプリケーションがテキスト変換の実行に使用できる2つの機構、Text Encoding ConverterおよびUnicode Converterを提供します。 テキスト ユーティリティ 文字列のソートから単語の境界の検出まで、テキストを対象とするさまざ まな操作を実行するための統合化されたルーチンのセットを提供します。 Thread Manager 協調的にスケジュールされたスレッドをプログラムが作成して管理する ことを可能にします。 Time Manager 指定された時刻に1回だけまたは反復してルーチンを実行するようにスケ ジューリングを行う方法をプログラムに提供します。この時刻に関連する タスクを実行するメカニズムはハードウェアに依存しません。 Unicode ユーティリティ Unicodeテキストを対象に、Unicodeキーの変換を含めたさまざまな操作 を実行します。 表3-2 コアサービスレイヤにあるCarbonマネージャ マネージャ 説明C H A P T E R 3 システムアーキテクチャ コアサービス 77  Apple Computer, Inc. February 2001 Core Foundation Core Foundationは、アプリケーションサービス、アプリケーション環境、およびアプリケー ションそのものに役立つ基礎的なソフトウェアサービスを提供するフレームワーク (CoreFoundation.framework)です。Core Foundationを使用することで、異なる環境やレイヤ にあるフレームワーク、ライブラリ、およびアプリケーションの間でコードやデータを、より多 く共有できるようになるという利点があります。また、Core Foundationは、Unicode文字列を 介した国際化を容易にし、オペレーティングシステムに依存しないさまざまなアブストラクショ ンを提供します。 Core Foundationではopaque型のパラダイムを使用します。このデータ型を使用すると、それぞれ が独自のアイデンティティと値(または値のセット)を持つ「オブジェクト」を作成することがで きます。Core Foundationは、これらのオブジェクトが作成されるときにメモリを割り当てるため のメカニズムを提供します。また、ジェネリックなbase型と、データ型間の操作を容易にする複数 のデータ型に適用可能な関数も用意されています。 Core Foundationには、文字列、配列、ディクショナリ、日付、数値、ツリーなどのプログラム エンティティに対応したopaque型が含まれています。また、プラグインに適用されるアーキテ クチャ(および対応するAPI)や、コードとロケールに依存するリソースのダイナミックな検出 とロードに適用されるメカニズム(および対応するAPI)も備わっています。さらに、URL経由 でローカルおよびリモートのリソースにアクセスするサービス、分散化された通知センターを セットアップするサービス、XMLのプロパティリストを読み書きするサービス、XMLのパーシ ングを行うサービス、およびユーザまたはマシンごとに環境設定の書き込みと取得を行うサービ スも用意されています。78 コアサービス  Apple Computer, Inc. February 2001 C H A P T E R 3 システムアーキテクチャ 表3-3に、Core Foundationの各サービスと、それぞれに関連づけられているopaque型の一覧を示し ます。 表3-3 Core Foundationのサービス サービス データ型 説明 ベース サービス CFAllocator、base型 Core Foundation API全体で使用されるbase型と、複数 のデータ型に適用可能な関数を定義します。 文字列 サービス CFString、CFCharacter-Set 高速かつ効率的な文字列処理および文字列変換する すべての機能を提供します。文字列サービスはシーム レスなUnicodeサポートを提供するので、国際化が大 幅に簡略化されます。また、Carbonアプリケーショ ンとCocoaアプリケーションの間での文字列データ の共有を容易にします。 バンドル サービス CFBundle 画像、サウンド、ローカライズされた文字列、実行可 能コードなどの、さまざまなタイプのプログラムリ ソースを組織化したり検索したりするための適切な 手段を提供します。 プラグイン サービス CFPlugIn Mac OS Xアプリケーション(およびMac OS 9アプリ ケーション)に対応した標準的なプラグインアーキテ クチャを提供します。 コレクション サービス CFArray、 CFDictionary、 CFTree、CFSet、 CFBag 配列、辞書(結合した配列またはベクタ)、ツリーな どの一般的なデータ構造体のハイレベルアブスト ラクションを、それに関連する機能とともに提供し ます。 URLサービス CFURLCF、URLAccess ローカルまたはリモートで格納されているリソース にURL経由でアクセスする方法をプログラムに提供し ます。 プロパティ リスト サービス データを意味ある構造で転送、格納、アクセスする ことができ、なおかつ可能なかぎり効率的な方法で まとめる方法を提供します。プロパティリストAPIを 使用すると、基本的なデータ型の階層的に構造化さ れた組み合わせと標準XMLとの間で双方向の変換を 行うことができます。C H A P T E R 3 システムアーキテクチャ コアサービス 79  Apple Computer, Inc. February 2001 Open Transport Open Transportは、Mac OS Xに対応したユーザレベルのネットワーキングおよび通信ソフト ウェアです。Open Transportでは、アプリケーションは同時に複数のネットワーキングシステ ムを使用できるようになります(たとえば、ネットワークプリンタとの通信にはAppleTalkを使 用し、インターネットとの接続にはTCP/IPを使用する、など)。Open Transportを使用すると、 複数の異なるネットワーキング設定を保存および変更し、必要に応じて、それらを簡単に切り替 えることができます。 Mac OS Xに付属するOpen Transportのバージョンでは、Mac OS 8およびMac OS 9で最も一般的 に使用されていたインタフェースがサポートされています。たとえば、IPプロトコルに対する Open Transportエンドポイントルーチンがサポートされています。ただし、コネクション指向 でトランザクションベースのエンドポイント機能は用意されていません(これは、ASPなどの AppleTalkプロトコルのユーザにのみ影響を与えます)。また、ネイティブXTI(X/Open Transport Interface)インタフェースやBSDのストリームインタフェースもサポートされていません。 環境設定 サービス CFPreference プログラムがユーザ設定を格納および検索できるよ うにします。詳細については、「ソフトウェアの設定」 の章の「環境設定」(202ページ)を参照してください。 XMLパーサ CFXMLParser XML書類からデータの読み取りと抽出を行う、非検 証XMLパーサを提供します。 通知サービス CFNotificationCenter 分散化された通知、つまり、あるプロセスが同じマ シン上にある他のプロセスにメッセージ(通知)を 送信できるようにするメカニズムを実装します。 実行ループ サービス CFSocket、CFRunLoop (および同類のデータ型) ローレベルのイベント処理および送信サービスを提 供します。 ユーティリ ティサービス CFDate、CFTimeZone、 CFNumber、CFUUID、 CFByteOrder 日付と時刻の計算と表示、数値の「オブジェクト」 ラッピング、バイトスワッピング、UUID生成などの さまざまなサービスを提供します。 表3-3 Core Foundationのサービス サービス データ型 説明80 ユーザイベントの追跡  Apple Computer, Inc. February 2001 C H A P T E R 3 システムアーキテクチャ Open Transportの以前のバージョンとの重要な違いは、いくつかの関数にクライアントコンテキス トパラメータが追加されたことです。これにより、Open Transportの各クライアントは独自のコン テキストを持てるようになり、その結果、Open Transportは、割り当てたリソースをクライアント に代わって追跡できるようになります。この場合のクライアントとは、アプリケーションまたは共 有ライブラリのことで、リソースとは、エンドポイント、タイマータスク、メモリのブロックなど のオブジェクトのことです。 ユーザイベントの追跡 図3-1(51ページ)に示されている、システムソフトウェアのレイヤの視点から見たMac OS Xの 図は、システムの各部分相互の間の一般的なインタフェースと依存関係を視覚化する上では十分 なものです。しかしこの図は、オペレーティングシステムのダイナミズム、言い換えれば、Mac OS Xが通常どのように動作しているかを十分には伝えていません。こうしたMac OS Xのスタ ティックな見方を補足する意味で、このセクションでは、架空のユーザイベントを、マウスクリッ クによるイベントの発生から、適切なアプリケーション環境内の適切な関数またはメソッドによ るイベントの処理まで、システム全体にわたって追跡します。さらに、関数の呼び出しによって 開始され、この例では最終的に画面上での新しいオブジェクト(たとえばダイアログ)の描画に 至る、架空のイベントの連鎖をシステムの各レイヤにわたってトレースします。 図3-7に、イベントの生成、再パッケージング、およびデスティネーションへの転送を行う環境と サブシステムを示します。C H A P T E R 3 システムアーキテクチャ ユーザイベントの追跡 81  Apple Computer, Inc. February 2001 図3-7 Mac OS Xでのイベントの処理 マウスやキーボードなどの入力デバイスを制御するデバイスドライバがユーザアクションを検 出すると、ローレベルイベントが1つ発生します。Mac OS X上のすべてのデバイスドライバの基 盤を形成するI/O Kitは、イベントを作成し、 ウインドウサーバのイベントキューに格納します (ウインドウサーバの詳細については、「Core Graphics Services」(64ページ)を参照)。このキュー は、I/O Kitとウインドウサーバによって共有されるメモリのブロック内にあります。イベント をキューに格納すると、I/O KitはMachプロセス間通信メカニズム (IPC)経由でウインドウサー バに通知を行います。 通知を受け取ったウインドウサーバはイベントをキューから取り出して、その時点でオープンし ているウインドウのデータベースを参照します。ウインドウサーバは、イベントが発生したウイ ンドウを所有するプロセスに属する実行ループのイベントポートにイベントを送信します。 Carbon Event Managerは実行ループのポートからイベントを取得し、それを適切な形式でパッ ケージングして、プロセスのアプリケーション環境に固有のイベント処理メカニズムに渡しま す。このメカニズムにより、イベントは、クリックしたコントロール(または押されたキー)に 関連する関数またはメソッドを使って確実に処理されます。 コアサービスと� アプリケーション� サービス� アプリケーションプロセス� Carbon DefProc EventRef ハンドラ� コールバック� Cocoa ターゲット/アクション、� NSEvent、NSAppなど� Darwin Event Manager 実行ループ� I/O Kitの通知(IPC)� ウインドウサーバ� ドライバ� ドライバ� プロセス単位�82 ユーザイベントの追跡  Apple Computer, Inc. February 2001 C H A P T E R 3 システムアーキテクチャ イベント処理のメカニズムはそれぞれのアプリケーション環境によって異なります。 ■ Carbon:Carbonには、アプリケーションがイベントの処理に使用できるいくつかのメカニズ ムが用意されています。プライマリメカニズムはopaque型のローレベルイベント構造体であ るEventRefsを使用し ます。EventRefsの ハンド ラはユー ザイン タフェー スオブ ジェク ト (Human Interface Toolboxによるデフォルトのオブジェクトを含む)上にインストールされて いて、それらのオブジェクトを宛先とするすべて、または一部のイベントを自動的に受け取 ります。ハンドラはイベントを処理することもできますが、無視することもできます。また、 コンテナ内にある次のハンドラに渡すこともできます。DefProcメッセージや関数コールバッ クを使ってイベントを処理することも可能です。 ■ Cocoa:Cocoaでは、イベントはNSEventオブジェクトとしてパッケージングされます。この オブジェクトはアプリケーションプロセスの全般的な管理を担当するアプリケーションオブ ジェクトに送信されます。アプリケーションオブジェクトでは、イベントが発生したウイン ドウ内の「ファーストレスポンダ」ビューにNSEventオブジェクトを転送します。そこで処理 されない場合、オブジェクトはネクストレスポンダメカニズムを通じて、送信元のアプリケー ションオブジェクトそのものに達するまで、ウインドウのビューの階層を上に向かって移動 していきます。イベントがユーザインタフェースのコントロールと関連づけられている場合 は、通常、「ターゲットアクション」と呼ばれるメカニズムを介して処理されます。 ■ Java:Javaのイベント処理は、java.awt.Eventおよびjava.awt.Componentクラスによって実装 されています。起動処理 83  Apple Computer, Inc. February 2001 C H A P T E R 4 4 起動とログイン この章では、Mac OS Xシステムの起動とシステムへのユーザのログインのしくみを、概括的に 説明します。「起動」とは、コンピュータが自身を使用できる状態にするために実行する一連の 処理を示します。起動処理には、ハードウェアの初期化からシステムデーモンの開始まで、多く の異なるタスクがあります。起動処理が終了すると、ログインウインドウが表示されます。ユー ザがログインし、システムに認証されると、システムはそのユーザ用のコンピューティング環境 をセットアップする処理を行います。この章では、起動とログインの手順の説明に加え、この手 順をカスタマイズするのに使用できるさまざまな方法も説明します。 起動処理 ユーザがMac OS Xシステムの電源を入れてからログインできるようになるまでの間、Mac OS Xは システムを使用する準備として起動処理を実行します。このセクションでは、起動処理に含まれる 動作を要約して説明します。 注意:この章に出てくるほとんどのデーモンとユーティリティに関し、オンラインマニュアル の一種であるmanページを利用できます。manページには詳細な情報が記載されています。 manページを表示するには、コマンドライン上で、「man」に続けて、情報を得る対象の名前 を入力します。たとえば、「> man getty」と入力します(プロンプトが「>」の場合)。84 起動処理  Apple Computer, Inc. February 2001 C H A P T E R 4 起動とログイン BootROM Macintoshコン ピュータ の電源 を入れ たときに 最初に アクテ ィブにな るコー ドはBootROM ファームウェアです。BootROMはコンピュータのハードウェアの一部で、システムハードウェ アの初期化と、起動オペレーティングシステムの選択という2つの重要な役割を持っています。 BootROMは、これらの機能の実行を助けるコンポーネントを2つ持っています。 ■ POST(Power-On Self Test)はいくつかのハードウェアインタフェースを初期化し、使用可 能なRAMメモリが十分にあり、良好な状態にあることを確認します。 ■ Open Firmwareはそのほかのハードウェアを初期化し、最初のデバイスツリー(コンピュータ に関連するデバイスを階層的に表現したもの)を作成し、使用するオペレーティングシステム を選択します。 BootROMは、Mac OS 9システムでもMac OS Xシステムでも同一です。 BootX BootROM(またはユーザ)が起動オペレーティングシステムにMac OS Xを選択すると、制御は BootX booter(/System/Library/CoreServices)に移ります。BootXの主な役割はカーネル環境を ロードすることです。カーネル環境のロード中に、BootXは画面に起動画像を表示します。 カーネル環境をロードするときに、ブートプロセスに含まれるハードウェア用の一連のデバイスド ライバ(mkextキャッシュと呼ばれる)が以前にキャッシュされている場合は、BootXはまずそれ をロードしようとします。このキャッシュがないか、または破損している場合、BootXは/System/ Library/Extensions下のドライバおよびその他のカーネル機能拡張でOSBundleRequiredプロパ ティがブートのタイプ(たとえば、ローカルブートあるいはネットワークブート)に相応している ものを探します。OSBundleRequiredキーおよび起動時のデバイスドライバのロードの詳細につ いては、カーネル開発者用のマニュアルを参照してください。 起動に必要なカーネルとすべてのドライバがロードされると、BootXはカーネルの初期化手順を開 始します。この時点でロードされているドライバだけで、カーネルはルートデバイスを見つけるこ とができます。また、この時点からOpen Firmwareにアクセスできなくなります。 ルートファイルシステムがマウントされてから、システムの初期化中にkextdデーモンが起動し ます(「システムの初期化」(85ページ)参照)。このデーモンはシステムのドライバがすべて使 用可能か調査し、不要なドライバをアンロードしてメモリを解放します。この時点以降、kextd は、カーネル機能拡張をロードするためにすべての要求に応えようとします。C H A P T E R 4 起動とログイン 起動処理 85  Apple Computer, Inc. February 2001 カーネルの初期化 この段階で、カーネルはMachおよびBSDデータ構造を初期化し、続いてI/O Kitを初期化します。 I/O Kitは、ロードされたドライバをカーネルにリンクします。このとき、デバイスツリーを使用 して、どのドライバをリンクするか決定します。カーネルがルートデバイスを見つけると、そこ をBSDのルートにします。 最後に、カーネルはmach_initプロセスを開始します。ユーザスペース内の最初のプロセスです。 mach_initプロセスは、Machメッセージングを可能にするMachブートストラップポートサーバ です。 システムの初期化 mach_initプロセスはBSDの initプロセスを開始します。BSDの initプロセスはプロセスID(PID) が1で、システムのほかのすべてのプロセスを「所有」します。initプロセスはすべての中心です が、複雑ではありません。実行する重要なタスクは4つあります。 1. ユーザがシングルユーザモードを希望しているかどうか、またはCD-ROMから起動している かどうかを判断します。いずれかの条件が適合する場合、注意事項を出力し、制御をユーザ に渡します。 2. システム初期化シェルスクリプト(/etc/rc.bootおよび/etc/rc)を実行します。このスクリプ トは基本的な初期化タスクを完了します。詳細については、「rc.bootおよびrcスクリプト」(86 ページ)を参照してください。 /etc/rcスクリプトはSystemStarterプログラムを実行します。このプログラムは、「起動項 目」として指定された、より特化した初期化タスクを処理します。詳細については「起動項 目」(86ページ)を参照してください。 3. initは、gettyコマンドを使って、loginwindowアプリケーションを起動します。このアプリケー ションはログインウインドウを表示し、入力されたユーザ名とパスワードの正当性を確認し、 ログイン手順を完了します。詳細については、「ログイン手順」(89ページ)を参照してくだ さい。 4. プロセスが終了するとき、initはすべてのプロセスの親として、プロセスの必要なクリーンアッ プをすべて処理します。86 起動処理  Apple Computer, Inc. February 2001 C H A P T E R 4 起動とログイン rc.bootおよびrcスクリプト /etc内のrc.bootおよびrc(Bourneシェルスクリプト)は、基本的な初期化タスクを実行します。 最初に、rc.bootスクリプトがファイルシステム整合性チェック(fsck)を実行し、メモリをファ イルシステムと同期させます(sync)。rcスクリプトは、以下の作業を実行します。 ■ さまざまな/etc/fstab設定ファイルでの定義に従って、必須ローカルファイルシステムをマウ ントします。 ■ デバイスドライバローダ(kextd)を開始します。 ■ ウインドウサーバを開始します。 ■ updateバックグラウンドプロセスを実行します。このプロセスは、定期的にファイルシステム キャッシュをフラッシュします。 ■ 仮想メモリシステムのスワップファイルを作成し、ダイナミックページャを開始します。 ■ 最後に、rcスクリプトがSystemStarterプログラムを開始し、ローカルとシステムの起動項 目を処理します(「起動項目」(86ページ)参照)。 rcスクリプトは単純なBourneシェルスクリプトなので、ソースを読むと、実行することを正確に 理解できます。システム初期化時に開始されたデーモンの詳細については、「システムデーモン」 (92ページ)を参照してください。 起動項目 起動項目は、起動の最終段階で実行される手順で、Mac OS Xシステムに、通常の動作の準備を させます。起動項目はプログラム(シェルスクリプトを含む)で構成され、テンポラリファイル の消去やシステムデーモンの開始などのタスクを実行するために実行されます。 システム起動項目(アップル社が提供したもの)は/System/Library/StartupItemsにあります。 このディレクトリにある項目は変更しないでください。ただし、ユーザ独自の起動項目を定義す ることはできます。その場合に使用するカスタムの起動項目は、/Library/StartupItemsに格納 されています。ユーザ独自の起動項目を作成する方法については、「起動動作のカスタマイズ」 (97ページ)を参照してください。 重要 起動項目に関するテクノロジーと、起動項目によって開始されるサー ビスは流動的で、変更される可能性があります。 SystemStarterプログラムは、rcスクリプトが実行する最後のプログラムで、すべての起動項目 の実行を調整します。SystemStarterの動作を理解するには、起動項目とは何かを理解すると有 効です。起動項目は、最低でも次の2つのファイルを含むフォルダです。C H A P T E R 4 起動とログイン 起動処理 87  Apple Computer, Inc. February 2001 ■ フォルダと同一の名前を持つプログラム(通常はシェルスクリプト) ■ 設定プロパティリスト 各起動項目のプロパティリストファイルにはStartupParameters.plistという名前が付いていま す。プロパティリストは起動項目の名前を指定します。また、より重要なのは、起動項目の依存 関係を複数の粒度(granularity)レベルで指定することです。これらの値は、起動項目がどの サービスを提供するか、起動項目の前にどのサービスが実行されなければならないか、起動項目 がどのサービスを使用するか(使用できる場合)を示します。SystemStarterは、すべてのプロ パティリストの依存関係情報を読み取って処理し、フォルダ内にあるスクリプトまたはプログラ ムの実行順序を決定します。 StartupParameters.plistにあるキーと値のペアについては、「起動動作のカスタマイズ」(97ペー ジ)を参照してください。プロパティリストの一般的な情報については、「プロパティリスト」 (189ページ)を参照してください。 表4-1に、システム起動項目の実行内容を要約します。表の中での順番は、項目が実行される一 般的な順番で、場合により多少異なることがあります。 表4-1 システムの起動項目 起動項目 説明 SystemTuning 使用可能なメモリなどの要因にもとづいてシステムのパフォーマンス値を セットアップします。 Cleanup 前回のシステム起動時に残された不要なファイルとデータベースを取り 除きます。 Network /etc/iftabのデータにもとづいてローカルネットワークインタフェースを 設定します。マシンのホスト名を設定し、ネットワークルーティングを設 定し(指定されている場合)、IPルーティングをオンまたはオフにし(指 定されている場合)、カーネルでのマシンのホストIDを設定し、さらに Shared IPカーネル機能拡張をロードすることによりすべてのアプリケー ション環境(Classicを含む)で1つのIPアドレスを共有可能にします。 Accounting アカウンティングシステム(accton)を開始します。アカウンティングシ ステムは起動された各プロセスのアカウンティング情報を/var/account/ acctへ書き込みます。 Portmap portmapデーモンを開始します。88 起動処理  Apple Computer, Inc. February 2001 C H A P T E R 4 起動とログイン この表に挙げたデーモンとサービスのいくつかは、セクション「システムデーモン」(92ページ) で簡単に説明しています。 Disks autodiskmountデーモンを実行し、ローカルディスクをチェックしてマウ ントします。 AppleTalk ルータモード、マルチホーミングモード(非ルータモード)、または単一 ポート(/etc/hostconfigで定義)でAppleTalk起動プログラムを実行します。 SystemLog システムログデーモン(syslogd)を開始します。 DirectoryServices NetInfoマスタサーバ(nibindd)、Network Information Service、および名前 解決デーモン(lookupd)を開始します。 NFS Network File Systemサービスを開始します。Network File Systemサービ スは、非同期ブロックI/O(nfsiod)を実行し、リモートファイルシステ ムをマウントし、オートマウンタを開始し、コンピュータがNFSを使用し てファイルシステムをエクスポートする必要があることをNetInfoデータ ベースが示している場合には、NFSサーバを開始します。 Apache Apache HTTPサーバを実行します(指定されている場合)。 AppleShare ネットワーク接続が検出された場合、AppleShareサービスを開始します。 AppServices デスクトップデータベースデーモン(DesktopDB)を起動し、フォント キャッシュを更新し、入力関係のサービスを開始し、出力関係のサービス を設定します。 IPServices TCP/IPサービス(inetd)、ホスト設定サービス(BOOTP)、およびnetboot クライアント管理サーバを開始します。 NetworkTime ネットワークタイムサービスを開始します。ネットワークタイムサービス はNTP(Network Time Protocol)を使用します。 QTServer QuickTime Streaming Serverを開始します。 SendMail 送信用のメールサービス(sendmail)を実行します。 AuthServer 認証サーバを開始します。 Cron cronデーモンを実行します。 表4-1 システムの起動項目 起動項目 説明C H A P T E R 4 起動とログイン ログイン手順 89  Apple Computer, Inc. February 2001 いくつかのシステムサービスは、/System/Library/StartupItemsディレクトリにスクリプトが存 在していても実行されない可能性があることに注意してください。システム初期化手順では、 /etc/hostconfigにある設定情報がキャッシュされます。この情報はSystemStarterプログラムが 実行するさまざまなスクリプトに対して有効で、スクリプトに、ユーザがあるサービスの実行を 要求したかどうか、および、場合により、そのサービスの実行時に使うパラメータを伝えます。 これらのサービスには、AppleTalk、AFP、QuickTime Streaming、メール送信、オートマウン ティング、IPルーティング、netbootingサーバ、Webサーバ(Apache HTTP)が含まれます。 ログイン手順 ログイン手順はloginwindowアプリケーションによって管理されます。loginwindowアプリケー ションはinitがgettyを介して間接的に起動します。loginwindowアプリケーションでは、グラフィ カルユーザインタフェースからコンソールターミナルにログインし、カスタマイズしたコンピュー ティング環境をセットアップすることができます。loginwindowアプリケーションの主要な仕事は 次の通りです。 ■ ログイン用のユーザインタフェースを表示します ■ ユーザがログインを試みたときに認証します ■ ユーザのコンピューティング環境をセットアップします(環境設定、環境変数、デバイスと ファイルのアクセス権、キーチェーンアクセスなど) ■ インストール中の場合、セットアップアシスタントを起動します ■ FinderとDockを起動します ■ ログアウト、再起動、およびシステム終了の手順を管理します これらの主要な仕事に加えて、以下に示すように、loginwindowはほかにも多くの機能を実行し ます。 ■ 「アプリケーションの強制終了」ウインドウ(コマンド+option+escキーで開く)を管理し ます。「アプリケーションの強制終了」ウインドウには、現在アクティブなアプリケーショ ンを監視する機能と、ユーザのアプリケーション強制終了リクエストおよびFinder再起動リ クエストに応答する機能があります。 ■ 非表示のアプリケーション(表示されるユーザインタフェースがないアプリケーション)から 通知を受けたときに警告ダイアログを表示します90 ログイン手順  Apple Computer, Inc. February 2001 C H A P T E R 4 起動とログイン ■ 「ログイン」システム環境設定の「ログイン項目」ペインで指定されたアプリケーションを自 動的に起動します ■ 標準エラー(stderr)出力をログファイル(/var/tmp/console.log)に書き込みます。この出 力はコンソールアプリケーションへの入力として使用されます。 このセクションではこれ以降、ユーザ認証の詳細と、正常なログインから最初のマウスクリックま たはキー入力までの間に発生する重要な動作について説明します。loginwindowアプリケーション の詳細については、loginwindow (8) manページを参照してください。 ユーザを認証する 認証手順の一部として、システムがネットワーク上にある場合、まずloginwindowアプリケーショ ンが、入力されたユーザ名とパスワードをネットワーク上のNetInfoデータベースと比較し、認証 を試みます(lookupdを利用)。システムがネットワーク上にない場合は、loginwindowはユーザ 名とパスワードをローカルのNetInfoデータベースと比較して認証しようとするときに、やはり lookupdを利用します。loginwindowアプリケーションは、次の2つの場合には自動的にユーザを ログインさせます。 ■ 「ログイン」システム環境設定の「ログインウインドウ」ペインで「自動的にログイン」オプ ションが選択され、「名前」フィールドと「パスワード」フィールドに有効な値がある場合 (図4-2(100ページ)参照)。 ■ システムがネットワークに接続されていない状態で、ローカルのNetInfoデータベースにある ユーザが1人だけで、パスワードが割り当てられていない場合。 ユーザ環境をセットアップする ユーザがログインを行うと(または自動的にログインすると)、loginwindowは以下の作業を実行 します。 1. 権限のないリモートアクセスからログインセッションを保護します。リモートから起動され たアプリケーションは、ペーストボードサーバ(つまりクリップボード)のポートに登録さ れません。この結果、コピー、カット、ペースト、アップルイベント、ウインドウの最小化 など、いくつかの標準機能が、これらのプロセスに対してブロックされます。 2. システムのutmpデータベースへのログインを記録します。 3. コンソールターミナルのオーナーとアクセス権を設定します。C H A P T E R 4 起動とログイン ログイン手順 91  Apple Computer, Inc. February 2001 4. ユーザの環境設定をリセットしてグローバルシステムデフォルト(NSRegistrationDomain) を含めます。 5. ペーストボードサーバ(pbs)をブートストラップポートに登録し、pbsを開始します。 6. マウス、キーボード、システムサウンド、ユーザ環境設定を使用したパワーマネージャを設 定します。 7. 必要に応じて、タイムゾーンと環境設定キャッシュをリビルドします。 8. ユーザのグループアクセス権を設定します。 9. ユーザの環境変数(HOME、PATHなど)を、ユーザの.loginファイルにある通りに設定します。 10. ユーザ環境設定からファイル作成アクセス権マスク(umask)を取得し、設定します。 FinderとDockを起動する loginwindowアプリケーションは、ログインしたユーザのコンピューティング環境をセットアップ した後、アップルイベントサブシステムを初期化し、FinderアプリケーションとDockアプリケー ションをこの順番に起動します。FinderとDockのプロセスが開始すると、「ログイン」システム環 境設定の「ログイン項目」ペインで指定されたアプリケーションか書類が起動されます。これらの 項目が起動するか開くと、ログイン手順は完了です。 何らかの理由でFinderまたはDockプロセスが停止した場合、loginwindowは自動的にそのプロセ スを再起動します。同じように、loginwindowアプリケーションが停止した場合、initプロセスが 自動的にloginwindowを再起動します。92 システムデーモン  Apple Computer, Inc. February 2001 C H A P T E R 4 起動とログイン システムデーモン Mac OS Xシステムにログインした直後にProcess Viewerアプリケーション(/Applications/Utilities にあります)を実行すると、システム上ですでに動作しているプロセスのリストを確認できます (図4-1(92ページ)参照)。通常、約20のプロセスが表示されますが、ユーザが起動したアプリ ケーションはProcess Viewerだけです(自動的に起動されたアプリケーションを除く)。ほかのプ ロセスの大部分は、バックグラウンドで重要な機能を実行するシステムデーモンかサーバです。 図4-1 Process Viewerで表示されるプロセスC H A P T E R 4 起動とログイン システムデーモン 93  Apple Computer, Inc. February 2001 表4-2で、これらのデーモンとサーバのうちのいくつかについて説明します。ユーザのコンピュー タがスタンドアロン(ネットワークに接続されていない)の場合、または(環境設定アプリケー ションを使用して)いくつかのサービスを要求しなかった場合、ここに示すデーモンのいくつかは 開始されない可能性があります。 表4-2 一般的なシステムデーモンとサーバ デーモン 説明 mach_init Machブートストラップポートサーバ。Machメッセージングを可能にしま す。また、initプロセスを開始します。 kextd デバイスドライバローダ。まずこのデーモンは、BootXがカーネルを開始す るのに必要なドライバをロードした後に残っているすべてのデバイスドラ イバをロードします。その後、kextdが、デバイスドライバのダイナミック なロードおよびアンロードを担当します。 Window Manager ウインドウサーバ。詳細については、「Core Graphics Services」(64ページ) を参照してください。 update 定期的にファイルシステムキャッシュをフラッシュして、クラッシュした 場合のデータ損失が発生しないようにします。 dynamic_pager カーネルのデフォルトページャと通信して、スワップファイル(/private/ var/vm)を作成または削除します。これらのファイルは仮想メモリのため のバッキングストアとして使用されます。 ATSServer Apple Type Solutionサーバ。システム全体のフォント管理を可能にします。 autodiskmount リムーバブルメディアを自動マウントします。 ipconfigd ネットワークを自動的に設定します。 syslogd システムエラーおよびステータスメッセージを記録します。 portmap RPCプログラム番号をInternet(DARPAプロトコル)ポート番号に変換しま す。RPCコールができるようになる前に、実行している必要があります。 nibindd NetInfoサーバを検出、作成、および破棄します(「netinfod」参照)。 netinfod NetInfoサーバ。サービスを受ける各ドメインごとに1つ。 lookupd 名前解決。NetInfoおよびDNSなどのネットワークインフォメーションサー ビスの参照リクエストを迅速に処理します。94 システムデーモン  Apple Computer, Inc. February 2001 C H A P T E R 4 起動とログイン これらのデーモンの詳細については、manページを参照してください。 DesktopDB FinderおよびDockが使用するデータベースのサーバ。その時点で既知のア プリケーションおよび書類の情報をキャッシュします。 inetd インターネット「スーパーサーバ」。ソケットで接続をリスンします。接続 が発生すると、そのソケットがどのサービスに対応しているかを判断し、 該当するプログラムを呼び出して、リクエストに対してサービスを提供し ます。 nfsiod 非同期リクエストをNFSサーバにサービスします。 automount NFSファイルシステムへのアクセスが最初に発生したときに、NFSファイル システムを自動的にマウントします。アイドル状態になると、アンマウン トします。仮想ファイルシステムのマウントポイントは、最初、ローカル ファイルシステム上のシンボリックリンクとして表示されます。このシン ボリックリンクの読み取りが発生すると、それがトリガーとなって、リン クに関連づけられているリモートファイルシステムをautomountがマウン トします。 cron スケジュールされたコマンドまたはスクリプトを実行します。 pbs ペーストボードサーバ(Mac OS 9のクリップボードに類似したもの)はア プリケーション間のデータ交換を可能にします。また、ドラッグ操作で使 用されるデータ転送メカニズムでもあります。詳細については、「クリップ ボード」(74ページ)を参照してください。 表4-2 一般的なシステムデーモンとサーバ デーモン 説明C H A P T E R 4 起動とログイン ログアウトおよびシステム終了 95  Apple Computer, Inc. February 2001 ログアウトおよびシステム終了 ログアウト、システムの再起動、およびシステム終了の手順は、同様のセマンティックスを持ち ます。これらの手順を実行するのはloginwindowアプリケーションですが、これらの手順を開始 するのはほかのプロセス(通常はFinder)です。リクエストを行うプロセスから見ると、次の3つ の手順があります。 1. プロセスが「Quit All」アップルイベント(kAEQuitAll)をloginwindowに送ります。 2. Loginwindow が「noErr」を返すと、プロセスは、ログアウト、再起動、またはシステム終了 を要求するアップルイベントを送ります。 3. リクエストを行ったプロセスが終了します。 loginwindowは、「Quit All」アップルイベントを受信すると、すべてのフォアグランドアプリケー ションに終了を要求します。ログアウト、再起動、システム終了のいずれかのイベントを受信する と、loginwindowはCarbon、Cocoa、またはJavaアプリケーション環境とリンクしているすべての バックグラウンドプロセス(ユーザインタフェースのないプロセス)に終了を要求します。このよ うなバックグラウンドプロセスは、終了を拒否することができます(下記参照)。ほかのプロセス、 特にルートとして実行されているプロセスは終了せず、それにより、サーバが提供する機能 (ApacheやAppleTalkなど)を複数のログインにわたって保持します。 重要 「Quit All」イベントがClassic環境のアプリケーションから開始された場 合、Classic環境のアプリケーションのみが終了し、ログアウト、再起 動、またはシステム終了のリクエストもClassic環境のみに適用される ことに注意してください。 loginwindowが終了を要求する場合、ある処理を行うと、プロセスは終了しないままになります。 また、システムを破壊しないためにプロセスが実行しなければならない処理もあります。96 ログアウトおよびシステム終了  Apple Computer, Inc. February 2001 C H A P T E R 4 起動とログイン loginwindowが「Quit All」イベントを受信すると、実行中のフォアグラウンドアプリケーション のリストを調べ、「Quit Application」アップルイベント(kAEQuitApplication)を送信すること で、各アプリケーションに順番に終了を要求します。このイベントを受信した場合、アプリケー ションは適切に動作しなくてはなりません。すぐに終了するか、先にユーザの判断が必要な場合 (保存されてない書類がある場合など)には警告ダイアログを表示する必要があります。問題が解 決されたときには、アプリケーションは終了する必要があります。終了しない場合、アプリケー ションはログアウトプロセス全体を破壊する可能性があります。loginwindowは「Quit Application」イベントをアプリケーションへ定期的に再送信し、アプリケーションがハングして いると思われる場合はユーザに警告を表示して、アプリケーションを終了するよう依頼します (シート、ダイアログ、または同様のオブジェクトを表示しているアプリケーションはハングして いるとは見なされません)。 Carbon、Cocoa、またはJavaとリンクしているバックグラウンドプロセスに対しては、手順が多 少異なります。loginwindowは、ログアウト、再起動、またはシステム終了のリクエストを、 終了を開始したプロセスから受信すると、各バックグラウンドプロセスに「Quit Application」 アップルイベントを送信します。これらのプロセスは、イベントを受け入れ「noErr」を返すこ とによって、終了を拒否することができます。しかし、これらのプロセスがアップルイベントを 処理しない場合(つまり「errAEEventNotHandled」が返される場合)、loginwindowはプロセス を強制終了します。バックグラウンドプロセスが終了しない場合も、loginwindowアプリケー ションはログアウト手順を中止しません。 重要 バックグラウンドのCarbon、Cocoa、またはJavaプロセスが終了しな いことを許すメカニズムは、プロセスが終了前に何かを完了させる必 要がある場合を想定したものです(コンテンツの索引作成など)。永続 的メカニズムとして想定されているのではありません。永続的なプロ セスはユーザごとではなく、ルートとして実行する必要があります。 loginwindowはルートプロセスを終了しません。C H A P T E R 4 起動とログイン カスタマイズのテクニック 97  Apple Computer, Inc. February 2001 すべてのアプリケーションと、協調しているバックグラウンドプロセスが終了すると、 loginwindowはそれぞれの場合に適切な処理を開始します。 カスタマイズのテクニック Mac OS Xシステムが起動してユーザがログインするときに実行される動作をカスタマイズする方 法がいくつかあります。 起動動作のカスタマイズ 起動項目を使用することにより、起動処理に特殊な動作を追加できます。このテクニックを使用す ると、最初のログインセッションの前に、デーモンの実行、データベースサーバの起動、古いファ イルの削除など、さまざまなことを実行できます。起動項目(「起動項目」(86ページ)参照)と は、依存関係の順に実行されるシェルスクリプトまたはコマンドラインプログラムです。依存関係 は、付属のプロパティリストに定義されている値で決定されます。 起動項目は、起動処理の最終段階として(SystemStarter プログラムにより)実行されます。 最初に、SystemStarterは、/System/Library/StartupItemsにあるシステム起動項目を実行しま す。次に、/Library/StartupItemsにある、ローカルドメイン用に定義された起動項目をすべて 実行します。作成した起動項目は、必ずこれらの場所のいずれか1つに置く必要があります。 起動項目を作成する方法は、以下の通りです: ログアウト loginwindowは、表示されるログインウインドウに制御を返す(次のログインを待 つ)前に、イベントキューにあるすべてのイベントをキューから削除し、ログアウ ト時実行プログラムを開始し(定義されている場合)、ログアウトを記録し、デバ イスのアクセス権とユーザ環境設定をデフォルトにリセットします(ログアウト時 実行プログラムの詳細については、「ログイン手順のカスタマイズ」(99ページ) を参照してください)。 システム終了 システムの電源をオフにします。 再起動 システムの電源をオフにしてからオンにし、起動処理を開始します。 loginwindowは、再起動すると、ルートデバイスのアクセス権およびユーザ環境 設定をデフォルトに設定します。98 カスタマイズのテクニック  Apple Computer, Inc. February 2001 C H A P T E R 4 起動とログイン 1. 実行する動作を表す名前を付けたディレクトリを作成します。 例:MyDBServer 2. このディレクトリに、ディレクトリと同一の名前を持つ実行可能ファイル(シェルスクリプト またはコマンドライン実行可能ファイル)を追加します。 例:MyDBServer/MyDBServer 3. プロパティリストを含むファイルに、StartupParameters.plistという名前を付けて、同一の ディレクトリに追加します。 例:MyDBServer/StartupParameters.plist この手順で重要なのは、プロパティリストの作成です。StartupParameters.plistには、起動項目 が提供するサービスと、他のサービスへの依存関係とを定義するキーと値のペアが含まれる必要 があります。起動項目の名前(フォルダと実行可能ファイルの名前)は、供給されるサービスの 名前と同一である必要はありません。表4-3に、プロパティリストのキーと値のペアの説明を示し ます。 表4-3 StartupParameters.plistのキーと値のペア キー 型 値 Description 文字列 起動項目の簡単な説明。管理ツールが使用します。 Provides 配列 起動項目によって提供されるサービス。起動項目は複数のサービス を提供することもできますが、通常は1つだけ提供します。複数の 起動項目が同一のサービスを提供する場合、SystemStarterは最初 に検出した起動項目だけを実行します。この動作は、1つの起動項 目に複数のサービスを割り当てるべきではないことを示していま す。1つの重複したサービスがオーバーライドされると、その起動 項目のすべてのサービスがオーバーライドされる可能性があるか らです。起動項目に複数のサービスを割り当てる必要があるのは、 そのサービスが共依存の場合だけです。C H A P T E R 4 起動とログイン カスタマイズのテクニック 99  Apple Computer, Inc. February 2001 Requires値およびUses値で指定されたルール以外に、起動項目の実際の実行順序について保証は ありません。 SystemStarterが起動項目を処理する場合、システムの起動時に、上位フォルダと同一の名前を 持つ実行ファイルを探し、そのファイルを引数startで実行します。実行可能ファイルに、複数 のシステム動作にわたって異なるタスクを実行させる場合は、実行可能ファイルはこのパラメー タを読み取り、その通りに動作する必要があります。現在、起動項目が実行されるのはシステム 起動時のみなので、常に引数startが付加されます。アップル社は、システム起動時以外にはほ かの引数で起動項目を呼び出せるようにSystemStarterを変更する権利を留保しています。たと えば、引数がstopの場合に、その起動項目をシステム終了時に実行する、などのような場合です。 /Developer/ApplicationsにあるProperty List Editorアプリケーションを使用して、 StartupParameters.plist用のXML形式のプロパティリストを作成できます。 ログイン手順のカスタマイズ loginwindowアプリケーションの動作をカスタマイズする一般的な方法は3つあります。 ■ 「ログイン」システム環境設定の「ログインウインドウ」ペインで、設定を変更する方法 ■ アプリケーションのパラメータ、特にログイン時とログアウト時にスクリプトやツールを実行 するパラメータを指定する方法 Requires 配列 この起動項目より前に実行する必要のある、ほかの起動項目が提供 するサービスを処理することができます。サービスが有効でない場 合は、この起動項目は実行されません。 Uses 配列 この起動項目の前に開始される必要のある、ほかの起動項目が提供 するサービス。これらのサービスが有効でなくても、起動項目は実 行されます。 OrderPreference 文字列 同一の実行順序(Requires値およびUses値で決定される)の起動項 目に対し、それらが開始される相対的な順序。First、Early、None、 Late、Lastの5つの優先順位値があります。デフォルトはNoneです。 優先順位は推奨値で、無視されることがあります。 表4-3 StartupParameters.plistのキーと値のペア キー 型 値100 カスタマイズのテクニック  Apple Computer, Inc. February 2001 C H A P T E R 4 起動とログイン ■ loginwindowの環境設定値として、Finderアプリケーション以外のものを指定する方法 管理者はloginwindowのいくつかの機能を「ログインウインドウ」ペインで設定できます。この ペインにアクセスするには、アップルメニューから「システム環境設定」を選択します。「シス テム環境設定」ウインドウで設定のリストから「ログイン」ボタンをクリックし、続いて「ログ インウインドウ」タブをクリックします。図4-2に、「ログインウインドウ」ペインが表示された 状態を示します。 図4-2 「ログイン」システム環境設定の「ログインウインドウ」ペイン 管理者として認証されると(ロックをクリックしてパスワードを入力)、以下の変更を行うこと ができます。 ■ 最初の起動時に、loginwindowがユーザをシステムにログインさせるために使用するユーザ名 とパスワードを提供します。 ■ ログインウインドウの「システム終了」ボタンと「再起動」ボタンを無効にします。これによ り、共有サービス(プリントサーバ、ファイルサーバなど)を提供しているシステムの電源を ユーザが不用意にオフにするのを防止できます。C H A P T E R 4 起動とログイン カスタマイズのテクニック 101  Apple Computer, Inc. February 2001 ■ ユーザがログインを3回試みた後で、loginwindowがパスワードのヒントを表示するように要 求します。ヒントは、管理者がユーザアカウントを作成したときに設定することができます。 また、「パスワード」環境設定ペインで、ユーザが自分でヒントを設定することもできます。 ■ カスタム認証を選択します。 管理者は、loginwindowの動作を変更する、より強力な手段をほかにも持っています。loginwindow アプリケーションは/etc/ttysにあるコンソールターミナルの定義によって起動されます。ttysファ イルの最初の文(コメント文を除く)には、以下の定義が含まれています。 console "/System/Library/CoreServices/loginwindow.app/loginwindow" vt100 on secure window=/System/Library/CoreServices/WindowServer onoption="/usr/ libexec/getty std.9600" この行は、initプログラムに対し、コンソールターミナル上でloginwindowを起動し、WindowServer (Window Managerプロセスへのシンボリックリンク)をウインドウ表示システムプロセスとして 使用するように指示します。ほかのアプリケーションと同様に、定義されたパラメータを実行可能 ファイル名の直後に指定することができます。loginwindowには、表4-4に示す4つのパラメータが 定義されています。 表4-4 loginwindowパラメータ パラメータ 値の説明 -LoginHook ユーザが正常にログインしたときに実行されるスクリプトまたはツール へのフルパス。 -LogoutHook ユーザが正常にログアウトしたときに実行されるスクリプトまたはツー ルへのフルパス。 -HostName ログインウインドウに表示される代替名(「localhost」またはNetInfoのホ スト名以外)。空文字列を設定することもできます。 -PowerOffDisabled 「YES」の場合、ログインウインドウの「システム終了」ボタンと「再起 動」ボタンが無効になります。コンピュータの電源ボタンを押した場合 も、FinderアプリケーションとDockアプリケーションは終了しますが、 システムは終了しません。これにより、共有サービス(プリントサーバ、 ファイルサーバなど)を提供しているシステムの電源をユーザが不用意 にオフにするのを防止できます。このパラメータは、「ログイン」環境 設定でログインウインドウの「再起動」ボタンと「システム終了」ボタ ンを無効にした場合と同一の動作を実現します(このセクションの前半 を参照)。102 カスタマイズのテクニック  Apple Computer, Inc. February 2001 C H A P T E R 4 起動とログイン -LoginHookおよび-LogoutHookパラメータは特に有効です。カスタム管理プログラム、アカウン ティングプログラム、セキュリティプログラムを、ログインおよびログアウト手順の一部として実 行させることができます。/etc/ttysに置く、変更済みのコンソール定義の例を以下に示します。 console "/System/Library/CoreServices/loginwindow.app/loginwindow -PowerOffDisabled YES -LoginHook /Users/Administrator/Scripts/ mailLoginToAdmin" vt100 on secure window=/System/Library/CoreServices/ WindowServer onoption="/usr/libexec/getty std.9600" loginwindowに、Finderシステムアプリケーション以外のものを起動するように要求することもで きます。たとえば、作業でBSDシェルだけを使用したいときなど、Finderの代わりにTerminalアプ リケーションを使用したい場合があります。defaultsユーティリティを使用すると、Finderの代替 になるものをloginwindowの環境設定値として指定できます。コマンドの構文は以下の通りです。 defaults write loginwindow Finder 指定するパスは、アプリケーションパッケージへのフルパスである必要があります(たとえば、 /Applications/Utility/Terminal.app)。コマンドは、ルート(loginwindowのオーナー)として投 入する必要があります。defaultsユーティリティの詳細については、「ソフトウェアの設定」の 章の「defaultsユーティリティ」(205ページ)、およびdefaultsのmanページを参照してください。103  Apple Computer, Inc. February 2001 C H A P T E R 5 5 バンドル バンドルとは、実行可能コードとそのコードに関連するソフトウェアリソースを格納したファイ ルシステム内のディレクトリのことです(バンドルの中に実行可能コードのみ、またはソフトウェ アリソースのみが含まれることもありますが、そのようなことはまれです)。要するに、バンドル ディレクトリは、1つのパッケージに含まれているリソースのセットを「束ねる」(バンドルする) ものです。リソースに含まれるものには、画像、サウンド、ソフトウェアの一部で使用されるロー カライズされた文字列などがあります。コードとそれに関連するリソースをファイルシステム内 の1箇所にまとめることができるため、インストールやアンインストールの管理、およびその他 の形態でのソフトウェア管理が容易になります。 バンドルには、アプリケーション、フレームワーク、およびロード可能バンドル(プラグインを 含む)などのタイプがあります。内部的に見ると、これらのバンドルタイプの構造は非常によく 似ています。アプリケーション、フレームワーク、およびロード可能バンドルの違いは、それら に含まれる実行可能コードの特性と目的から生まれます。これらのタイプはそれぞれ、.app、 .framework、および.bundleという独自の拡張子を必要とします(ロード可能バンドルの場合は アプリケーション定義の拡張子も使用できます)。 プログラム内でバンドルは、クラスのインスタンスや手続き型言語のopaque型のオブジェクト などのプログラムエンティティによって表されます。これらのエンティティのルーチンにより、 プログラムコードは必要なバンドルリソースを使用できるようになります。その他に、実行中の アプリケーションへの実行可能コードのロードおよびリンクを可能にするルーチンがあります。 アプリケーションは、ロード可能バンドルに含まれるコードが必要になる度にそのコードをロー ドすることができます。フレームワークは自動的かつダイナミックに共有ライブラリのコードを ロードしてリンクします。104 バンドルを使用する利点  Apple Computer, Inc. February 2001 C H A P T E R 5 バンドル バンドルの中に複数のリソースのセットが含まれ、それぞれのセットが言語、ロケール、または プラットフォームによってリソースをグループ化している場合があります。これらのリソースの セットと実行可能イメージを単一のパッケージにまとめることで、アプリケーション、フレーム ワーク、またはプラグインのバージョンを1つ作成しただけで、サポートしている任意のプラッ トフォームで正しく動作させることができます。このモデルを使用すると、ユーザの言語環境設 定に従って、アプリケーションのヒューマンインタフェースを自動的にローカライズすることも できます。 通常、Finderはバンドルディレクトリを1つのファイルとしてユーザに表示し、バンドルの内容が 不当に変更されるのを防ぎます。しかし、フレームワークのように一部のバンドルのディレクトリ 構造は表示されることがあります。Finderがバンドルをファイルとして表示するか、フォルダとし て表示するかは、Finderの属性の1つであるバンドルビットがバンドルディレクトリでセットされ ているかどうかなどの、いくつかの要因によって決まります。また、Finderは、すべてのアプリ ケーションバンドルの名前に含まれている拡張子を非表示にします。 バンドルを使用する利点 Mac OS 8の従来のソフトウェアパッケージング方式に比べて、バンドルにはさまざまな利点があ ります。 ■ 同一のバンドルの実行可能コードを、Mac OS 8、Mac OS 9、Mac OS Xのいずれのオペレーティ ングシステム上でもそのまま実行できます。 ■ 単一のバンドルで、マルチプロセッシングアーキテクチャ(PowerPC、x86)、ライブラリ アーキテクチャ(CFM、Mach-O)、およびその他の特殊な実行可能コード(Velocity Engine に最適化されたライブラリなど)をサポートすることができます。 ■ 単一のバンドルで、国際化アーキテクチャにより複数の言語をサポートすることができます。 新しいローカライズリソースの追加や不要なローカライズリソースの削除を容易に行えます。 注意:Mac OS Xの現在のリリースに含まれているフレームワークは「バージョン付き」のバ ンドルです。つまり、ダイナミック共有ライブラリにバージョンを割り当てる方法が異なるた め、内部構造が異なります。この構造には、新しいタイプのバンドルで提供されている機能の 多くが欠けています。このタイプのバンドルの詳細については、「フレームワーク」(131ペー ジ)を参照してください。C H A P T E R 5 バンドル バンドルの解剖 105  Apple Computer, Inc. February 2001 ■ バンドルはさまざまなフォーマットのボリューム上に置くことができます。HFS、HFS+、AFP などのマルチフォークフォーマットにも、UFS、SMB、NFSなどのシングルフォークフォーマッ トにも置くことができます。 ■ Sherlockを使用して、ヘルプファイルやその他のバンドルに関する情報リソースにアクセスし たり、その索引を作成したりすることができます。 ■ ドラッグするだけで、バンドルのインストール、移動、および削除を行うことができます。 次のセクション「バンドルの解剖」で説明するバージョン付きのバンドルは、上に挙げた特徴の 最初の2つを持ちません。つまりマルチプロセッシングアーキテクチャと、異なるMac OSシステム 上で動作する実行可能ファイルをサポートしていません。 バンドルの解剖 バンドルには実行可能コードが含まれており、さらに次のようなさまざまなリソースが含まれてい る場合があります。 ■ 画像 ■ サウンド ■ ローカライズされた文字列 ■ Resource Managerスタイルのリソースファイル ■ ライブラリとフレームワーク ■ プラグインおよびその他のロード可能バンドル ■ アーカイブされたユーザインタフェースの定義 Mac OS Xがサポートしているバンドルディレクトリのレイアウトには、「ニュースタイル」とバー ジョン付きの2種類があります。バージョン付きバンドルのディレクトリレイアウトは、Mac OS Xより前のオペレーティングシステムから引き継いだものです。次に、このレイアウトの例を示 します。106 バンドルの解剖  Apple Computer, Inc. February 2001 C H A P T E R 5 バンドル MyBundle.bundle/ MyBundle (executable code) Resources/ Pretty.tiff (nonlocalized resource) English.lproj/ (localized resources) Stop.eps MyBundle.nib MyBundle.strings French.lproj/ (localized resources) Stop.eps MyBundle.nib MyBundle.strings Mac OS Xで動作する最新の開発ツールはニュースタイルのバンドルのみを作成しますが(フレー ムワークを除く)、システムバンドルルーチンでは、両方のスタイルのバンドルの読み込みと処理 を行うことができます。 このセクションでは、ニュースタイルバンドルのレイアウトについて説明し、実行可能コードとリ ソースがバンドル内のどこに配置されているかを明らかにします。ディスク上では、バンドルは ディレクトリ階層として存在します。リスト5-1に、バンドルが最低限持つ構造を示します。 リスト5-1 最小のバンドル - MyBundle/ Contents/ PkgInfo Info.plist つまり、バンドル内には、Contentsディレクトリと、その内部にPkgInfoおよびInfo.plistファイル が必ず存在する必要があります。これらのファイルは、Finderやオペレーティングシステムのその 他の部分がバンドルを取り扱う方法を決定する上で重要です。これらのファイルはバンドルのさま ざまな属性を記述しています。 情報プロパティの一覧であるInfo.plistファイルには、キーと値のペアがXMLフォーマットで格 納されています。このペアには、バンドルの主要な実行可能コードの名前、バージョン情報、 タイプとクリエータコード、アプリケーションと書類のアイコン、その他のメタデータなどの属 性が指定されています。システムルーチンは、バンドルの実行可能コードが実行時にこれらの属 性を読む込むことができるようにします。デフォルトのバンドル属性に加えて、サブシステム が、実行時のアクセスを容易にするために独自の属性情報をInfo.plistファイルに書き込む場合 があります。同様に、情報プロパティリストにはアプリケーション定義の任意のデータを格納す ることもできます。情報プロパティリストの詳細と例については、「ソフトウェアの設定」の章 の「情報プロパティリスト」(190ページ)を参照してください。C H A P T E R 5 バンドル バンドルの解剖 107  Apple Computer, Inc. February 2001 もう1つの特殊なバンドルファイルはPkgInfoと呼ばれます。このファイルには、バンドルのタイプ とクリエータコードだけが含まれます。これは情報プロパティリストにも保持されているため冗長 な情報ですが、PkgInfoファイルは、ファイルのタイプとクリエータコードにすばやくアクセスす る必要があるFinderのようなアプリケーションのパフォーマンスを向上させるキャッシュとして 機能します。FinderがPkgInfoファイルおよびInfo.plistファイルに含まれる情報を処理する方法に ついては、「Finder」(179ページ)を参照してください。 Info.plistファイルには、InfoPlist.stringsという名前の、特殊なローカライズされたリソースファイ ルが付属します。InfoPlist.stringsファイルには、CFBundleNameキーのように、ローカライズが必 要な情報プロパティリスト内のキーが含まれます。 以上のような最小のバンドルレイアウトから始めて、バンドルディレクトリは複雑なアプリケー ションに見られるような大規模なバンドルにまで拡張することができます。リスト5-2に、大規模 なバンドルに含まれるものを示します。108 バンドルの解剖  Apple Computer, Inc. February 2001 C H A P T E R 5 バンドル リスト5-2 複雑なアプリケーションのバンドルレイアウト - MyBundle/ MyApp /* alias to Contents/MacOSClassic/MyApp */ Contents/ MacOSClassic/ MyApp Helper Tool MacOS/ MyApp Helper Tool Info.plist PkgInfo Resources/ MyBundle.icns Hand.tiff Horse.jpg WaterSounds/ en_US.lproj/ MyApp.nib bird.tiff Bye.txt house.jpg house-macos.jpg house-macosclassic.jpg InfoPlist.strings Localizable.strings CitySounds/ en_GB.lproj MyApp.nib bird.tiff Bye.txt house.jpg house-macos.jpg house-macosclassic.jpg InfoPlist.strings Localizable.strings CitySounds/ Japanese.lproj/ MyApp.nib bird.tiff Bye.txt house.jpg house-macos.jpg house-macosclassic.jpg InfoPlist.strings Localizable.strings CitySounds/ Frameworks/ Plug-ins/ SharedFrameworks/ SharedSupport/C H A P T E R 5 バンドル バンドルの解剖 109  Apple Computer, Inc. February 2001 さまざまなタイプのバンドルが存在しますが、どのタイプのバンドルにも共通の特徴がありま す。バンドルの最上位レベルには、常にContentsディレクトリが存在します。Resources、 Frameworks、SharedFrameworks、SharedSupport、およびPlug-insディレクトリはオプショ ンで、必要なときだけ表示されます。 重要 バンドルの構造は変更されることがあるため、バンドル内の項目への パスをコードに直接書き込むのは避けてください。パスを指定するに は、アップル社が提供するバンドルAPIを使います。 いくつかのディレクトリには、その名前が示すように、特定のプラットフォームに対応した実行 可能コードが含まれています。バンドルのコードが要求されると、システムは基礎にあるオペ レーティングシステムに適したフォーマットのコードを検索します。プラットフォームごとの実 行可能ディレクトリの名前はMacOSClassicとMacOSです。これらのディレクトリ内にある実行 可能ファイルの名前は、通常、バンドル名と同じです(ただし、拡張子を除いた名前)。 リソースはローカライズすることもできますが、ローカライズせずにすべての国や地域に対応さ せることもできます。ローカライズされたリソースの各セットはバンドル内の独自のディレクト リに配置されます。Resourcesディレクトリには、言語あるいはその言語のバリエーションが話 されている地域に従ってグループ化されたリソースファイルが含まれています。これらのディレ クトリは.lprojという拡張子を持ちます(「l」は「language(言語)」を意味します)。このような ディレクトリにはそれぞれ、特定の言語(またはそのバリエーション)に対応した、ローカライ ズ可能なすべてのリソースが含まれています。ローカライズされないリソースは.lprojディレクト リのすぐ上のレベルに配置されます。この場合、ただ1つのバージョンのファイルしか必要あり ません。ローカライズされないリソースの一例は、バンドルのアイコンファイルです(アプリケー ションバンドルであればアプリケーションアイコン)。慣例から、このファイルにはバンドルの名 前に拡張子.icnsを付加した名前が付けられます。画像のフォーマットは、サポートされているタ イプであればかまいません。拡張子が指定されていない場合、システムは.icnsを仮定します。バ ンドルリソースの詳細については、「ローカライズされたリソース」(114ページ)を参照してく ださい。 Resource Managerではそれぞれのリソースを単一のファイルにまとめますが、バンドルではほ とんどの場合、それぞれのリソースは個別のファイルに格納されます。ただし、ローカライズ可 能な文字列は「strings」ファイル(.stringsという拡張子を持つファイル)の中にまとめて格納 されます。ローカライズ可能な文字列を1つのファイルに格納する理由は、容易にその内容を キャッシュでき、パフォーマンスを向上させることができるためです。 バンドルリソースとローカライズされた文字列の詳細については、「国際化」(207ページ)の章 を参照してください。110 Finderとバンドル  Apple Computer, Inc. February 2001 C H A P T E R 5 バンドル 重要 バンドルの実行可能ファイルのリソースフォークにあるリソースは パッケージングしないことをお勧めします。 Frameworksディレクトリには、アプリケーションに密接にバインドされたフレームワークが含ま れます。これらのフレームワークのダイナミック共有ライブラリは対象のリビジョンが固定されて おり、対象となるオペレーティングシステムで使用可能な他のバージョンや新しいライブラリに置 き換えられることはありません。 SharedFrameworksディレクトリには、アプリケーションパッケージが使用するフレームワーク が含まれますが、利用可能なより新しいバージョンのフレームワークがないかどうかシステムレ ジストリを検索します。より新しいバージョンがシステム内に検出されると、 SharedFrameworksディレクトリにあるバージョンは無視されます。アプリケーションパッケー ジの中にバージョン付きのフレームワークを組み込むと、アプリケーションを完全に自己完結的 にすることができます。アプリケーションは単純なドラッグ操作によって、インストール、移動、 または削除することができます。 Frameworks、SharedFrameworks、Plug-ins、およびSharedSupportディレクトリは、多くの場 合アプリケーションバンドルにあります。これらのディレクトリの詳細については、「アプリケー ションのパッケージング」(119ページ)を参照してください。 Finderとバンドル バンドルを作成するとき、ビルドシステムが、バンドルフォルダの「バンドルビット」と呼ばれる Finder属性をセットすることがあります。Mac OS XのFinderは、ウインドウの1つにバンドルを表 示する前に、この属性を読み込みます。バンドルビットがオンになっていると、バンドルはファイ ルパッケージとして表示されます。ファイルパッケージとは、Finderがあたかも1つのファイルで あるかのようにユーザに表示するフォルダのことです(図5-1を参照)。つまりFinderは、ユーザに フォルダの内容が見えないようにします。このようにフォルダの内容を見えにくくすることで、 ユーザが誤って(あるいは意図的に)バンドルの内容を変更できないようにします。C H A P T E R 5 バンドル バンドルのタイプ 111  Apple Computer, Inc. February 2001 図5-1 Finderのバンドルビット 一部のバンドルでは、バンドルビットがセットされていないことがあります。アップル社が提供 するバンドルなどが該当します。しかし、Finderはそれでもバンドルを適切に取り扱います。 次のセクションで説明するように(「バンドルのタイプ」(111ページ))、バンドルフォルダはそ のタイプを示す拡張子(.app、.framework、.bundleなど)を持っていなければなりません。 Finderがこれらのフォルダ拡張子のいずれかに遭遇し、そのフォルダが実際にバンドルであると 判断すると、Finderは次のように適切な動作を行います。 ■ フレームワーク以外のバンドルをファイルパッケージとして表示します。 フレームワークはフォルダとして表示されるため、ヘッダファイルをブラウズすることができ ます。 ■ バンドルがアプリケーションの場合(アプリケーションパッケージとも呼ばれます)、Finder は.app拡張子を非表示にします。 ■ Finderは必要な実行時情報(タイプやクリエータコードなど)をバンドルから抽出または算出 し、その情報を使って、自分のデータベースを更新します。 FinderとFinderによるバンドルや書類の取り扱い方法の詳細については、「Finder」(179ページ) を参照してください。 バンドルのタイプ Mac OS Xは、少なくとも3つのバンドルのタイプを認識します。 ■ アプリケーション:Mac OS Xアプリケーションの場合、アプリケーションパッケージとは、 アプリケーションの実行可能ファイルなど、アプリケーションの起動に必要なリソースを含 むバンドルです。 バンドルビットON バンドルビットOFF112 バンドルのタイプ  Apple Computer, Inc. February 2001 C H A P T E R 5 バンドル ■ フレームワーク:フレームワークとは、ダイナミック共有ライブラリと、ライブラリに付属す るすべてのリソース(ヘッダファイル、画像、マニュアルなど)を含んだバンドルです。 ■ ロード可能バンドル:アプリケーション同様、ロード可能バンドルも、通常は実行可能コー ドとそれに関連するリソースを含みます。ロード可能バンドルは、実行中のアプリケーショ ンに明示的にロードされる必要があるという点でアプリケーションやフレームワークと異 なります。ロード可能バンドルにはいくつかの特殊なタイプがありますが、次の2つには特 に注意が必要です。 ■ パレット:パレットは、ロード可能バンドルの1つのタイプで、Interface Builder特有の ものです。パレットには、Interface Builderのパレットにロードされるカスタムユーザイ ンタフェースオブジェクトとコンパイル済みコードが含まれます。 ■ プラグイン:プラグインは特殊なロード可能バンドルで、一般のバンドルのプログラミ ングインタフェースを超えたアーキテクチャのインプリメンテーションで使用されるこ とが想定されています。 さらに、カーネル機能拡張(KEXT)もロード可能バンドルの1つのタイプで、ローレベルの システムバンドルルーチンが認識してカーネル環境にロードします。ほかのロード可能バン ドルによく似ていますが、アプリケーションやその他の非カーネルソフトウェアがロードす ることはできません。KEXTバンドルは.kextという拡張子を持ちます。KEXTの詳細につい ては『Inside Mac OS X: Kernel Environment』を参照してください。 バンドルはそれぞれのタイプに対応した拡張子を持たなければなりません。アプリケーションの 拡張子は.appです。開発中バージョンの場合は、.debugおよび.profileという拡張子を使用しま す。フレームワークの拡張子は.frameworkです。プラグインおよびその他のロード可能バンド ルは任意の拡張子を持つことができますが、そのバンドルをロードする方法を認識しているアプ リケーションが要求する拡張子を使用する必要があります。ロード可能バンドルのジェネリック な拡張子は.bundleです。拡張子.appはFinderにより非表示にされるため、ユーザインタフェー スでは表示されません。 アプリケーションのメインバンドル 一部のコマンドラインツールを除いて、あらゆるアプリケーションは少なくとも1つのバンドル (メインバンドル)を持っています。これは、そのアプリケーションのリソースと実行可能ファイ ルが格納されているフォルダです。アプリケーションバンドルは、.app(リリース版のアプリケー ション)、.debug(デバッグシンボルを含むアプリケーション)、または.profile(プロファイリン グデータを含むアプリケーション)のいずれかの拡張子を持たなければなりません。Finderは.app 拡張子をユーザに表示しません。C H A P T E R 5 バンドル バンドルのタイプ 113  Apple Computer, Inc. February 2001 フレームワークバンドル フレームワークは、ダイナミック共有ライブラリ、インタフェース定義ファイル、画像、およびそ の他の実行可能コードをサポートするリソースを、関連するプログラミングインタフェースを記述 したヘッダファイルやマニュアルとともにパッケージングしているバンドルです。アプリケーショ ンがフレームワークにダイナミックにリンクされているかぎり、それ以降、それらのフレームワー クに対して明示的に何らかの処理を行う必要はほとんどありません。実行中のアプリケーション内 で、フレームワークのコードは必要に応じて自動的にロードおよびリンクされます。フレームワー クは.frameworkという拡張子を持たなければなりません。 ロード可能バンドルとダイナミックリンク メインバンドルとリンクされたフレームワークのバンドルに加えて、アプリケーションには任意 の数のその他のバンドルを組み込むことができます。これらのロード可能バンドルは通常アプリ ケーションファイルパッケージ内にありますが、ファイルシステム内のどこにあってもかまいま せん(しかし通常は、ファイルシステムドメインの/Library/Extensionsディレクトリに置かれま す)。アプリケーションはバンドルに含まれるコードとリソースを必要に応じてダイナミックに ロードすることができます。たとえば、PostScriptプリンタを管理するアプリケーションは、プリ ンタにダウンロードされるPostScriptコードを含むバンドルを持つことができます。 ロード可能バンドルに含まれる実行可能コードは、アプリケーションの実行時にダイナミックにア プリケーションにリンクされます。さまざまなコードローディングプログラミングインタフェース を使用することで、名前によりロード可能バンドルに含まれる関数をルックアップし、関数ポイン タを介してそれらの関数を呼び出すことができます。このようにして新しくリンクされたコード は、バンドル識別子を使って、そのバンドルのインスタンスを取得できます。このバンドルのイン スタンスを介して、コードはそのバンドルにパッケージングされているその他のリソースを検出し てロードできます。 ロード可能バンドルは拡張子を持たなければなりません。一般に使用されるロード可能バンドルの 拡張子は.bundleで、Interface Builderのパレットバンドルの拡張子は.paletteです。拡張子はどんな ものでもかまいませんが、そのバンドルをロードできる1つまたは複数のアプリケーションが要求 する拡張子であることが理想的です。拡張子を持つバンドルはFinderによってアプリケーションに 関連づけられ、ユーザがこれらのバンドルをダブルクリックすると、アプリケーションが起動し (起動していなかった場合)、バンドルをロードします。114 ローカライズされたリソース  Apple Computer, Inc. February 2001 C H A P T E R 5 バンドル ローカライズされたリソース 1つのバンドルを世界の複数の国や地域で使用する場合は、言語、国、または文化的な地域区分 に対応して、そのリソースをカスタマイズあるいはローカライズしなければならないことがあり ます。たとえば、アプリケーションによっては、メニューコマンドの名前を示す文字列の日本語、 英語、フランス語、およびスウェーデン語バージョンを個別に持たなければならないことがあり ます。また、イギリス英語とアメリカ英語のように、地域による言語のバリエーションに対応し なければならないこともあります。 バンドルでは、リソースを対象となる地域および言語に従ってグループ化し、地域および言語の 名前に拡張子.lprojを付加した名前を持つディレクトリにまとめることで、この問題を解決しま す。地域固有のリソースディレクトリには、ISO 3166規格に定められた国別コード、およびISO 639規格に定められた言語コードにもとづく名前を使用する必要があります(http://www.iso.ch を参照)。たとえば、フランス本国で話されているフランス語に固有のリソースはfr_FR.lprojと いう名前のディレクトリに収め、カナディアンフレンチに固有のリソースはfr_CA.lprojという名 前のディレクトリに収めます。ローカライズされたリソースのうち地域区分を必要としないもの は、English.lprojまたはJapanese.lprojのように、言語名だけを示すディレクトリに配置します。 これらのローカライズされたリソースのディレクトリは、バンドルのContentsディレクトリ内 にあるResourcesという名前のディレクトリに配置します。ローカライズされない(グローバル な)リソースはResourcesディレクトリの最上位レベルに保持されます。複雑なバンドルのファ イルシステムレイアウトの例については、「バンドルの解剖」(105ページ)を参照してください。 実行時にバンドルが、どのローカライズされたリソースのセットを実際に使用するかを決定する のはユーザです。バンドル関連のシステムルーチンは、環境設定アプリケーションでユーザが設 定した言語環境設定に従います。ユーザは、環境設定アプリケーションを使って、使用したい地 域設定の優先順位リストを作成します。リストの先頭の項目が最も優先される地域になり、2番 目の項目が次に優先される地域になります。バンドルは、リソースファイルを要求されると、 ユーザの地域情報環境設定に最もよく一致するリソースのファイルシステム内の位置を返しま す。バンドルリソースの位置を知るためにMac OS Xが使用するプロセスの詳細については、「検 索アルゴリズム」(115ページ)を参照してください。.lprojディレクトリの命名方式の詳細につ いては、「国際化」(207ページ)の章を参照してください。C H A P T E R 5 バンドル ローカライズされた文字セット 115  Apple Computer, Inc. February 2001 ローカライズされた文字セット 非常によく使用されるリソースタイプの1つにstringsファイル(習慣的に、.stringsという拡張子 を付けます)があります。stringsファイルは、ローカライズする必要のある文字列のために使用 します。このファイルは、基本的に、開発言語の文字列を、ローカライズされたバージョンの文 字列にマップする辞書です。必ずそうである必要はありませんが、通常は開発時の言語をキーに 使用します。 システムルーチンはstringsファイルを検出してロードする方法を知っており(他のリソースと同 様)、1ステップで必要な文字列をすべて参照します。また、キャッシングメカニズムが用意され ているため、同一のテーブルを参照する度にstringsファイルを繰り返し検出してロードする必要は ありません。 stringsファイルは頻繁に使用されるため、Mac OS Xの開発環境には、このファイルを使った作業 に使用できる特殊なマクロやツールがいくつか用意されています。詳細については、「文字列を ローカライズする」(216ページ)を参照してください。 検索アルゴリズム バンドル固有のプログラミングインタフェースを使ってリソースを検出すると、適切なバージョ ンのリソースが確実に返されるように検索が実行されます。リソースの中には、グローバルなも の、ローカライズされたもの、あるいはプラットフォームに固有のものが存在するため、リソー スの検索は複雑になることがあります。このため、さまざまなリソース検索APIが用意されていま す。これらのAPIを使用すると、バンドルのパッケージング方式の変更による影響を意識する必要 もなく、多数のやっかいな検索の問題も自動的に処理することができます。自分自身でバンドル の内部を探し回ることは避け、常にこれらのAPIを使用するようにしてください。 図5-2に、リソースを検出するためにシステムルーチンが使用する詳細な手順を示します。116 検索アルゴリズム  Apple Computer, Inc. February 2001 C H A P T E R 5 バンドル 図5-2 バンドルに含まれるリソースの検出 Search for a � Global Resource グローバル� リソースを検索する� Search for a � Platform Specific � Resource プラットフォーム� 固有のリソースを� 検索する� Return the � Platform-Generic� Resource プラットフォームに� ジェネリックな� リソースを返す� Return the � Platform-Specific� Resource プラットフォームに� 固有の� リソースを返す� Yes No ローカライズされたリソースを検索する� Resource� Found リソースが� 検出された� Resource� Found リソースが� 検出された� ユーザの地域初期設定を使って� 地域固有のリソースを検索する� Yes No Yes No Yes No Yes No Resource� Found リソースが� 検出された� バンドルの開発言語に� 含まれるリソースを検索する� Resource� Found リソースが� 検出された� バンドルの開発地域に� 含まれるリソースを検索する� Resource� Found リソースが� 検出された� 優先される地域の言語に� 一致するリソースを検索する� Search Failed� Return NULL 検索は失敗、� NULLを返す� Resource� Found リソースが� Yes 検出された� NoC H A P T E R 5 バンドル 検索アルゴリズム 117  Apple Computer, Inc. February 2001 グローバルなリソースがローカライズされたリソースよりも優先される点に注意してください。 実際は、あるリソースのグローバルなバージョンとローカライズされたバージョンの両方が存在 することは決してありません。あるリソースのグローバルバージョンが存在する場合、同じリソー スのローカライズされたバージョンは決して検出されません。このような優先順位を設ける理由 はパフォーマンスの向上です。ローカライズ可能なリソースの検索を先に行ってしまうと、バン ドルルーチンはグローバルリソースを発見する前に、必要もないのに、複数のローカライズされ たリソースのフォルダを検索せざるをえなくなります。また、プラットフォーム固有のリソース を検索するには、プラットフォームにジェネリックなバージョンが存在しなければならない点に も注意してください。この理由はやはりパフォーマンスの向上にあります。一般に、あるプラッ トフォーム用のリソースのバージョンをジェネリックにし、そのほかのあらゆるプラットフォー ムに対してはプラットフォーム固有のバージョンを提供するようにしてください。 目的のリソースを見つけたとき、リソース検出ルーチンはプラットフォーム固有のバージョンが 存在するかどうかをチェックします。プラットフォーム固有のリソースには標準の識別子を使っ た名前が付けられています。プラットフォーム固有のリソースを作成するときに使用できる名前 はmacosclassic(Mac OS 8およびMac OS 9)またはmacos(Mac OS X)です。プラットフォー ム固有のリソースの名前を得るには、プラットフォームにジェネリックな名前とプラットフォー ムの識別子文字列を組み合わせます。たとえば、Fish.jpgという名前のリソースがある場合、Mac OS 8固有の名前はFish-macosclassic.jpgになります。Mac OS 8で実行されているアプリケー ションがFish.jpgというリソースを要求するとき、バンドルルーチンは同じフォルダ内に Fish-macosclassic.jpgが存在するかどうかをチェックします。存在する場合は、ルーチンはプ ラットフォーム固有のリソースへのパスを返します。存在しない場合は、Fish.jpgへのパスが返 されます。すでに説明したように、Fish-macosclassic.jpgが検出されるためには、Fish.jpgと いう名前のファイルが同じフォルダ(言語に固有のリソースディレクトリを含む)に存在してい なければなりません。118 バンドルとResource Manager  Apple Computer, Inc. February 2001 C H A P T E R 5 バンドル バンドルとResource Manager バンドルはResource Managerスタイルのリソースをデータフォークに含む任意の数のファイル を含めることができます。これらのリソースファイルには、習慣的に拡張子.rsrcが付けられ、 Resourcesディレクトリにあるほかのあらゆる種類のファイルと同様に、バンドルリソースとし て扱われます。Core Foundationバンドルサービスを使って、そのようなファイルのCFURLタイ プを取得し、それをFSRefに変換してResource Managerでオープンすることができます。ただし、 バンドルサービスが管理する2つの特殊なリソースファイルが存在します。1つは、ローカライ ズされないリソースのファイルで、その名前はexecutable name.rsrcです。ここで、executable nameはメインの実行可能ファイルの名前です。このファイルは、他のローカライズされないリ ソースとともにResourcesディレクトリに格納されます。もう1つはローカライズされたリソー スのファイルで、名前はLocalized.rsrcです。このファイルは該当する.lprojディレクトリ(各言 語または地域ごとに1バージョン)に格納されます。なお、リソースはファイルのリソースフォー クではなく、データフォークに格納されることに注意してください。 アプリケーションが起動されると、バンドルサービスは、アプリケーションのリソースが常に使用 可能になるように、これらのファイルを自動的に開こうとします。その他のバンドル(フレーム ワークとロード可能バンドル)については、特にこの目的のために用意されているバンドルサービ ス関数を使って、デベロッパ自身がこの処理を行う必要があります。 作成したCarbonアプリケーションをバンドル形式に変換できない事情がある場合、タイプが 'plst'でIDがゼロのリソースとして、情報プロパティリスト(Info.plist)をアプリケーションの 単一のファイルに含めることができます。詳細については、「CFM実行可能ファイル」(230ペー ジ)を参照してください。119  Apple Computer, Inc. February 2001 C H A P T E R 6 6 アプリケーションのパッケージング 普通のMac OS Xアプリケーションは、単一の実行可能ファイルではなく、1つまたは複数の実行 可能バイナリを含むファイルのパッケージです。アプリケーションはバンドルの1つのタイプで す。バンドルとは、アプリケーションの実行可能コードとそのコードをサポートするリソースを 含んだ、階層構造を持つシステム内のディレクトリのことです。また同時に、アプリケーション はファイルパッケージ、つまりFinderが1つのファイルとしてユーザに表示するディレクトリでも あります。 アプリケーションパッケージの設計は、実行中のアプリケーションは、単なる起動される実行可 能コードではないという認識から出発しています。アプリケーションがパッケージという内部構 造をとることには、インストールとアンインストールが容易、複数のローカリゼーションを内包 可能、複数のアーキテクチャとボリュームフォーマットをサポート可能、1種類のアプリケーショ ンを修正を加えずにMac OS 8、Mac OS 9、およびMac OS X上で実行可能、といったいくつかの 利点があります。 構造的にはアプリケーションはバンドルの1つにすぎませんが、バンドルコンポーネントの中には 主にアプリケーションに、場合によってはアプリケーション中にのみ、存在するものがあります。 ユーザは、ヘルプ情報、環境設定、ウィザード、およびプラグインなどをアプリケーションリソー スと考える傾向があります。技術的には、これらのリソースは、(たとえば)ロード可能バンドル として取り扱うことができますが、通常はアプリケーションに直接関連するものと考えられます。 この章では、これらのリソースがどのようにアプリケーションバンドル内にパッケージングされて いるかについて説明します。バンドルの一般的な説明は、「バンドル」(103ページ)を参照して ください。120 バンドルとしてのアプリケーション  Apple Computer, Inc. February 2001 C H A P T E R 6 アプリケーションのパッケージング バンドルとしてのアプリケーション Mac OS Xのアプリケーションは、バンドルの1つのタイプとしてパッケージングされています。 「バンドル」(103ページ)の章での定義を繰り返すなら、バンドルとは、実行可能コードとその コードをサポートするリソースを含んだディレクトリです。アプリケーションバンドルおよび ロード可能バンドル(プラグインなど)は、ファイルパッケージ、つまりFinderが単一ファイル としてユーザに表示するディレクトリです。バンドルのタイプ(アプリケーション、フレーム ワーク、プラグイン、およびその他のコードとリソースのダイナミックロード可能なパッケー ジ)を区分する特性は、実行可能コードの性質です。アプリケーションの実行可能コードは一般 に、ダブルクリックすることでFinderから起動する自己完結的なバイナリです。アプリケーショ ンにはプラグインなどの副次的なバンドルが含まれることもありますが、少なくともメインバン ドルは常に含まれています。 バンドルには、アプリケーションの場合だけ、または主としてアプリケーションの場合に見られる 利点があります。 ■ 同一の(Carbon)アプリケーションパッケージを、修正することなく、Mac OS 8、Mac OS 9、 およびMac OS X上で実行することができます。 ■ アプリケーションに複数のローカリゼーションを組み込むことができます。アプリケーション に、ユーザの言語環境設定に一致するローカライズされたリソースのセットを自動的に表示さ せることができます。さらに、新しいローカリゼーションをアプリケーションパッケージに追 加することもできます。これらのリソースはユーザがアプリケーションを再起動した後に表示 されます(それらのリソースが優先される言語に対応している場合)。 ■ クライアントコンピュータがサーバ上でアプリケーションを実行することができます。 ■ ユーザがアプリケーションを、Webサイトから簡単にダウンロードしたり、電子メールで受け 取ったりすることができます。 ■ アプリケーションを容易にインストールまたはアンインストールできます。ユーザの作業は、 アプリケーションパッケージをボリューム上にドラッグすることだけで、アンインストールの 場合はゴミ箱にドラッグします(この機能は複雑なインストールにも使用できます)。 ■ アプリケーションはファイルパッケージであるため、ユーザが必須部分を削除または変更する ことによってアプリケーションを「壊す」ことはできません。ただし、アプリケーションの内 部に影響を与えることなく、アプリケーションの名前を変更することは可能です。C H A P T E R 6 アプリケーションのパッケージング アプリケーションのフレームワーク、ライブラリ、およびヘルパー 121  Apple Computer, Inc. February 2001 ■ アプリケーションは、複数のアーキテクチャおよび複数のボリュームフォーマットをサポート することができます。 これらを実現できるのは、バンドルが階層化された内部構造を持っているためです。アプリケー ションを構成するそれぞれの部分は、アプリケーションパッケージ内で特定の名前の付いた位置 に格納されます。アプリケーションの構成要素がこのように標準化して内部的に組織されている ことにより、オペレーティングシステムの関連部分(Finder、リソース検索メカニズム、コード ローディングメカニズムなど)がそれぞれの機能を実行できます。たとえば、複数のプラット フォーム(Mac OS 9とMac OS X)に対応した実行可能ファイルは、標準的な名前を持つ個別のサ ブディレクトリに格納されます。このことは、ローカライズされたリソース、プラグイン、およ びプライベートフレームワークとバージョン付きフレームワークについても同様です。 Finder、Sherlock、ナビゲーションサービス、およびファイルシステムのブラウズと検査を行う アップル社純正のその他のアプリケーションとサービスは、アプリケーションパッケージの内部を 検索することはありません。Finderは、アプリケーションパッケージがダブルクリックされると、 それに応えてアプリケーションを起動します。 アップル社の開発ツールは、他のバンドルと同様に、アプリケーションパッケージの作成もサ ポートしています。 バンドルの一般的な説明は、「バンドル」(103ページ)の章を参照してください。Finder、およ びアプリケーションとの関係でのFinderの役割については、「Finder」(179ページ)を参照してく ださい。 アプリケーションのフレームワーク、ライブラリ、 およびヘルパー アプリケーションには、補足的なコードモジュール、つまりアプリケーションの実行可能ファイル の中に組み込まれていないコードが含まれることがあります。こうした補足的なコードは、フレー ムワーク、共有ライブラリ(CFMまたはその他)、プラグイン、ヘルパーアプリケーション、ある いはその他のタイプのソフトウェアの形式をとります。122 アプリケーションのフレームワーク、ライブラリ、およびヘルパー  Apple Computer, Inc. February 2001 C H A P T E R 6 アプリケーションのパッケージング このようなアプリケーションコードをいくつかの区分に分けるさまざまな理由があります。まず 1つは開発の効率です。たとえば、一連のアプリケーションを、同一のフレームワークやカスタ ムのドキュメントビューアのような同一のヘルパーアプリケーションを使用するように開発する ことができます。もう1つの理由はパフォーマンスです。たとえば、アプリケーションは、ユー ザが要求するまでプラグインなどのモジュールのロードを遅らせることができます。また、はじ めから拡張可能であることを前提にアプリケーションを設計することもできます。 アプリケーションパッケージに含まれるフレームワークと共有ライブラリは、アプリケーション の実行、あるいは少なくともアプリケーションを完成させるために必要です。ただし、アプリケー ションパッケージには、アプリケーションにリンクされるアップル社純正のフレームワークは含 まれません。これらは、/System/Library/Frameworksという標準のシステム位置にインストー ルされます。インストーラは、アプリケーションパッケージに含まれるフレームワークを削除し たり、別の場所に移動してはいけません。アプリケーションパッケージには共有されているフレー ムワークが含まれているためです(共有フレームワークの取り扱いについては、「共有フレーム ワークと中央ディレクトリ」(123ページ)を参照してください)。 アプリケーションバンドルには、補足的なコードの各タイプに対応する4つのディレクトリが含ま れています。 Frameworks/ SharedFrameworks/ SharedSupport/ Plug-ins/ このセクションでは、以上のうち最初の3つのディレクトリについて、その目的と問題点を説明し ます。Plug-insディレクトリの詳細については、「アプリケーションとロード可能バンドル」(125 ページ)を参照してください。 プライベートフレームワーク Frameworksディレクトリには、そのアプリケーションに密接にバインドされているフレーム ワーク(または共有ライブラリ)が含まれます。これらはこのアプリケーションに特有なフレー ムワークです。このディレクトリ内のフレームワークを使用できるのはそのアプリケーションだ けで、同じ「スイート」を構成するものや同じデベロッパが開発したものであっても、他のアプ リケーションはこれらのフレームワークを使用しません。これらのプライベートフレームワーク のダイナミック共有ライブラリはリビジョンが固定されており、新しいバージョンがあっても対 象となるオペレーティングシステムで使用可能なそのバージョンに置き換えられることはありま せん。C H A P T E R 6 アプリケーションのパッケージング アプリケーションのフレームワーク、ライブラリ、およびヘルパー 123  Apple Computer, Inc. February 2001 アプリケーションは、Frameworksに含まれているコードは必ず使用しますが、 SharedFrameworksに含まれているコードは使用することも、使用しないこともあります。 Frameworksディレクトリにフレームワークまたは共有ライブラリがないと、アプリケーション は起動できません。 リスト6-1に、典型的なプライベートフレームワークがアプリケーションバンドルにどのように格 納されるかを示します。 リスト6-1 アプリケーションのプライベートフレームワークの位置 FantasticApp.app/ Contents/ PkgInfo Info-macos.plist MacOS/ Resources/ Frameworks/ GoodStuff.framework/ SharedFrameworks/ SharedSupport/ Plug-ins/ 共有フレームワークと中央ディレクトリ SharedFrameworksディレクトリにも、アプリケーションパッケージの一部であるフレームワー クが含まれますが、これらのフレームワークは他のアプリケーションと共有される点が異なりま す。アプリケーションの共有フレームワークは上位互換であることが保証されています。これに 対してアプリケーションのプライベートフレームワークのバージョンは固定されています。 SharedFrameworksに含まれているコードの最新バージョンを共有できるようにするため、Mac OS Xでは中央ディレクトリ(レジストリ)を使用します。中央ディレクトリは、インストールさ れているすべてのアプリケーションパッケージに含まれる共有フレームワークおよびその他の共 有ソフトウェアのバージョンを記録しています。アプリケーションがフレームワークのコードを ダイナミックにロードする前に、システムはSharedFrameworksに含まれている目的のフレーム ワークのバージョンを中央ディレクトリと比較して、同じフレームワークの最新バージョンが使 用可能かどうかチェックします。より新しいバージョンが存在する場合は、SharedFrameworks ディレクトリに含まれているフレームワークは無視され、中央ディレクトリによって指定された ものが使用されます。対応するフレームワークが中央ディレクトリで検出されない場合、または 中央ディレクトリで検出されたフレームワークのバージョンが古い場合は、アプリケーションの SharedFrameworksディレクトリに含まれているフレームワークが使用されます。124 アプリケーションのフレームワーク、ライブラリ、およびヘルパー  Apple Computer, Inc. February 2001 C H A P T E R 6 アプリケーションのパッケージング 共有フレームワークやその他の共有可能なソフトウェアをアプリケーションパッケージに組み込 むと、アプリケーションの自己完結性が高まります。ユーザがアプリケーションのインストール、 移動、または削除を行う場合、必要な操作は、アプリケーションのアイコンをドラッグして目的 の場所でドロップするだけです。このようにしてインストールしたアプリケーションは、共有フ レームワークの最新バージョンを使用するとは限りませんが、少なくとも内部にパッケージング されているフレームワークを使えば実行できます。中央ディレクトリがすべてのアプリケーショ ンパッケージ内にあるバージョン付きフレームワークを記録するという手法には、アプリケー ションを「読み込み専用」に保つことができ、またアプリケーションの一部分がシステム内の多 くの箇所に複製されることがない、という利点があります。また同時に、中央ディレクトリによ り、関連する複数のアプリケーションがシステムにインストールされている最新の共有フレーム ワークを使用することができます。 リスト6-2に、共有フレームワークがアプリケーションパッケージ内で格納される位置を示します。 リスト6-2 アプリケーションの共有フレームワークの位置 FantasticApp.app/ Contents/ PkgInfo Info-macos.plist MacOS/ Resources/ Frameworks/ SharedFrameworks/ GreatStuff.framework/ SharedSupport/ Plug-ins/ その他の共有アプリケーションコード フレームワーク、共有ライブラリ、またはロード可能バンドル(プラグインを含む)以外の補足 的な共有可能アプリケーションコードは、アプリケーションパッケージのSharedSupportディレ クトリに格納されます。このクラスのコードの例には、ヘルパーアプリケーション、アシスタン ト、およびツールがあります。共有フレームワークと同様、このディレクトリ内にあるソフトウェ アの最新バージョンは、中央ディレクトリのメカニズムを使って、関連する複数のアプリケーショ ンの間で共有されます。C H A P T E R 6 アプリケーションのパッケージング アプリケーションとロード可能バンドル 125  Apple Computer, Inc. February 2001 リスト6-3の例で、オフィス用アプリケーションスイートの一部であるFantasticSpreadsheetは、 SharedSupportディレクトリに小さなグラフ作成アプリケーションFantasticGrapherを含んでいま す。FantasticSpreadsheetアプリケーションとその兄弟アプリケーションであるFantasticDatabase は、ともにFantasticGrapherを使用します。 FantasticSpreadsheetをインストールすると、FantasticGrapherのバージョンが中央ディレクトリ に記録されます。ユーザがFantasticGrapherを実行しようとすると、システムは、SharedSupport に含まれているFantasticGrapherのバージョンを中央ディレクトリに記録されている FantasticGrapherのバージョンの最新のものと比較します。その結果、どちらか新しい方のバー ジョンのFantasticGrapherが実行されます。 リスト6-3 アプリケーションの共有コード(フレームワークでない)の位置 FantasticSpreadsheet.app/ Contents/ PkgInfo Info-macos.plist MacOS/ Resources/ Frameworks/ SharedFrameworks/ SharedSupport/ FantasticGrapher Plug-ins/ アプリケーションとロード可能バンドル ロード可能バンドルには、アプリケーションが実行時にダイナミックにロードできるコードとプロ グラミングリソースが含まれます。ロード可能バンドルの最も一般的なタイプはプラグインです が、Interface Builderのパレットのように、それ以外のタイプのロード可能バンドルもあります。 ロード可能バンドルはフレームワークとは異なり、アプリケーションとの関係が多少異なることが あります。126 アプリケーションとロード可能バンドル  Apple Computer, Inc. February 2001 C H A P T E R 6 アプリケーションのパッケージング ロード可能バンドルはアプリケーションパッケージによく似たバンドルです。したがって、ロー ド可能バンドルは、プライベートフレームワーク、共有フレームワーク、その他の補足的なコー ド(他のプラグインや他のロード可能バンドルを含む)など、アプリケーションが含むものをす べて含むことができます(一方、フレームワークは異なる内部構造を持った「バージョン付き」 のバンドルです。フレームワークの詳細については、「フレームワーク」(131ページ)を参照し てください)。 プラグインをはじめとするロード可能モジュールは、アプリケーションにとっての重要度にもとづ いて、3つのグループに分類されます。 ■ アプリケーションの実行に必須なもの ■ アプリケーションの実行に必須ではないが、ユーザが頻繁に使用するという意味でアプリケー ションの一部と見なせるもの(ツールパレットなど) ■ 上の2つの条件のどちらも満たさないが、アプリケーションに何らかの追加機能を提供するも の(しばしばサードパーティのデベロッパによって提供されます) 最初の2つの条件を満たすプラグインおよびその他のロード可能バンドルは、アプリケーション バンドルのPlug-insディレクトリ内にパッケージングする必要があります。これらのバンドルは、 ユーザがアプリケーションを別の位置に移動した場合にそれに合わせて移動するよう、必ずアプ リケーションとともにパッケージングする必要があります。ロード可能バンドルが上の3番目の 分類に属している場合は、バンドルを、ログインしているユーザのホームディレクトリ(ローカ ルまたはリモート)のLibrary/Application Supportフォルダにインストールすることになってい ます。システム管理者や上級ユーザの場合は、このようなロード可能バンドルを、システムのロー カルドメインまたはネットワークドメインのLibrary/Application Supportフォルダにインストー ルすることにより、より広い範囲で使用することもできます。 プラグインまたはその他のロード可能バンドルがどこに格納されているかに関係なく、ユーザがそ れらを(ディレクトリではなくファイルとして)選択するためのヒューマンインタフェースメカニ ズムを提供するのは、アプリケーションの担当範囲です。たとえば、アプリケーションが、ロード 可能なすべてのプラグインをリストアップしたダイアログを表示する場合が考えられます。C H A P T E R 6 アプリケーションのパッケージング アプリケーションに含まれるユーザリソース 127  Apple Computer, Inc. February 2001 アプリケーションに含まれるユーザリソース アプリケーションにはさまざまなリソースがパッケージングされています。それらは、サウンド ファイルやローカライズされた文字列のようにアプリケーションの実行可能コードと密接な関係 を持つものから、アプリケーションのヘルプ、環境設定、クリップアートのように、より「外部 的」なリソースまで、さまざまです。リソースは通常、アプリケーションバンドルのResources ディレクトリに格納されます。 しかし、さまざまな理由からアプリケーションパッケージの内部に格納されないアプリケーション リソースもあります。考えられる理由の1つは、アプリケーションをネットワークブート環境で実 行できるようにするためです。また、ファイルシステム内のリソースにアクセスできるようにした り、アプリケーションのデベロッパによって提供されたリソースとサードパーティによって提供さ れたリソースを区別するために、このような分離を行うこともあります。以下のセクションでは、 いくつかのタイプのリソースについて、推奨されるインストール位置を示します。 アプリケーションのヘルプ Mac OS Xでは、ヘルプビューアアプリケーションが、アプリケーションのヘルプ情報と、一般的 な内容のヘルプ情報を表示します(ヘルプビューアはApple Help製品の一部です)。アプリケー ションのヘルプファイルは、アプリケーションのResourceディレクトリ内の適切な位置に格納し ます。ヘルプファイルはヘルプブック(Mac OS 9とMac OS Xでのヘルプの標準フォーマット)に 格納します。ヘルプブックを国際化するには、コンテンツ(テキストと画像)をローカライズし、 アプリケーションディレクトリのResourceディレクトリにある.lprojディレクトリに入れます。 テキストのファイルはHTML 3.2準拠、またはApple Helpのブックの仕様に準拠していなければな りません。ヘルプファイルの準備と索引作成の手順については、『Inside Carbon: Providing User Assistance With Apple Help』を参照してください。128 アプリケーションに含まれるユーザリソース  Apple Computer, Inc. February 2001 C H A P T E R 6 アプリケーションのパッケージング アプリケーションの情報プロパティリスト(Info.plist)にはCFBundleHelpBookFolderという キーが含まれていなければなりません。通常、このキーの値は、アプリケーションの Resources ディレクトリ内の、ヘルプブックがあるディレクトリの名前を示す文字列です。 CFHelpBookNameというキーも存在して、その文字列値がブックのAppleTitleタグであった場 合、ヘルプビューアは、ユーザが「ヘルプ」メニューの項目を選択すると自動的にそのブックの 表示処理を行います。注意が必要なのは、ローカライズの有無に関わらず、各ヘルプブックディ レクトリの名前はCFBundleHelpBookFolderの値と同一でなければならない、つまりディレクト リ名をローカライズしてはいけない、ということです。ヘルプの開き方や表示はアプリケーショ ンから制御できます。Apple Help APIは、ヘルプ関連のいくつかのオプションをアプリケーショ ンに提供します。タイトルを使ってヘルプブックを開く、ファイルへのフルディレクトリパスを 使ってヘルプファイルを開く、特定の用語またはアンカーを検索する、などがその例です。詳細 については、『Inside Carbon: Providing User Assistance With Apple Help』を参照してください。 アップル社ではアプリケーションのヘルプはアプリケーションバンドルに格納することを強く推 奨しますが、一般的なヘルプと一緒にアプリケーションパッケージの外部に格納することも可能 です。その場合、サードパーティ製ヘルプの標準位置(ユーザのホームディレクトリの/Library/ Documentation/Help、およびLibrary/Documentation/Helpなど)のいずれかに格納することを推 奨します。ユーザがFinderからヘルプセンターを起動すると、ヘルプビューアはこれらの位置を スキャンして、アプリケーションのヘルプへのリンクを表示します。アプリケーションのヘルプ がヘルプの標準位置のいずれかにインストールされている場合は、アプリケーションの情報プロ パティリストで特殊なキーと値のペアを指定しなくても、ヘルプビューアにより適切に処理され ます。 アプリケーションの環境設定 アプリケーションは通常、デフォルトの環境設定のセットを使ってインストールされます。イン ストール完了後、ユーザは自分の習慣に合わせて、環境設定を自由に変更することができます。 あらゆるアプリケーションには、一連の環境設定オプションを表示してユーザの選択を受け付 け、選択内容を環境設定システムに書き込むためのコードが含まれています(「ソフトウェアの 設定」の章の「環境設定」(202ページ)を参照)。C H A P T E R 6 アプリケーションのパッケージング アプリケーションに含まれるユーザリソース 129  Apple Computer, Inc. February 2001 アプリケーションで、ユーザ環境設定データをアプリケーションパッケージ内に書き込んではいけ ません。環境設定は、ログインユーザのアカウント(ローカルまたはネットワーク)のLibrary/ Preferencesディレクトリか、あるいはマシンローカルドメインまたはネットワークドメインの同 じ位置に格納されます。環境設定データをこれらの位置に直接書き込んではいけません。Core Foundationの環境設定サービス(CFPreferences)が提供するAPIを使用するか、Cocoaアプリケー ションの場合はNSUserDefaultsを使用してください。このようにユーザ環境設定をアプリケーショ ンパッケージから分離する理由の1つは、アプリケーションをネットワークブートされた環境で実 行できるようにするためです。 書類のリソース ワードプロセッサ、スプレッドシート、ドローアプリケーションなど、書類での作業が中心となる アプリケーションには、しばしばテンプレート、クリップアート、チュートリアル、アシスタント などのリソースが含まれています。これらの項目はアプリケーションバンドル内にパッケージング することもできますが、アプリケーションパッケージの外部にある位置にパッケージングすること もできます。こうしたリソースの格納場所を決定するときの規則は、プラグインおよびその他の ロード可能バンドルに適用される規則に類似しています(「アプリケーションとロード可能バンド ル」(125ページ)を参照)。 ■ リソースがアプリケーションのデベロッパから提供されている場合は、アプリケーションバン ドルのSharedSupportディレクトリに格納します。 ■ リソースがサードパーティから提供されている場合は、ユーザの Library/ApplicationSupport フォルダなど、アプリケーションリソースの標準ディレクトリ位置のいずれかに格納します。 ロード可能バンドルと同様、アプリケーションでは、アプリケーションリソース(パッケージの 内部にあるものと外部にあるものの両方)を表示して、ユーザが選択できるようにする、ある種 のリソースブラウザを提供する必要があります。ただし、このブラウザがアプリケーションパッ ケージの内部構造を公開してしまわないように注意してください。130 アプリケーションに含まれるユーザリソース  Apple Computer, Inc. February 2001 C H A P T E R 6 アプリケーションのパッケージング131  Apple Computer, Inc. February 2001 C H A P T E R 7 7 フレームワーク フレームワークはバンドルの1つのタイプで、ダイナミック共有ライブラリを、それが必要とする リソース(ヘッダファイルやリファレンスマニュアルなど)とともにパッケージングしたもので す。このようにコードとリソースを統合することには利点があります。たとえば、ライブラリはリ ソースを容易に検出でき、ユーザにとってはインストールとアンインストールが容易になります。 フレームワークバンドルは.frameworkという拡張子を持ちます。バンドルの内部には、フレーム ワークの複数のメジャーバージョンが存在する場合があります。フレームワークフォルダの最上 位レベルにあるシンボリックリンクのネットワークがライブラリコードとリソースの最新バー ジョンを指します。ダイナミックリンクエディタは、フレームワークのインストール先のディレ クトリ位置をフレームワークの実行可能ファイルの中に書き込みます。プログラムが起動すると きに、この位置でフレームワークを検出できないと、ダイナミックリンクエディタは標準ディレ クトリ位置でフレームワークを検索します。システムおよびサードパーティのフレームワークは しばしば標準ディレクトリ位置にインストールされます。また、サードパーティのフレームワー クは、それらを必要とするアプリケーションパッケージに置かれることもあります。 フレームワークに含まれる実行可能コードはダイナミック共有ライブラリです。このライブラリに 含まれるコードは、並行して実行されている複数のプログラムで共有することができます。各プロ グラムで使用するコードのコピーを作成する必要もありません。スタティックにリンクされている 共有ライブラリとは異なり、ダイナミック共有ライブラリにリンクされるプログラム内の未定義シ ンボルのバインドは、そのプログラムが実行されるまで延期されます。プログラムの実行時にプロ グラム内で未定義シンボルが参照されると、ダイナミックリンクエディタはそれらの未定義シンボ ルを解決しようとします。ライブラリモジュール内のシンボルがプログラム内で参照されていない 場合、そのモジュールはリンクされません。ダイナミック共有ライブラリへのインストールパス は、それらのライブラリとともにビルドされるすべての実行可能ファイルに書き込まれます。132 ライブラリパッケージとしてのフレームワーク  Apple Computer, Inc. February 2001 C H A P T E R 7 フレームワーク フレームワークは、メジャー(非互換)バージョンとマイナー(互換)バージョンを含むことが できます。メジャーバージョンの付け方で、後方互換性を識別できます。以前のバージョンのラ イブラリにリンクされているプログラムと非互換のフレームワークには、新しいメジャーバー ジョンが与えられます。これらのプログラムは、フレームワークバンドル内に保持されている以 前のバージョンにリンクしなければなりません。一方、マイナーバージョンの付け方では、前方 互換性を識別できます。フレームワークの1つのメジャーバージョンには複数のマイナーバー ジョンが存在することがあります。マイナーバージョンは、フレームワークが、そのフレーム ワークのより新しいビルドにリンクされるプログラムと互換性を持つことを示します。 ライブラリパッケージとしてのフレームワーク ライブラリがあるコンピューティング環境にインストールされる場合、それがファイルシステム のある場所に置かれ、関連するコードが別の場所に置かれる場合があります。これらの関連リ ソースには、ヘッダファイルや、画像、ローカライズされた文字列などが含まれます。このよう にコードとリソースを分離して格納することにより、いくつかの問題が発生します。 ■ ライブラリとリソースのアンインストールが複雑になります。 ■ ライブラリとヘッダファイルの不一致が発生する可能性が高くなります。 ■ ライブラリコードによるリソースの検出が困難になることがあります。 フレームワークは、ダイナミック共有ライブラリと、ライブラリが使用するリソースやその他のラ イブラリに関連するリソースを束ねることでこの問題を解決します。実際、アプリケーションやプ ラグインとまったく同様にフレームワークもバンドルであるため、「束ねる」(バンドルする)とい うのは適切な表現です。ただし、フレームワークはいくつかの重要な点で他のタイプのバンドルと は異なります。 ■ フレームワークには、ヘッダファイルという独特のタイプのリソースが含まれます。また、 場合によっては、プライベートなスタティックライブラリなど、あらゆるものをリソースと して含むことができます。 注意:Mac OS Xの現在のリリースに含まれているフレームワークは「バージョン付き」のバ ンドルです。これらのバンドルの内部ディレクトリ構造には、アプリケーションおよびロード 可能バンドルという新しいタイプのバンドルの機能の多くが欠けています。ニュースタイルバ ンドルの説明は、「バンドル」の章の「バンドルの解剖」(105ページ)を参照してください。C H A P T E R 7 フレームワーク ライブラリパッケージとしてのフレームワーク 133  Apple Computer, Inc. February 2001 ■ フレームワークが構築されるとき、バンドルビットはセットされません。その結果、Finder はフレームワークをファイルパッケージ(ファイルとして表示されるディレクトリ)として 取り扱わず、デベロッパはパッケージングされているヘッダファイルをブラウズすることが できます。 ■ 「フレームワークの内部構造」(133ページ)で説明するように、フレームワークはバージョン 付きのバンドルです。 バージョン付きのバンドルは、Mac OS X Server(またはそれ以前)のバンドルから派生した内 部構造を持ちます。アップル社では、最終的にはフレームワークを新しい内部構造に変換する予 定です。それまでの間、Mac OS Xでは両方のスタイルのバンドルをサポートします。バンドル に適用されるシステムルーチンは、バージョン付きのバンドルと新しいタイプのバンドルの両方 を処理することができます。 フレームワークの内部構造 Mac OS Xのフレームワークは、.frameworkという拡張子を持つディレクトリです。このディレク トリをオープンすると、第1レベルの内容がほぼ次のように表示されます。 GreatSoftware.framework/ GreatSoftware Headers/ PrivateHeaders/ Resources/ Versions/ この例で、項目GreatSoftwareはダイナミック共有ライブラリです。Headersおよび PrivateHeadersは、フレームワークの、パブリックおよびプライベートのヘッダファイルを格 納するサブディレクトリです。フレームワークのリソース(インタフェース定義ファイル、 画像、サウンド、ローカライズされた文字列などの項目)は Resourcesサブディレクトリに格 納されます。 Versionsサブディレクトリは、このレベルでは唯一の「本物」のディレクトリです。 GreatSoftware、Headers、PrivateHeaders、およびResourcesはすべて、フレームワークの現 在のメジャーバージョンのライブラリとディレクトリへのシンボリックリンク(エイリアスのよ うなもの)です。図7-1に、このようなリンクを示します。134 ライブラリパッケージとしてのフレームワーク  Apple Computer, Inc. February 2001 C H A P T E R 7 フレームワーク 図7-1 フレームワークのディレクトリ構造 フレームワークディレクトリには、複数のメジャーバージョンのダイナミック共有ライブラリ (およびそれらのリソース)が含まれることがあります。新しいメジャーバージョンのフレーム ワークが必要になる場合として一般的なのは、そのダイナミック共有ライブラリが、以前のバー ジョンのライブラリにリンクされているプログラムと非互換の場合です。こうしたアプリケー ションは、最新バージョンのライブラリを使用しても動作しませんが、古いバージョンであれば 動作します。このため、古いバージョンがフレームワークバンドルの中に入れておかれます。 フレームワークのそれぞれのバージョンは、Versionsディレクトリにある、習慣的にアルファ ベット1文字の名前を付けたサブディレクトリに格納されています。メジャーおよびマイナーな フレームワークバージョンの詳細と、バージョン更新の一般論については、「フレームワークの バージョン」(139ページ)を参照してください。 Currentの内容� へのリンク� 最新のもの� へのリンク�C H A P T E R 7 フレームワーク ライブラリパッケージとしてのフレームワーク 135  Apple Computer, Inc. February 2001 フレームワークのResourcesディレクトリの内容は、ニュースタイルバンドルのResourcesディ レクトリの内容に類似しています。ローカライズされたリソースはResourcesのサブディレクト リに格納されます。これらのサブディレクトリは、言語(必要な場合はその言語が話されている 地域)を示す名前と.lprojという拡張子を持ちます。特に、言語のバリエーションを持つ地域に 固有のリソースの場合は、ISO 3166規格に定められた国別コード、およびISO 639規格に定めら れた言語コードにもとづく名前(2つのコードをアンダーバーで区切って)を使用する必要があ ります。たとえば、カナディアンフレンチ固有のリソースは、fr_CA.lprojという名前のリソース ディレクトリに格納されます。一方、すべてのフランス語のバリエーションに使用するリソース をすべて保持する1つのディレクトリが必要な場合は、その名前はFrench.lprojになります。.lproj ディレクトリは、対象となる言語またはロケールにローカライズされた文字列、画像、サウン ド、およびインタフェース定義を保持します。フレームワークとニュースタイルバンドルの重要 な違 いの1つは、フレー ムワー クの ロー カライ ズさ れて いな いリソ ース が、Resourcesの Nonlocalized Resourcesサブディレクトリではなく、Resourcesディレクトリの最上位レベル に置かれるという点です。 フレームワークの標準位置 重要 このセクションに含まれている情報の大部分は、フレームワークが新 しいバンドル構造と新しいファイルシステムレイアウトを使用するよ うに変換された時点で不要となります。 システムフレームワークとは、Application KitやQuickTimeフレームワークなど、アップル社が 提供しているフレームワークのことです。システムフレームワーク内の共有ライブラリコード は、システム上のすべてのアプリケーションが使用するためのものです。システムフレームワー クは/System/Library/Frameworksにインストールされます。サードパーティのフレームワーク は、いくつかの要因に応じて、異なるファイルシステム位置に格納されます。 ■ シングルユーザによってのみ使用される場合は、ユーザのホームディレクトリのLibrary/ Frameworksサブディレクトリにインストールされなければなりません。 ■ 1台のMac OS Xシステムのすべてのユーザによって使用される場合は、/Local/Library/ Frameworksにインストールされなければなりません。 ■ ローカルエリアネットワーク全体で使用される場合は、/Network/Library/Frameworksにイン ストールされなければなりません。136 ダイナミック共有ライブラリ  Apple Computer, Inc. February 2001 C H A P T E R 7 フレームワーク アプリケーションまたはその他の実行可能ファイルをビルドするとき、コンパイラは、/System/ Library/Frameworksおよびコンパイラに対して指定されているその他の位置で、インポートされ ているフレームワークを検索します。必要なフレームワークがインストールされるはずのパスが、 バージョン情報とともに実行可能ファイルそのものの中に書き込まれます。 アプリケーションを実行するとき、ダイナミックリンクエディタはまず、実行可能ファイルにイン ストールパスが書き込まれているフレームワークにリンクしようとします。指定された位置でフ レームワークを見つけることができないと(移動または削除されたなどの理由で)、ダイナミック リンクエディタは標準の代替位置を次の順序で検索します。 ~/Library/Frameworks /Library/Frameworks /Network/Library/Frameworks /System/Library/Frameworks それでも必要なフレームワークを検出することができない場合、リンクエディットエラーが発生 し、アプリケーションは起動しません。 ダイナミック共有ライブラリ フレームワークバンドルに含まれる実行可能コードはダイナミックにリンクされる共有ライブラ リ、あるいはダイナミック共有ライブラリです。これは、並行して実行されている複数のプログラ ムが共有できるコードを含んだライブラリです。これらのプログラムは、ライブラリコードの1つ の物理コピーを共有し、自分専用のコードのコピーを要求することはありません。ダイナミック共 有ライブラリにはいくつかの利点があります。ダイナミック共有ライブラリではメモリをより効率 的に使用でき、またデベロッパがライブラリコードに含まれるバグの修正や修正したコードのテス トを行う際に、それらのライブラリを使用するプログラムをビルドしなおす必要がありません。 注意:フレームワークの外部に置くダイナミック共有ライブラリを作成することもできます が、一般的な手法ではありません。スタンドアロンのダイナミック共有ライブラリは、習慣 的に.dylibという拡張子を持ち、通常、ライブラリに割り当てられている標準のファイルシス テム位置にインストールされます。C H A P T E R 7 フレームワーク ダイナミック共有ライブラリ 137  Apple Computer, Inc. February 2001 ダイナミック共有ライブラリは、スタティックにリンクされる共有ライブラリとは異なる特性を 持ちます。ダイナミック共有ライブラリの場合、プログラム内の未定義シンボルのバインドはそ のプログラムが実行されるまで延期されます。つまりダイナミックリンクエディタは、実行時に すべての未定義シンボルの解決を試みるというだけでなく、プログラムの実行中、かつ実際にそ れらのシンボルが参照されたときにのみ解決を試みます。未定義シンボルが参照されない場合、 実行中のプログラムはバインドを行う必要はありません。 このようなダイナミックな動作が可能なのは、ダイナミック共有ライブラリの構成に由来してい ます。複数のオブジェクトコードモジュールからダイナミック共有ライブラリがビルドされます が、それぞれの個別の境界は保持されたままです。すなわち、ソースモジュールのコードは単一 のコードベースにマージされません。ダイナミック共有ライブラリにリンクされているプログラ ムが起動するとき、ダイナミックリンクエディタはライブラリ内のモジュールを自動的にロード してリンクしますが、モジュールとのリンクを行うのは必要なときだけです。つまりモジュール は、シンボルが参照された場合、またはそのモジュール内で定義されている関数が呼び出された 場合だけリンクされるということです。モジュール内のコードが参照されないか、呼び出されな い場合モジュールはリンクされません。図7-2に、こうした「レイジーリンク」の動作を示しま す。この例で、モジュールa.oは、ライブラリ関数aが呼び出されたときに、プログラムのmain ルーチンにリンクされます。モジュールb.oは、プログラム関数doThat内のライブラリ関数bが 呼び出されたときにリンクされます。モジュールc.oは、関数が呼び出されないためリンクされ ません。138 ダイナミック共有ライブラリ  Apple Computer, Inc. February 2001 C H A P T E R 7 フレームワーク 図7-2 ダイナミック共有ライブラリモジュールの「レイジーリンク」 フレームワークのデベロッパは、このように個別モジュールが必要に応じてリンクされるしくみを 意識してダイナミック共有ライブラリを設計する必要があります。ダイナミックリンクエディタは 常に、他のモジュールや他のライブラリに移動する前に同じモジュール内の未解決シンボルをバイ ンドしようとするため、相互に依存するコードは必ず同一のモジュール内に配置しなければなりま せん。たとえば、割り当てと割り当ての解除を行うカスタムルーチンは必ず同じモジュール内に配 置する必要があります。このテクニックにより、不正なシンボル定義が使用されることを防ぐこと ができます。この問題は、あるシンボルの定義が複数のダイナミック共有ライブラリ内に存在し、 他のシンボル定義が正しい定義をオーバーライドするときに発生します。 フレームワークを作成するときは、それぞれのシンボルがライブラリ内で1度だけ定義されてい ることを確認しなければなりません。また、「共通」シンボルはライブラリ内では許可されませ ん。ただ1つの正しい定義だけを使用し、定義の先頭に、キーワード「extern」を置く必要があり ます。 #include ; #include "main.h"; #include "doThat.h"; int main() { a(); doThat(1); return 0; } ... main.c #include ; #include "doThat.h"; void doThat (int n) { b(); if (!n); c(); } doThat.c MyApp.app Boffo.framework a.o #include "a.h"; void a() { ... } .............. .............. b.o #include "b.h"; void b() { ... } .............. .............. c.o #include "c.h"; void c() { ... } .............. .............. リンク� リンク�C H A P T E R 7 フレームワーク フレームワークのバージョン 139  Apple Computer, Inc. February 2001 プログラムをビルドするときに、プログラムをダイナミック共有ライブラリにリンクすると、 ライブラリのインストールパスがプログラム内に記録されます。アップル社から供給されている システムフレームワークの場合、パスは絶対パスです。サードパーティのフレームワークの場合 は、そのフレームワークを含むアプリケーションパッケージを基準とする相対パスです。このよ うにしてライブラリパスを取得することで、プログラムの起動時のパフォーマンスが向上しま す。ファイルシステムを検索する必要がないため、ダイナミックリンクエディタは直接ダイナ ミック共有ライブラリにアクセスして、それをプログラムにリンクします。もちろん、プログラ ムを実行するには、記録されているパスが指定する場所に必要なライブラリがインストールされ ているか、またはフレームワークとライブラリの標準代替位置のいずれかに必要なライブラリが インストールされていなければなりません。 ダイナミック共有ライブラリは他のダイナミック共有ライブラリとの依存関係を持つことがあ り、こうした依存関係はライブラリの実行可能ファイルの中に記録されます。プログラムを最初 のダイナミック共有ライブラリにリンクするとき、ダイナミックリンクエディタはこうした依存 関係にあるライブラリのパスを取得して、それらも同様にプログラムとリンクすることができま す。したがって、ダイナミック共有ライブラリのユーザは、プログラムをリンクするときにライ ブラリ間の依存関係を意識する必要はありません。 ダイナミック共有ライブラリでも、バージョンの付け方によって、後方互換性とある程度の前方 互換性を識別できます。この問題の詳細については、「フレームワークのバージョン」(139ペー ジ)を参照してください。 フレームワークのバージョン ダイナミック共有ライブラリに加えた変更のタイプにもとづいて、異なるバージョンのフレーム ワークを作成することができます。バージョンには、メジャー(または非互換)およびマイナー (または互換)の2つのタイプがあります。 メジャーバージョン フレームワークのメジャーバージョン(非互換バージョンとも呼ばれます)は、以前のバージョン のフレームワークのダイナミック共有ライブラリにリンクされているプログラムとは非互換です。 そのようなプログラムを新しいバージョンのフレームワークに対して実行しようとすると、ほぼ確 実にランタイムエラーが発生します。140 フレームワークのバージョン  Apple Computer, Inc. February 2001 C H A P T E R 7 フレームワーク 通常、フレームワークのすべてのメジャーバージョンはフレームワークバンドル内に保持されて いるため、現在のバージョンと互換性のないプログラムであっても、互換性のあるバージョンを 使って実行することができます。フレームワークの各メジャーバージョンのパスにはバージョン がエンコードされます(「フレームワークの内部構造」(133ページ)を参照)。たとえば、次のパ スに含まれる「A」という文字は、例に取り上げたフレームワークのメジャーバージョンを示し ています。 /System/Library/Frameworks/Boffo.framework/Versions/A/Boffo プログラムがビルドされるとき、このパスはプログラムの実行可能ファイルそのものの中に記録さ れます。プログラムを実行するとき、ダイナミックリンクエディタはこのパスを使って、互換性の あるバージョンのフレームワークのライブラリを検索します。つまり、フレームワークがすべての メジャーバージョンを含み、それぞれの実行モジュール自身が使用可能なメジャーバージョンを記 録するという、メジャーバージョンスキーマにより、フレームワークは後方互換性を持つことがで きます。 次のような変更を加えた結果として、ダイナミック共有ライブラリが、以前のバージョンのライブ ラリにリンクされているプログラムと非互換になった場合は、フレームワークの新しいメジャー バージョンを作成しなければなりません。 ■ クラス、関数、メソッド、または構造体などのパブリックAPIを削除する ■ パブリックAPIの名前を変更する ■ 構造体のデータレイアウトを変更したり、クラスのインスタンス変数の追加、変更、または 再配列を行う ■ C++クラスにメソッドを追加する ■ パブリックAPIのプログラムインタフェースを変更する 最後の変更の例としては、関数に含まれるパラメータの順序の変更をあげることができます。 通常は、一番新しくビルドされたフレームワークのメジャーバージョンが「現在の」バージョン になります。特に指定しないかぎり、ビルドするプログラムはそれぞれ、現在のバージョンのラ イブラリにリンクされます。古いプログラムをリビルドする場合も現在のバージョンにリンクさ れます。フレームワークをビルドするとき、ビルドシステムはフレームワークの現在のメジャー バージョンを指すシンボリックリンクのネットワークを自動的に生成します。詳細については、 「フレームワークの内部構造」(133ページ)を参照してください。C H A P T E R 7 フレームワーク フレームワークのバージョン 141  Apple Computer, Inc. February 2001 フレームワークの新しいメジャーバージョンを作成するときは、統合開発環境に詳細の大部分を まかせることができます。デベロッパの作業は、メジャーバージョンの識別子を指定することだ けです。一般的な命名規則に従えば、この識別子にはアルファベットの1文字を使用し、それぞ れの新しいバージョンの識別子は前のものよりも「大きい」文字になります。ただし、状況に応 じて、「2.0」、「Two」などの任意の識別子を使用することができます。 また、スタンドアロンのダイナミック共有ライブラリ(つまり、フレームワークバンドル内に格納 されていないライブラリ)のメジャー非互換バージョンを作成することもできます。このタイプの ライブラリのメジャーバージョンは、次の例のように、ファイル名そのものの中にエンコードされ ます。 libMyLib.B.dylib このライブラリが最新のメジャーバージョンだと仮定すると、それを指すシンボリックリンクが libMyLib.dylibという名前で作成されます。これにより、ダイナミック共有ライブラリの現在のメ ジャーバージョンが作成されます。 マイナーバージョン フレームワークのメジャーバージョンの内部には、一連のマイナー(または互換)バージョンが 含まれる場合があります。フレームワークのマイナーバージョンは、同じメジャーバージョン内 で後にビルドされたプログラムと互換性を持つとします。したがって、マイナーバージョンを利 用すると、前方互換性を確保することができます。フレームワークの最新バージョンに新しいプ ログラミングインタフェースが導入された場合、このフレームワークでビルドされるプログラム は、以前のマイナーバージョンのフレームワークでは正常に動作しなくなる可能性があります。 プログラムがそれらの新しいAPIへの参照を含んでいると、プログラムを起動したときにほぼ確実 にリンクエディットエラーが発生してプログラムはクラッシュします。マイナーバージョンを利 用すると、フレームワークのデベロッパは、どれくらい古いバージョンのフレームワークまで最 新のフレームワークにリンクされている実行可能ファイルがともに使用できるかを制御できるよ うになります。 2つのバージョン番号(現在のバージョンと互換バージョン)の関係は、あるプログラムとフレー ムワークのマイナーバージョンのステータスを示します。フレームワークの現在のバージョン番 号は、互換性のある変更を加えてフレームワークを再ビルドする度に増加していきます(つまり、 新しいメジャーバージョンを必要としない変更)。142 フレームワークのバージョン  Apple Computer, Inc. February 2001 C H A P T E R 7 フレームワーク フレームワークに加えられた変更のタイプにより、2番目のマイナーバージョン番号(互換バー ジョン)が影響を受けます。変更が単なるバグフィックスであったり、いずれのパブリックAPIに も影響しない拡張である場合、互換バージョン番号はその現在値から変更されません。しかし、 フレームワークにクラス、メソッド、関数、構造体、またはその他のパブリックAPIを追加した場 合、互換バージョン番号は現在のバージョン番号と同じ値に設定されなければなりません。 重要 Objective-CまたはC++のクラスへのインスタンス変数の追加やC++ のメソッドの追加は、互換性のあるマイナーな変更ではなく、メジャー な非互換の変更となります。 フレームワークがビルドまたはリビルドされるとき、現在のバージョン番号と互換バージョン番 号がフレームワークのダイナミック共有ライブラリの中に記録されます。このフレームワークに リンクするプログラムをビルドすると、これらと同じ番号がフレームワークのパス(メジャーバー ジョンの識別子を含みます)とともにプログラムの実行可能ファイルの中に書き込まれます。 このプログラムを実行しようとすると、ダイナミックリンクエディタはプログラムの互換バー ジョン番号とフレームワークの互換バージョン番号を比較します。プログラムの互換バージョン 番号がフレームワークの互換バージョン番号よりも大きいと、プログラムは起動しません。 マイナーバージョンの区別は、フレームワークとまったく同様にスタンドアロンのダイナミック共 有ライブラリにも適用されます。 バージョンの要約とガイドライン Mac OS Xでは、フレームワークとダイナミック共有ライブラリに2つのタイプのバージョンが存在 します。 ■ メジャー非互換バージョン:以前のバージョンのフレームワークのダイナミック共有ライブ ラリにリンクされているプログラムと互換性のないフレームワークを指します(後方互換 性)。 ■ マイナー互換バージョン:同一のメジャーバージョンに属する、より新しいビルドのフレー ムワークにリンクされているプログラムと互換性のあるフレームワークを指します(前方互 換性)。C H A P T E R 7 フレームワーク フレームワークのバージョン 143  Apple Computer, Inc. February 2001 表7-1に、それぞれのタイプのバージョンの特徴の要約を示します。 コマンドラインプログラムotoolの出力を見ると、バージョン識別情報がプログラムの実行可能 ファイルの中にどのように記録されているかがわかります。このプログラムを使用するには、任意 のMac OS Xアプリケーションのディレクトリに移動して、Terminalのシェルに otool -L appName(appNameにはアプリケーション名を入れます)と入力します。 必要なときにフレームワークのメジャーバージョンを変更しないと、そのフレームワークにリンク されているプログラムは正常に実行されなくなります。逆に、必要がないのにメジャーバージョン 番号を変更すると、不必要なフレームワークでシステムがあふれかえってしまいます。 バージョンを正しく管理するには、第一に、バージョン番号を変更しなくてもすむようにすること です。次に、このための方法をいくつか示します。 表7-1 フレームワークバージョンの要約 バージョンのタイプ バージョンに影響する操作 結果 メジャー/非互換 (後方互換) APIの変更(関数名の変更など)、APIの 削除、インスタンス変数の追加または再 配列、C++メソッドの追加。 メジャーバージョン識別子の変更。新しい識 別子は フレーム ワークの パスに反 映されま す。ダイナミック共有ライブラリのパスが、 フレームワークを使ってビルドしたプログラ ムに記録されます。 マイナー/互換 (前方互換) 新しい関数、メソッド、クラス、構造 体などの追加。 現在の(マイナー)バージョン番号の増加。 互換バージョン番号は現在の(マイナー)バー ジョンと同じ値に設定されます。両方の値が、 このフレームワークを使ってビルドしたプロ グラムに記録されます。 なし バグ フィ ック ス、プログ ラム イン タ フェースに影響を与えない拡張 現在の(マイナー)バージョン番号の増加。 互換バージョン番号は変化しません。両方の 値が、このフレームワークを使ってビルドし たプログラムに記録されます。144 フレームワークのバージョン  Apple Computer, Inc. February 2001 C H A P T E R 7 フレームワーク ■ クラスや構造体に予約済みのフィールドを作っておきます。パブリッククラスにインスタン ス変数を追加した場合はメジャーバージョン番号を変更する必要があります。これはサブク ラスがスーパークラスのサイズに依存するためです。しかし、未使用(予約済み)のインス タンス変数やフィールドを定義しておくことにより、クラスや構造体を大きめに作っておく という方法があります。こうすれば、インスタンス変数をクラスに追加しなければならなく なった場合にも、クラスに追加せずに、必要なサイズの新しいクラス全体を定義して、予約 済みのインスタンス変数にそれをポイントさせるようにできます。 なお、頻繁にインスタンス化されるクラスのインスタンス変数や頻繁に割り当てられる構造 体のフィールドを大きめに作ると、メモリが無駄になります。 ■ ユーザが使用するものでないかぎり、APIを公開しないでおきます。プライベートAPIは、それ を使用しているプログラムがないことが確実なため、自由に変更できます。変更される可能性 のあるAPIはできるかぎりプライベートヘッダの中で宣言します ■ 何も削除しないようにします。メソッドや関数がもはや役立たなくなった場合にも、互換性 を維持するために、APIの中にそのまま削除せずに残しておきます。それが何らかの値を返 すことを確認します。メソッドや関数に引数を追加する場合でも、できるかぎり古い形式を そのまま残しておきます。 ■ APIを変更または削除する場合と異なり、APIを追加する場合には、古いAPIが残っているた めメジャーバージョン番号を変更する必要はありません。なお、この規則の例外はインスタ ンス変数です(ただし、互換バージョン番号を変更する必要があります)。 統合開発環境で「make clean」を行うと、プロジェクトディレクトリ内のフレームワークバンド ル全体が削除されます。これは、現在のバイナリに加えて古いバイナリも削除されるという意味 です。それ以降のビルドでは現在のバージョンのみが作成されます。以前のバージョンを取り戻 す方法はありません。どうしても「make clean」を実行する必要がある場合は、プロジェクトの 複数のコピー、つまり、現在のバージョンをビルドするコピーと、以前のバージョンそれぞれに 対して1つのコピーを作成する必要があります。145  Apple Computer, Inc. February 2001 C H A P T E R 8 8 アンブレラフレームワーク アンブレラフレームワークは、構成要素であるサブフレームワークや、アップル社が提供するそ の他のパブリックフレームワークのインクルードとリンクを行うパブリックシステムフレーム ワークです。サブフレームワークとは、パブリックなもので、通常は、Open TransportやQuickDraw など、特定のAppleテクノロジーをパッケージングしている、制限付きのシステムフレームワー クのことです。 「アンブレラ」という単語が示すように、アンブレラフレームワークは、アプリケーション環境 またはシステムソフトウェアのレイヤを定義するすべてのテクノロジーおよびAPIを包含しま す。アンブレラフレームワークは、外部のデベロッパのプログラムのリンク先になるものと、 アップル社内部のエンジニアが実装して提供するものとの間のアブストラクションレイヤを提 供します。サブフレームワークの内部構成は、細部が変更される可能性の高い実装です。このた め、アップル社では、デベロッパが直接的にサブフレームワークのインクルードとリンクできな いようにするメカニズムを導入しています。 アンブレラフレームワークの使用はサードパーティのデベロッパにはお勧めできません。アップル 社は、外部のデベロッパに対しては、フレームワークをアプリケーション内にパッケージングする ことを推奨しています。詳細については、「アプリケーションのパッケージング」(119ページ) を参照してください。 この章では、さまざまな種類のプライベートおよびパブリックフレームワークについて説明し、 アンブレラフレームワークとサブフレームワークを定義します。また、アンブレラフレームワー クの内部構造をわかりやすく示し、アンブレラフレームワークとのリンクに関するガイドライン を提案します。146 フレームワークの種類  Apple Computer, Inc. February 2001 C H A P T E R 8 アンブレラフレームワーク フレームワークの種類 Mac OS Xの主要なアプリケーション環境とシステムソフトウェアのレイヤ(アプリケーション サービス、コアサービス、およびカーネル環境の各レイヤ)はアンブレラフレームワークとして パッケージングされています。この用語を定義するには、いくつかの概念を段階的に説明していく 必要があります。 第一に、フレームワークとは何かという問題があります。フレームワークとは、ダイナミック共有 ライブラリと、それをサポートするリソースとともに保持する、階層的に構造化されたディレクト リです。これらのリソースには、ヘッダファイル、リファレンスマニュアル、画像ファイル、ロー カライズされた文字列などが含まれます。フレームワークの詳細については、「フレームワーク」 (131ページ)の章を参照してください。また、フレームワークはバンドルのタイプの1つですが、 アプリケーションやプラグインなど他のタイプのバンドルとは大きく異なります。バンドルの詳細 については、「バンドル」(103ページ)の章を参照してください。 第二に、フレームワークはいくつかのタイプ、あるいは「フレーバー」に分類できます。まず、 フレームワークはプライベートまたはパブリックのいずれかです。プライベートフレームワーク は社内開発のみに使用され、そのAPIはユーザおよび開発者には公開されません。習慣的に、 これらのフレームワークは、システム、ネットワーク、またはユーザのLibraryフォルダ内の PrivateFrameworksフォルダに格納されます。ただし、フレームワークがアプリケーションと 密接に結びついている場合は、通常、アプリケーションパッケージの内部に格納します(「アプ リケーションのパッケージング」(119ページ)参照)。パブリックフレームワークはユーザある いは開発者にリリースされ、そのAPIはヘッダファイルによって公開されます。習慣的に、これ らのフレームワークは適切なLibrary位置のFrameworksフォルダにインストールされます。 第三に、アップル社がMac OS Xとともに出荷しているパブリックフレームワークは、単純なパ ブリックフレームワーク、サブフレームワーク、およびアンブレラフレームワークの3つのタイ プに分けられます。これらのフレームワークは、インストール先のハードディスクの/System/ Library/Frameworksにインストールされます。このフォルダにあるパブリックフレームワーク のうち、Mac OS X Serverなど、以前のバージョンのオペレーティングシステムで幅広く使用さ れていたものは、アンブレラフレームワークでもなければ、サブフレームワークでもない単純な 種類のものです。Cocoaアプリケーション環境のFoundationフレームワークおよびApplication Kitフレームワークはこのカテゴリーに属します。C H A P T E R 8 アンブレラフレームワーク アンブレラフレームワークの目的 147  Apple Computer, Inc. February 2001 アンブレラフレームワークの目的 アンブレラフレームワークは、その構成要素であるサブフレームワークと、その他のパブリックフ レームワークのインクルードとリンクを行うだけです。1つのアンブレラフレームワークは、1つ のアプリケーション環境またはシステムソフトウェアの1つのレイヤを定義するすべてのテクノ ロジーおよびAPIを包含します。アンブレラフレームワークは、外部のデベロッパがプログラムに リンクするものとアップル社内部のエンジニアが実装として提供するものとの間にアブストラク ションレイヤを提供します。 サブフレームワークは、構造的には、アップルイベント、Quartz、Open Transportなどの特定 のアップルテクノロジーをパッケージングするパブリックフレームワークです。ただし、サブフ レームワークは制限付きのパブリックフレームワークです。サブフレームワークのAPIはパブ リックですが、アップル社では、デベロッパが直接的にサブフレームワークにリンクできないよ うにするメカニズムを導入しています(「サブフレームワークリンクの制限」(153ページ)を参 照)。サブフレームワークは、必ず/System/Library/Frameworksにインストールされているア ンブレラフレームワーク内に存在し、アンブレラフレームワーク内では、サブフレームワークの ヘッダファイルが公開されています(「アンブレラフレームワークの構造」(151ページ)を参照)。 一部のアンブレラフレームワークには別のアンブレラフレームワークが含まれています。このこと は特に、CarbonおよびCocoaアプリケーション環境のいくつかのアンブレラフレームワークに当て はまります。たとえば、CarbonとCocoaはどちらも(直接的または間接的に)、コアサービスアン ブレラフレームワーク(CoreServices.framework)のインポートとリンクを行います。一方コア サービスアンブレラフレームワークは、Core FoundationやOpen Transportなどのサブフレーム ワークのインポートとリンクを行います。図8-1にこの関係を示します。148 アンブレラフレームワークの目的  Apple Computer, Inc. February 2001 C H A P T E R 8 アンブレラフレームワーク 図8-1 アンブレラフレームワークとそのサブフレームワークの関係 アンブレラフレームワーク内のサブフレームワークの正確な構成は、細部が変更される可能性の高 い内部実装です。しかし、アンブレラフレームワークは間接的レベルを提供することにより、デベ ロッパが変更の影響を受けないようにします。アップル社では今後、アンブレラフレームワーク内 のサブフレームワークの構造を変更したり、サブフレームワーク内でヘッダファイルの追加や削 除、または名前を変更する可能性がありますが、このような変更はアンブレラフレームワークにリ ンクしているプログラムに影響を及ぼしません。 アンブレラフレームワークの価値は、このフレームワークとだけリンクすることで、特定のアプ リケーション環境またはシステムソフトウェアのレイヤでのプログラミングに必要なすべての APIへのアクセスが保証される点にあります。アンブレラフレームワークは、システムソフトウェ アのさまざまな部分の間に存在する複雑な相互依存関係を見えなくします。したがって、デベロッ パは特定のタスクを実現するためにインポートする必要があるフレームワークやライブラリの セットを知っている必要はありません。また、アンブレラヘッダファイルやフレームワークヘッ ダファイルとともにプリコンパイルドヘッダがインクルードされるため、アンブレラフレーム ワークの使用により、ビルドが速くなります。 サブフレームワーク ... サブフレームワーク ... Carbonアプリケーション #includes アンブレラフレームワーク ダイナミックにロード Core Foundation Open Transport サブフレームワーク1 サブフレームワーク2 コアサービス アンブレラフレームワーク CarbonC H A P T E R 8 アンブレラフレームワーク リンクとインクルードのガイドライン 149  Apple Computer, Inc. February 2001 リンクとインクルードのガイドライン Mac OS Xソフトウェアデベロッパにとって、ヘッダファイルのインクルードとシステムソフト ウェアへのリンクに際してのガイドラインはかなり単純で、「アンブレラヘッダファイルのみを インクルードし、作成しようとしているプログラムに対して適切なアンブレラフレームワークに のみリンクを行う」というものです。 アンブレラヘッダファイルは、そのサブフレームワークのフレームワークヘッダファイルをインク ルードします。また、フレームワークヘッダファイル(サブフレームワークなどの)は、そのフ レームワークのすべてのヘッダファイルをインクルードします。ただし、決してサブフレームワー クのヘッダファイルを直接的にインクルードしたり、そのサブフレームワークに直接的にリンクし たりしないでください(実際には、そうできないようになっています)。 Mac OS Xでフレームワークヘッダファイルのインクルードに使用するコマンドの一般的な構文は 次のとおりです。 #include ここで、Frameworkはフレームワークの名前、Headerはヘッダファイルの名前です。 アンブレラフレームワークを指定してMac OS Xのソフトウェアを開発するには、フレームワーク ヘッダファイルに対して使用されるのと同一の#include構文を使用します。つまり、たとえば Carbonアンブレラフレームワークを指定する場合は、次のコマンドを指定します。 #include 注意:Objective-Cプロジェクトの場合は、#includeディレクティブの代わりに#importディレ クティブを使用することもできます。このディレクティブは、同じファイルが何度もインク ルードされるのを防ぐという点を除いて#includeとまったく同じです。150 リンクとインクルードのガイドライン  Apple Computer, Inc. February 2001 C H A P T E R 8 アンブレラフレームワーク ただしアップル社では、CarbonデベロッパがソースコードをMac OS 9からMac OS Xに移植した り、あるいはその他の方法で、両方のオペレーティングシステムでビルドするコードを書いたり するのを容易にする暫定的なソリューションを用意しています。これは「フラットヘッダ」と呼 ばれる代替手段で、デベロッパが引き続き#includeコマンドを使用できるようにします。 /Developer/Headers/FlatCarbonに、Mac OS 9のすべてのパブリックヘッダファイルに使用でき るスタブファイルがあります。このスタブファイルは、コンパイラを適切なアンブレラヘッダ ファイルにリダイレクトし、また、Mac OS X上でAPIが使用できない場合は警告を出力します。 スタブファイルを利用するには、次に示すようにコンパイラで-Iフラグ(大文字の「I」(アイ) です。小文字の「l」(エル)ではありません)を使用して、FlatCarbonフォルダ内のファイルを インクルードする必要があります。 -I/Developer/Headers/FlatCarbon MacWindows.hとMacTypes.hの両方を確実にインクルードするよう注意してください。 Mac OS X専用のコードをコンパイルする場合は、アンブレラフレームワークをインクルードす る場合のネイティブの構文を使用してください(その副産物として、ビルド所要時間が減少しま す)。#includeコマンドに条件を付加することもできます。Mac OS Xでビルドする場合にアンブ レラフレームワークを直接インクルードする(たとえば、#include )よう にしたり、Mac OS 9でビルドする場合にフラットヘッダをインクルードする(たとえば、#include )ようにしたりできます。このように条件を付加する手法を使うと、-Iフラグを使 用する必要がなくなります。 『Inside Carbon: Carbon Porting Guide』には、フラットヘッダにおける#includeを使用するテク ニックに関する、詳細な説明が記載されています。アンブレラヘッダファイルの詳細については、 「アンブレラフレームワークの構造」(151ページ)も参照してください。 プログラムをアンブレラフレームワークとリンクし、多数のヘッダファイルをインクルードする ことによるプラグラムメモリの肥大化を心配する必要はありません。フレームワークの実行可能 コードはダイナミック共有ライブラリであるため、サブフレームワークのコードは、その関数ま たはメソッドの1つが最初に呼び出されるときにはじめてメモリにロードされます。プログラム が使用しないサブフレームワークはロードされません。この問題の詳細については、「フレーム ワーク」の章の「ダイナミック共有ライブラリ」(136ページ)を参照してください。C H A P T E R 8 アンブレラフレームワーク アンブレラフレームワークの構造 151  Apple Computer, Inc. February 2001 アンブレラフレームワークの構造 2つの要因がアンブレラフレームワークの構造を決定します。1番目の要因は、アンブレラフレー ムワークがヘッダファイルをインクルードする方法です。2番目の要因は、バンドルディレクトリ としてのアンブレラフレームワークで、サブフレームワークがどのように組織されているかです。 前のセクションで示した#includeの使用例は、アンブレラヘッダファイルとフレームワークヘッダ ファイルを使って、アンブレラフレームワークが提供するアブストラクションのレベルを実現する 方法を示しています。フレームワークヘッダファイルとアンブレラヘッダファイルをインクルード するための#includeコマンドの一般的な構文をもう一度確認しておきましょう。 #include この方式では、フレームワークとアンブレラヘッダファイルは同じ名前を持ちます。 アンブレラヘッダファイルは、そのサブフレームワークのフレームワークヘッダファイルをインク ル ード しま す。たとえ ば、コア サー ビス アン ブレ ラフ レー ムワ ーク のア ンブ レラ ヘッ ダ (CoreServices.h)は次のような内容を持ちます。 #include #include #include ... フレームワークヘッダファイルは、特定のテクノロジーのパブリックインタフェースを定義するす べてのヘッダファイルをインクルードします。たとえば、CoreFoundation.hは、Core Foundation サブフレームワーク(CoreFoundation.framework)のフレームワークヘッダです。その内容は以 下のようになります。 #include #include #include #include ... 物理的には、アンブレラフレームワークは、サブディレクトリとシンボリックリンク(エイリアス に類似したメカニズム)から構成される構造を使って、サブフレームワークを包含します。リス ト8-1に、フレームワークの例を示します(この例で、アットマーク(@)が末尾についている項 目がシンボリックリンクです。これらは参照先のパスをインクルードしています)。152 アンブレラフレームワークの構造  Apple Computer, Inc. February 2001 C H A P T E R 8 アンブレラフレームワーク リスト8-1 アンブレラフレームワークの構造 Umbrella.framework/ Headers@ -> Versions/Current/Headers/ PrivateHeaders@ - > Versions/Current/PrivateHeaders/ Resources@ -> Versions/Current/Resources/ Umbrella@ -> Versions/Current/Umbrella Versions/ Frameworks/ SubFW1.framework/ SubFW1@ -> Versions/Current/SubFW1 Headers@ -> Versions/Current/Headers/ PrivateHeaders@ -> /Versions/Current/PrivateHeaders/ Resources@ -> Versions/Current/Resources/ Versions/ SubFW2.framework/ SubFW2@ -> Versions/Current/SubFW2 Headers@ -> Versions/Current/Headers/ PrivateHeaders@ -> /Versions/Current/PrivateHeaders/ Resources@ -> Versions/Current/Resources/ Versions/ アンブレラフレームワークの各サブフレームワークはFrameworksディレクトリに格納されます。 アンブレラフレームワークのシンボリックリンクで参照されているHeadersディレクトリにはア ンブレラヘッダファイル(上の例ではUmbrella.h)が含まれます。アンブレラヘッダファイルに は、コンパイラにサブフレームワークの位置を指示する#pragmaコマンドが含まれています。 アンブレラフレームワークの構造については、一般的に、次の2つの点に注意する必要があります。 ■ PrivateHeadersディレクトリには社内開発で使用されるヘッダファイルが含まれるため、ユー ザおよび開発者向けにはリリースされません。 ■ アンブレラフレームワークのFrameworksディレクトリを除けば、フレームワークのVersions サブディレクトリは唯一の「本物」のディレクトリ、つまりこのレベルにあってシンボリッ クリンクではない唯一のディレクトリです。このサブディレクトリにはフレームワークのメ ジャーバージョンが含まれています。Currentディレクトリは、通常、最新バージョンを指す シンボリックリンクです。フレームワークの一般的な構造については、「フレームワーク」の 章の「ライブラリパッケージとしてのフレームワーク」(132ページ)を参照してください。C H A P T E R 8 アンブレラフレームワーク サブフレームワークリンクの制限 153  Apple Computer, Inc. February 2001 サブフレームワークリンクの制限 Mac OS Xには、デベロッパがアンブレラフレームワークにのみリンクすることを保証する2つのメ カニズムが含まれています。1つのメカニズムは、サブフレームワークのヘッダファイルをインク ルードしようとしたときに起動します。もう1つのメカニズムは、サブフレームワークにリンクで きないようにします。 外部のデベロッパがサブフレームワークにリンクしようとすると、リンクエラーが発生し、理由 を説明するメッセージが表示されます。たとえば、Open Transportフレームワーク (OT.framework)に直接的にリンクしようとすると、リンクエラーが発生し、「OT.framework is a subframework. Link against the umbrella framework CoreServices.framework instead.」 (OT.frameworkはサブフレームワークです。サブフレームワークではなく、アンブレラフレーム ワークCoreServices.frameworkにリンクしてください)というメッセージが表示されます。 サブフレームワーク内にあるヘッダファイルをインクルードしようとすると、コンパイル時エ ラーメッセージが表示されます。アンブレラヘッダファイルとサブフレームワークヘッダファイ ルには、サブフレームワークヘッダファイルのインクルードを防ぐため、プリプロセッサ変数と チェック機構が含まれています。不適切な#includeステートメントを使用してプロジェクトをコ ンパイルすると、コンパイラからエラーメッセージが表示されます。154 サブフレームワークリンクの制限  Apple Computer, Inc. February 2001 C H A P T E R 8 アンブレラフレームワークファイルシステムの構成 155  Apple Computer, Inc. February 2001 C H A P T E R 9 9 ファイルシステム アーキテクチャの観点から見ると、Mac OS Xは複数のファイルシステムを実装しています。最も 重要なのはMac OS拡張(HFS+)で、そのほかにMac OS標準(HFS)、UFS、ISO 9660、NFS、 AFPを実装しています。しかし、ユーザの観点から見ると、ファイルシステムは一体になってい ます。ユーザがファイルやフォルダをコピー、移動、またはドラッグするとき、ファイルシステ ムはただ1つのみです(または、そのように見えます)。 この章では両方の観点からファイルシステムを考察し、ソフトウェアデベロッパに関わりのある トピックを取り上げます。最初に、Mac OS Xの標準的なディレクトリレイアウトを示し、マルチ ユーザのネットワークコンピューティング環境で、アプリケーション、書類、フレームワーク、 リソ-スなどが格納される位置について説明します。次に、さまざまなファイルシステム間の相 違点と相互運用性の問題を説明します。重要なファイルシステムであるHFS+とUFSについては、 詳細に説明します。HFSリソースフォークの実装と、この実装に関連するポリシーも説明します。 ファイルシステムの構成 Mac OS Xでは、ファイルシステムのほとんどすべてのファイルに、適切な位置、つまり標準ディ レクトリ位置が、ファイルの種類によって定められています。これは、ユーザが推奨された場所 にアプリケーションとアプリケーションリソースを置かなければならないという意味ではありま せん。アプリケーションはインストールされる場所に関わらず完全に動作するようにパッケージ 化されています。しかし、システムソフトウェアが通常のインストール先と認識している場所に インストールしないと、多少の不便が生じることがあります。たとえば、Finderがアプリケーショ ンデータベースに入れるデータを収集するとき、アプリケーションの標準位置を最初に調査しま す(「アプリケーション情報の収集」(182ページ))。このため、標準位置にないアプリケーショ ンの書類は、ダブルクリックしてもすぐに開かないことがあります。156 ファイルシステムの構成  Apple Computer, Inc. February 2001 C H A P T E R 9 ファイルシステム ファイルシステム構成の背後にある基本原理を説明する前に、Finderがファイルシステムの最上位 レベルに表示するものについて考察します。リスト9-1にインストール例を示します。 リスト9-1 Mac OS Xファイルシステムの最上位レベル /Mac OS X/ /Network/ /OtherDevice/ ファイルシステムのレイアウトは、しばしば「ルート」から始まる階層的なツリー構造として示 されます。一般的なMac OS Xファイルシステムのルート(ルートは最初に付けられた/で示され ています)には、以下のものがあります。 ■ /Mac OS X/:オペレーティングシステムが起動し、システムソフトウェアとシステムリソー スがインストールされるボリューム。このボリュームは、通常、Mac OS拡張(HFS+)ボ リュームとしてフォーマットされたハードディスクです(ただし、UFSボリュームの場合も あります)。「Mac OS X」はデフォルトのボリューム名で、ユーザが変更可能です。 ■ /Network/:ユーザのシステムにマウントされているローカルエリアネットワークのルート。 /Network/ディレクトリ(地球のアイコン)は、ユーザがネットワークに接続しているかどう かに関わらず、常に表示されます。 ■ /OtherDevice/:外部的に接続されているデバイス、またはそのようなデバイスの起動ボ リュームやパーティションでない内部デバイスを表します。ハードディスク以外に、Zipド ライブ、CD-ROMドライブ、デジタルカメラなどの項目があります(「OtherDevice」は総称 です。接続されたデバイスの実際の名前は、それぞれ異なります)。 すべてのノンブートボリュームはマウントされると表示され、アンマウントされると表示が 消えます。例外はユーザのiDiskボリュームで、アンマウントされていても表示されます。 ルートレベルには、/usr、/bin、/etcなどの標準のBSDディレクトリがありますが、Finderではユー ザに表示されません。 まとめると、最上位レベルでは、Mac OS Xコンピュータのファイルシステムは、ハードディスク (起動ディスク)、ネットワーク、および外部デバイスとノンブートボリュームで構成されていま す。しかし完全な構成を知るには、下位レベルを見る必要があります。 注意:前述の説明では、ファイルシステムの最上位レベルがFinderで表示されているものと していることに注意してください。実際の構成はBSDシェルで確認できます(Terminalアプ リケーションを使用)が、多少異なります。これらの違いのいくつかについては、以下で必 要に応じて触れます。C H A P T E R 9 ファイルシステム ファイルシステムの構成 157  Apple Computer, Inc. February 2001 ファイルシステムの各ドメイン Mac OS Xファイルシステムのディレクトリは、ユーザのコンピュータのローカルリソースと、ネッ トワーク上のリソースとが区分されるように整理されています。システムリソースは、コンピュー タ上ではユーザやシステム管理者が管理するものと区分されています。アプリケーション、書類、 フォントなどのリソースは、いくつかのファイルシステムドメインの1つに置く必要があります。 ドメインとはファイルシステムの領域の1つで、ほかのドメインと同一の構造要素を持ち、ほかの ドメインから区分されています。 項目がどのドメインに置かれるかは、その項目のアクセス性をどの程度にしたいかによります。 以下の4つのドメインがあります。 ■ ユーザ:システムにログインしているユーザに固有のドメインです。このドメインは、その ユーザのホームディレクトリで定義されます。ホームディレクトリは起動ボリューム上(/Mac OS X/)かネットワーク上にあります。ユーザはこのドメインに置くものを全面的に管理でき ます。 ■ ローカル:特定のコンピュータのすべてのユーザ間で共有するアプリケーション、書類、 およびリソース用のドメインで、コンピュータの動作に必須ではありません。システム管理 者権限を持つユーザは、このドメインで項目を追加、削除、および変更できます。このドメ インはローカルの起動ボリューム(かつルートボリューム)に置かれます。 ■ ネットワーク:ローカルエリアネットワークのすべてのユーザ間で共有するアプリケーショ ン、書類、およびリソース用のドメインです。このドメインの項目は、通常、ネットワーク ファイルサーバにあり、ネットワーク管理者が管理します。 ■ システム:アップル社によってインストールされるシステムソフトウェア用のドメインで、 起動ボリューム(かつルートボリューム)に置かれます。システムドメインは、システムの 動作に必要なソフトウェアを含んでいます。ユーザはこのドメインに対して、項目の追加や 削除、および内容の変更を行うことはできません。 プログラムやリソースの適用範囲やアクセス可能性は、プログラムやリソースが配置されている ドメインにより定義されます。たとえば、ユーザが自分のホームディレクトリにあるフォントの 標準位置にカスタムフォントをインストールする場合、そのフォントはそのユーザの書類にのみ 使用できます。管理者がネットワーク上のフォント用の位置に同一のフォントをインストールす ると、そのフォントはネットワーク上のすべてのユーザから使用可能です。158 ファイルシステムの構成  Apple Computer, Inc. February 2001 C H A P T E R 9 ファイルシステム 各ドメイン内のディレクトリ構造とディレクトリ名は同一であり、さまざまなシステムルーチン はその規則性を利用して特定の項目をさがします。システムソフトウェアはこの規則性にもとづ いてアプリケーション、フレームワーク、フォント、ヘルプ、環境設定などのリソースを検索す るため、この規則性が損なわれるとシステムソフトウェアが使用する規則の基盤になっているた め、規則性が損われると多くのシステムサービスが動作しなくなる可能性があります。システム ソフトウェアが検索を行うとき、通常は先ほどの一覧に挙げた順序でドメインを検索します。 つまり、ユーザドメイン、ローカルドメイン、ネットワークドメイン、システムドメインの順です。 ファイルシステムドメイン内の位置をコード内で指定する場合、パスを明示的に指定しないでくだ さい。アップル社はこの目的でパブリックAPIで定義を提供しているので、それを使用してくださ い。ドメイン内での項目の検索の詳細については、「ファイルシステムドメイン内での検索」(170 ページ)を参照してください。 システムドメインとローカルドメイン システムドメインとローカルドメインのアプリケーションおよびリソースは、コンピュータシステ ムのすべてのユーザが使用できます。相違点は、システムドメインでは(若干例外がありますが) ユーザがリソースをインストールしたり、その内容を変更したりすることができないことです。 リスト9-2は、システムドメインとローカルドメインのディレクトリレイアウトを示しています。 リスト9-2 システムドメインとローカルドメインのディレクトリレイアウト /Mac OS X/ Applications/ Extras/ Utilities/ Library/ System/ Users/ Classic互換環境がインストールされるときに、インストーラが追加のディレクトリを起動ボリュー ムのルート(/Mac OS X)に配置することがあります。詳細については、「Classic環境のディレク トリ」(160ページ)を参照してください。C H A P T E R 9 ファイルシステム ファイルシステムの構成 159  Apple Computer, Inc. February 2001 システムドメインとローカルドメインのディレクトリは、ベースインストールパッケージにより インストールされます。表9-1に、これらのディレクトリのプロパティと内容を説明しています。 表9-1 システムドメインとローカルドメインのディレクトリ 位置 説明 /Mac OS X/Applications/ システムドメインとローカルドメインを結合したもので、同一 のコンピュータのすべてのユーザが使用可能なアプリケーショ ンを含みます。アップル社が出荷したアプリケーションに加え、 サードパーティのアプリケーションも含まれます。このディレ クトリの内容は、ローカルシステムの管理者(「admin」グルー プのすべてのユーザ)が変更可能です。サブディレクトリUtilities は、管理アプリケーションとユーティリティアプリケーション を含んでいます。サブディレクトリExtrasは、デモアプリケー ションと各種のアプリケーションを含んでいます。 /Mac OS X/Library/ ローカルドメインの一部でリソースを含み(アプリケーション 以外)、マシンのすべてのユーザが使用可能です。これらのリ ソースはアップル社製およびサードパーティ製で、オペレー ティングシステムの動作に必須ではありません。フォント、キー ボード、カラーピッカー、プラグイン、ユーザマニュアル(アッ プル社のものを含む)を含みます。このディレクトリの内容は、 システム管理者(「admin」グループ特権を持つユーザ)だけが 変更可能です。Libraryディレクトリの詳細については、「Library ディレクトリ」(166ページ)を参照してください。 /Mac OS X/System/ システムドメインの一部でアップル社提供のファイルを含み、 起動可能システムに必須です。システムフレームワークとフォ ントなどのリソースがあります。このディレクトリの内容は、 「ルート」ユーザのみが変更可能です。「admin」グループ特権 のユーザは変更できません。システムを起動できなくなる可能 性があるため、このディレクトリに含まれるものを変更しない でください。この理由で、ルートユーザを有効にすることは推 奨されていません。アップル社提供のアプリケーションとマ ニュアルをここに配置できないことに、注意してください。 /Mac OS X/Users/ 「ユーザドメイン」(161ページ)のセクションを参照してくだ さい。160 ファイルシステムの構成  Apple Computer, Inc. February 2001 C H A P T E R 9 ファイルシステム Finderに表示されるものと項目の実際の位置との主な相違点は、マウントされているボリューム (ルートボリューム自体を含む)が格納されているディレクトリです。このディレクトリは、/Mac OS X/Volumes/です。Finderは、マウントされている各ボリュームに加えて、/Networkディレクト リをファイルシステム階層構造の最上位レベルのウインドウに表示します。 Classic環境のディレクトリ Mac OS Xを最初にインストールするときは、Mac OS 9システム上にインストールする必要があり ます。システムはMac OS 9.1以降である必要があります。Mac OS 9システムへの影響は、そのコン ピュータのパーティションが単一か複数か(または複数の外付けハードディスクか)により異なり ます。 Mac OS Xをコンピュータ上の独立したパーティション(HFS+またはUFSフォーマット)にイン ストールした場合、Mac OS 9ボリュームは基本的に影響を受けません。ただしMac OS 9.1以降で ある必要があります。そうでない場合は、ユーザは要件を満たす新しいバージョンのMac OS 9を インストールする必要があります。システム環境設定アプリケーションのClassicペインで、ユー ザはClassic互換環境をMac OS 9ボリュームに関連付けるよう要求されます。最初にClassicを起動 するときに、システムはいくつかの必須ファイルをMac OS 9ボリュームのシステムフォルダに追 加します。また、システムは、Mac OS 9ディレクトリを起動ボリュームのルート(/Mac OS X) に追加します。このディレクトリは、ユーザが起動ボリュームを切り替えるための「起動ディス ク」コントロールパネルを含んでいます。この方式に従うことにより、Mac OS 9ボリュームで起 動し、このボリュームをClassic環境のホームとして使用することができます。 Mac OS 9.1(またはそれ以降のバージョン)がある単一パーティションシステムにMac OS Xをイン ストールする場合、インストーラはMac OS X内にMac OS 9 Filesという名前のディレクトリを作 成し、以下で説明する例外を除いて、クリーンインストールの場合には含まれないファイルとディ レクトリをすべてそこに移動します。また、同時に以下のことも実行します。 1. Mac OS X内に「Applications(Mac OS 9)」という名前のディレクトリを作成し、インストー ル以前からあったアプリケーションをすべてそこに移動します。 2. システムフォルダと書類フォルダ(存在する場合)をMac OS Xボリュームのルートに移動し ます。 3. Mac OS 9システムでマルチユーザ機能を有効にしている場合、Usersフォルダ内に、指定され たユーザごとにホームディレクトリを作成します。 4. /Desktop Folderのエイリアスを/Mac OS 9 Filesディレクトリに作成します。C H A P T E R 9 ファイルシステム ファイルシステムの構成 161  Apple Computer, Inc. February 2001 単一パーティションのMac OS 9システムのバージョンがMac OS 9.1より古い場合、インストー ラは、Mac OS Xをインストールする前にMac OS 9.1以降にアップグレードするようユーザに求 めます。 リスト9-3は、インストール後のMac OS Xディレクトリレイアウトを示しています。 リスト9-3 単一パーティションへのインストール後のディレクトリレイアウト /Mac OS X/ Mac OS 9 Files/ Desktop Folder alias System Folder/ Applications (Mac OS 9)/ Documents/ Applications/ Library/ System/ Users/ Volumes/ ユーザドメイン Mac OS Xコンピュータシステムのユーザは、それぞれ、そのシステムまたはシステムの接続先の ローカルエリアネットワーク上にアカウントを持っている必要があります。管理者は、ローカル システム上かネットワーク上にユーザアカウントをセットアップします。アカウントにアクセス するには、ユーザはログインウインドウでユーザ名とパスワードを入力してログインする必要が あります。 ユーザアカウントを取得すると、ファイルシステム内にプログラム、リソース、および書類を格納 するための領域が確保されます。この領域の最上位レベルのディレクトリは各ユーザのホームディ レクトリで、習慣的に、ユーザを特定できる名前が付けられます。また、ユーザにはホームディレ クトリ内のリソースが与えられ、ディレクトリ内のファイルにはデフォルトのファイルアクセス権 (ユーザが自由に変更可能)が設定されて、外部から操作できないように保護されます。ユーザド メインは、「現在の」(ログインしている)ユーザのホームディレクトリを指します。 ユーザドメインのしくみにより、各ユーザはカスタマイズされた作業環境を使用できます。ユーザ がログインすると、Finderはそのユーザの作業環境を最後にログアウトしたときの状態に復元しま す。アプリケーションソフトウェアとシステムソフトウェアは、ユーザが選択した環境設定で動作 します。ネットワーク、インターネット、および電子メールの設定が復元されます。フォントセッ トとColorSyncプロファイルも復元されます。162 ファイルシステムの構成  Apple Computer, Inc. February 2001 C H A P T E R 9 ファイルシステム Mac OS Xは、習慣として、~(ティルデ)文字を使用してユーザのホームディレクトリを示しま す。この文字は、単独で現在のユーザのホームディレクトリを指定したり、ほかのユーザのホー ムディレクトリを指定したりするのに使用できます。このことを、表9-2で具体的に示します。 リスト9-4では、コンピュータシステムに対してローカルな、標準的なユーザドメインのディレク トリレイアウトを示しています。 リスト9-4 コンピュータのローカルユーザドメインのディレクトリレイアウト /Mac OS X/ Mac OS 9/ Applications/ System/ Library/ Users/ Shared/ Steve/ Documents/ Library/ Public/ Desktop/ Movies/ Music/ Pictures/ Sites/ 表9-2 ティルデを使用したホームディレクトリ位置の指定 ~ 現在のユーザのホームディレクトリの最上位レベル ~/Library/Fonts 現在のユーザのホームディレクトリ内のフォントが格納される位置 ~Steve ユーザSteveのホームディレクトリの最上位レベルC H A P T E R 9 ファイルシステム ファイルシステムの構成 163  Apple Computer, Inc. February 2001 ユーザのホームディレクトリに作成される各ディレクトリには、特定の目的があります。これらの ディレクトリのいくつかの名前は、iDiskアカウントにあるものと同一です。iDiskの詳細について は、http://www.apple.co.jpでiToolsのセクションを参照してください。ユーザのホームディレク トリにあるデフォルトのディレクトリは、以下の通りです。 /Mac OS X内の位置 説明 Users/Shared ローカルコンピュータシステムのすべてのユーザが内容を共有で きるディレクトリ。このコンピュータのすべてのユーザは、この ディレクトリで書類の書き込み、取得、および読み取りを行えます。 このディレクトリは実際にはユーザドメインと関連付けられてい ませんが、ユーザが書類やその他のファイルを交換するときに使用 すると便利です。 Users/ このコンピュータシステム上の特定のユーザのホームディレクト リ()です。システムは各ホームディレクトリに Desktop、Documents、Library、およびPublicディレクトリを提 供します。Desktopディレクトリは、ログインしているユーザに対 してFinderがデスクトップに表示する項目を含んでいます。 Libraryディレ クトリの詳細 については、「Libraryデ ィレクトリ」 (166ページ)を参照してください。 ユーザディレクトリ 説明 Desktop Finderがログインしているユーザのデスクトップに表示する項目が 含まれます。 Documents そのユーザに属するすべての書類を含みます。 Library 「Libraryディレクトリ」(166ページ)を参照してください。 Public ユーザがほかのユーザと共有したい項目を含みます。ほかのユーザ はこのディレクトリにある項目を表示およびコピーすることができ ます。 Movies QuickTimeなどのフォーマットのデジタルムービーが含まれます。 Music デジタルミュージックファイル(.aiff、.mp3などのフォーマット) が含まれます。 Pictures 各種フォーマットの画像ファイルが含まれます。 Sites 頻繁に訪れるWebサイトのブックマーク(URL)が含まれます。164 ファイルシステムの構成  Apple Computer, Inc. February 2001 C H A P T E R 9 ファイルシステム ユーザアカウントが作成されるとき、Applicationsディレクトリは自動的にはホームディレクト リに追加されません。ただし、ユーザはApplicationsディレクトリを作成して自分のアプリケー ションをそこに配置することができます。システムは自動的にこの位置にあるアプリケーション を検索します。 リスト9-5に、ローカルエリアネットワーク上にある一般的なホームディレクトリのディレクトリ レイアウトを示します。 リスト9-5 ローカルエリアネットワーク上のユーザホームディレクトリのディレクトリレイアウト /Network/ Mac OS 9/ Applications/ System/ Library/ Users/ Shared/ Steve/ Documents/ Library/ Public/ Desktop/ Movies/ Music/ Pictures/ Sites/ ネットワーク上のホームディレクトリには、コンピュータシステム上のローカルホームディレク トリと同じ説明が当てはまります。この例のUsersディレクトリの構成は、管理者がネットワー ク上でユーザアカウントを扱う場合の方式の1つです。ほかの方式も可能です。 /Networkの下にあるUsers以外のサブディレクトリは、ネットワークドメインの一部です。詳細に ついては、「ネットワークドメイン」を参照してください。C H A P T E R 9 ファイルシステム ファイルシステムの構成 165  Apple Computer, Inc. February 2001 ネットワークドメイン ネットワークドメインは、ローカルエリアネットワーク(AppleShareとWebサーバを含む)の すべてのユーザが使用できるアプリケーション、書類、およびリソースのファイルシステム範囲 を定義しています。ネットワークドメインの正確な構成は、団体や企業の方針により異なりま す。ネットワークドメインの実装は、ネットワーク管理者の役割です。 リスト9-6に、一般的なネットワークドメインのディレクトリレイアウトを示します。 リスト9-6 ネットワークドメインのディレクトリレイアウト /Network/ Applications/ Library/ Servers/ Connected Servers/ Shared/ 位置 説明 /Network/Applications ローカルエリアネットワークのすべてのユーザが実行できるアプ リケーション。 /Network/Library ローカルエリアネットワークのすべてのユーザが使用可能なリ ソース(プラグイン、サウンドファイル、マニュアル、フレーム ワーク、カラー、フォントなど)。Libraryディレクトリの詳細につ いては、「Libraryディレクトリ」(166ページ)を参照してください。 /Network/Servers ローカルエリアネットワークを構成するNFSファイルサーバのマ ウントポイント。 /Network/Connected Servers Finderの「移動」メニューにある「サーバへ接続」コマンドで AppleShareやWebサーバ(HTTPとWebDAV)がマウントされると 表示されます。これらのボリュームやサーバは、最初、新しい Finderウインドウに表示されますが、このディレクトリ位置にも 保持されます。ただし、異なるログインセッションには存続しま せん。 /Network/Shared ローカルエリアネットワークのすべてのユーザが内容を共有でき るディレクトリ。ユーザドメインのSharedディレクトリの説明は、 「ユーザドメイン」(161ページ)を参照してください。166 ファイルシステムの構成  Apple Computer, Inc. February 2001 C H A P T E R 9 ファイルシステム Libraryディレクトリ Libraryディレクトリは、Mac OS Xの各ファイルシステムドメインに複製されます。Libraryディ レクトリはアプリケーションによって使用されるリソースを含みますが、アプリケーション本体 は含みません。Libraryディレクトリには、一連の共通のサブディレクトリがあります。必ずこ こに存在しなければならないサブティレクトリと、習慣的にここに置くサブディレクトリがあり ます。 一部のシステムルーチンは、Libraryの特定のサブディレクトリを必要とします。たとえば、 読み書きに関する環境設定のルーチンや、フレームワークにダイナミックにリンクしているルー チンなどです。ただし、一部のシステムソフトウェアが使用する検索アルゴリズムは、Library ディレクトリ内を検索しません。つまり、ユーザのアプリケーションがLibraryの特定のサブディ レクトリにあるものを検索する場合、通常、ディレクトリの名前をあらかじめ知っている必要が あります。 リスト9-7に、Libraryディレクトリに表示される可能性のあるディレクトリを示します。これらの サブディレクトリの多くは、ほとんどの場合、ユーザのホームディレクトリのLibraryディレクト リでなく、ローカルドメインかネットワークドメインに現われます。 リスト9-7 Libraryディレクトリに表示される可能性のあるサブディレクトリ Library/ Application Support/ Assistants/ Audio/ Documentation/ Extensions/ Favorites/ ColorPickers/ ColorSync/ Components/ Fonts/ Frameworks/ Internet Plug-Ins/ Keyboards/ Mail/ Preferences/ Printers/ QuickTime/ Scripting Additions/ Sherlock Plug-Ins Web Server/C H A P T E R 9 ファイルシステム ファイルシステムの構成 167  Apple Computer, Inc. February 2001 ディレクトリ 説明 Application Support ドメイン内の特定のアプリケーションで使用するサードパーティ 製のプラグイン、ヘルパーアプリケーション、テンプレートなど のリソース。習慣的に、これらの項目はアプリケーションと同一 の名前のサブディレクトリに置く必要があります。たとえば、 アプリケーションMyAppで使用するサードパーティ製のリソース は、Application Support/MyAppに置かれます。アプリケーショ ンのデベロッパが作成したリソースはアプリケーションパッケー ジに配置する必要があることに注意してください。詳細について は、「アプリケーションのパッケージング」(119ページ)を参照 してください。 Assistants 設定などのタスクでユーザを補助するプログラム。 Audio サウンド、アラート、およびオーディオプラグイン。 ColorPickers HLS(色相、明度、彩度)ピッカーやクレヨンピッカーなど、特定 のモデルで表現されたカラー選択用リソース。 ColorSync ColorSyncのプロファイルとスクリプト。 Components システム全体で使用するコンポーネントと機能拡張。 Documentation マニュアルファイルとApple Helpのパッケージ(Helpサブディレク トリ内)は、コンピュータのユーザおよび管理者が使用するもので す。ローカルドメインでは、アップル社から出荷されたヘルプパッ ケージが含まれています(デベロッパ向けマニュアルを除く)。 Extensions デバイスドライバとその他のカーネル機能拡張(システムドメイン のみ)。 Favorites 頻繁にアクセスするフォルダ、ファイル、およびWebサイトのエ イリアス(ユーザドメインのみ)。 Fonts 表示用および印刷用のフォントファイル。 Frameworks フレームワークと共有ライブラリ。 Internet Plug-ins インターネット用のプラグイン、ライブラリ、およびフィルタ。 Keyboards キーボード定義。 Mail ユーザのメールボックスが含まれます(ユーザドメインのみ)。 Preferences ユーザ環境設定。「ソフトウェアの設定」の章の「環境設定」(202 ページ)を参照してください。168 ファイルシステムの構成  Apple Computer, Inc. February 2001 C H A P T E R 9 ファイルシステム Developerディレクトリ Mac OS Xソフトウェアの開発用のアプリケーション、ツール、マニュアルなどのリソースをオ プションのパッケージとしてインストールする場合、それらの項目の大部分は、起動ボリューム (/Mac OS X)直下のDeveloperディレクトリにインストールされます。 リスト9-8に、Developerディレクトリの内容を示します。 リスト9-8 Developerディレクトリの内容 /Mac OS X/ ... Developer/ Applications/ Documentation/ Examples/ Java/ Makefiles/ Palettes/ PBBundles/ ProjectTypes/ Tools/ Printers プリンタドライバ(ベンダ提供)とPPDプラグイン。 QuickTime QuickTimeのコンポーネントと機能拡張。 Scripting Additions AppleScriptの機 能を拡張するスク リプトとスクリプテ ィングリ ソース。 Sherlock Plug-ins Sherlockの機能を拡張するプラグイン。 Web Server Webサーバが存在するデフォルト位置。ドキュメントルートを含 んでいます。 ディレクトリ 説明C H A P T E R 9 ファイルシステム ファイルシステムの構成 169  Apple Computer, Inc. February 2001 Project Builderでは、いくつかのmakefile変数が定義されているので、プロジェクトではドメイン内 の位置を指定するときにできるだけそれらを指定してください。ファイルの位置は変更されること があるため、ディレクトリパスを直接指定するのでなく、これらのmakefile変数を使用してくださ い。表9-3に、これらの変数を一覧にして示します。 /Developerディレクトリ 説明 Applications ソフトウェアプロジェクトの管理とプロジェクトのビルド(Project Builder)、ユーザインタフェースの作成(Interface Builder)、および プログラムのパフォーマンス調整に使用されるアプリケーション。 Documentation デベロッパ向けのマニュアル。 Examples 一般的な種類(Carbon、Javaなど)ごとに構成されたプロジェクト例。 Headers スタブ「フラット」Carbonヘッダなどの、特別なヘッダファイル。 Java Cocoaアプリケーション環境でJavaブリッジングに必要な ファイル。 Makefiles プロジェクトのビルドと変換のためのmakefileとjamfile。 Palettes アップル社提供のInterface Builderパレット。 PBBundles Project Builderによって使用されるロード可能バンドル。 ProjectTypes Project Builderによって使用されるプロジェクトのタイプの定義。 Tools コマンドライン開発ツール。HFSリソースフォークの作成と操作を 行うものなど。 表9-3 ファイルシステムの各ドメインのProject Builderのmakefile変数 変数 ディレクトリ位置 SYSTEM_APPS_DIR /Applications SYSTEM_ADMIN_APPS_DIR /Applications/Utilities SYSTEM_DEMOS_DIR /Applications/Extras SYSTEM_DEVELOPER_DIR /Developer SYSTEM_DEVELOPER_APPS_DIR /Developer/Applications SYSTEM_DOCUMENTATION_DIR /Library/Documentation 170 ファイルシステムの構成  Apple Computer, Inc. February 2001 C H A P T E R 9 ファイルシステム ファイルシステムドメイン内での検索 Mac OS Xには、特定の(またはすべての)ドメインの特定のディレクトリ位置でリソース、プラ グインなどの項目を検索するのに使用できる2つのパブリックプログラムインタフェースがあり ます。これらのAPIの1つはFolder ManagerのFindFolder関数で、Carbonプログラム用です。もう 1つのAPIはシステムフレームワークのNSSystemDirectories.hで定義されている関数と定数で、 Carbonプログラム以外のあらゆるタイプのプログラムで使用できます。 どちらのAPIも、ユーザが特定の項目をすべてのファイルシステムドメイン内で検索するのに役立 ちます。検索は通常、最もユーザに近いドメインから始まり、最も共通性の高いドメインで終わり ます。ドメインの順序は以下の通りです。 1. ユーザ 2. ローカル 3. ネットワーク 4. システム システムソフトウェアの大部分は、項目をすべてのファイルシステムドメイン内で検索するとき、 この順番に従います。ただし、アプリケーションの必要性に応じて、どのような順番でもドメイン を検索できます。 LOCAL_ADMIN_APPS_DIR /Applications/Utilities LOCAL_APPS_DIR /Applications LOCAL_DEVELOPER_DIR /Library/Developer LOCAL_LIBRARY_DIR /Library USER_APPS_DIR $(HOME)/Applications USER_LIBRARY_DIR $(HOME)/Library 表9-3 ファイルシステムの各ドメインのProject Builderのmakefile変数 変数 ディレクトリ位置C H A P T E R 9 ファイルシステム HFS+とUFSの相違点 171  Apple Computer, Inc. February 2001 HFS+とUFSの相違点 Mac OS Xの2つの主要なファイルシステムであるHFS+とUFSには、多くの重要な相違点がありま す。多くの場合、これらの相違点はMac OS X用に開発されたプログラムに多少の影響をもたらし ます。以下に、この2つのファイルシステムの主な相違点を要約して説明します(説明の多くは、 HFS+だけでなくHFSにも当てはまります)。 ■ 大文字と小文字の区別:UFSでは大文字と小文字が区別されます。HFS+では大文字と小文字 は同一視されますが、その区別は保存されます。 ■ マルチフォーク:HFS+ではマルチフォーク(および追加のメタデータ)がサポートされるの に対し、UFSではシングルフォークのみがサポートされます(Carbonは、UFSなどマルチフォー クがサポートされていないファイルシステムで、マルチフォークをシミュレートします)。 ■ パスの区切り文字:HFS+ではパスの区切り文字としてコロン(:)が使用されるのに対し、 UFSではスラッシュ(/)が使用されます。区切り文字はシステムにより変換されます。 ■ 変更日:HFS+では、ファイルメタデータとして作成日と変更日の両方がサポートされます。 UFSでは変更日はサポートされますが、作成日はサポートされません。変更日は認識するが 作成日は認識しないコマンドを使用してファイルをコピーする場合、コピー先の新規ファイ ルが作成されるときに、変更日がリセットされる可能性があります。このため、変更日より 作成日の方が新しいファイルができる可能性があります。 ■ スパースファイルおよびゼロフィリング:UFS ではスパースファイルがサポートされます。 スパースファイルとは、ファイルシステムが、ファイル中のデータだけを格納し、ファイル に割り当てられている未使用スペースは格納しないというファイル管理を可能にする機能 です。HFS+ではスパースファイルがサポートされず、ファイルに割り当てられたすべての バイトをファイル末尾までゼロで埋め尽くします。 ■ ファイルシステム項目への簡便な参照:「エイリアスとシンボリックリンク」(172 ページ) を参照してください。 さらに、従来それぞれのファイルシステムに関連づけられてきたAPIは、異なる動作をすることが あります。たとえば、BSDの(またはBSD系の)APIを使用しているプログラムでは、開かれてい るファイルを削除できます。Carbonプログラムでは、閉じているファイルのみを削除できます。172 エイリアスとシンボリックリンク  Apple Computer, Inc. February 2001 C H A P T E R 9 ファイルシステム エイリアスとシンボリックリンク エイリアスとシンボリックリンクはともに、ファイルやフォルダの簡便な参照です。エイリアスは Mac OS標準(HFS)およびMac OS拡張(HFS+)ボリュームフォーマットの機能で、シンボリッ クリンクはUFSファイルシステムの機能です。エイリアスとシンボリックリンクはどちらを使用し ても、項目の複製を多数作成することなく、ファイルやフォルダを繰り返し参照することができま す。ただし、これら2つの機能は異なる方法で実装されているため、参照先のファイルやフォルダ を移動または変更したときの両者の動作は異なります。 シンボリックリンクは、ファイルシステム内のパスへの参照として実装されます。UFSファイル システムは、パス情報のパーシングによってシンボリックリンクを解決しようとします。このた め、シンボリックリンクが参照するファイルをファイルシステム内の異なる位置に移動すると、 シンボリックリンクは壊れてしまいます(図9-1参照)。したがって、シンボリックリンクは特定 のファイルやフォルダの脆弱な参照であるといえます。 図9-1 シンボリックリンクの脆弱性 / A /A B / C /A B ?C H A P T E R 9 ファイルシステム リソースフォーク 173  Apple Computer, Inc. February 2001 この脆弱性にもかかわらず、シンボリックリンクは、常にファイルシステム内の特定のパスに存 在することがわかっているファイルを参照するには便利な機能で、ファイルがその位置にあるこ とが重要となります。このような場合、シンボリックリンクは非常にうまく動作します。指定さ れた位置にあるファイルがたとえ新しいファイルに置き換えられている場合にも、シンボリック リンクは、ファイルシステム内のその位置にあるファイルを参照し続けます。たとえば、Mac OS Xのフレームワークでは、バージョンシステムの実装にシンボリックリンクが幅広く使用されて います。 これに対して、HFS+は、参照されるファイルやフォルダのボリュームとディスク上での位置を 特定することでエイリアスを実現しています。こうした参照は、それぞれ一意に識別することが できます。その結果、対象となるファイルやフォルダが同一のボリューム上に留まっているかぎ り、それらがファイルシステム内の任意の位置に移動されても、エイリアスは常に同じファイル やフォルダを示します。したがってエイリアスは、特定のボリューム上で移動される可能性のあ るファイルやアプリケーションを参照するためには最良の方法です。 しかし、ファイルシステム内の特定の位置にあるファイルやフォルダを参照する場合は、エイリ アスは最善の方法とはいえません。特定の位置にあるファイルを新しいバージョンと交換すると、 エイリアスはファイルの古いバージョンを参照し続けます。また、参照先のファイルを別のボ リュームにコピーすると、エイリアスは機能しなくなります。さらに、参照先のファイルの編集 に使用するアプリケーションが、古いファイルを更新するのでなく、ファイルの新しいコピーを 書き出した場合、オリジナルファイルを参照するエイリアスはすべて機能しなくなります。 リソースフォーク Mac OS XとCarbon以前には、アプリケーションリソースは、アプリケーションの実行可能ファイ ルのリソースフォークに格納されていました。しかし、このポリシーは変更されました。Mac OS XおよびCarbonアプリケーションでは一般に、リソースは、実行可能ファイルのリソースフォーク ではなく、独立したリソースファイルのデータフォークの中に格納されなければなりません。 現在CarbonのAPIは、リソースファイルのデータフォークにあるリソースを、リソースフォーク 内に存在する場合とまったく同様に読み取って処理します(実際は、今ではリソースを読み取る システムルーチン―主にResource Manager関数―がほとんどの作業を代行します)。アプリケー ションリソースがリソースフォークに格納されている場合も、これらのAPIを使ってアクセスす ることはできますが、その場合にはリソースフォークを明示的に指定する必要があります。174 リソースフォーク  Apple Computer, Inc. February 2001 C H A P T E R 9 ファイルシステム アプリケーションリソースをリソースフォークの外部に移動した最大の理由は、アプリケーショ ンがリソースを失うことなく異なるファイルシステム間をシームレスに移動できるようにする ためです。アプリケーションを移動する方法には、BSDコマンド、FTP、電子メール、Windows とDOSのコピーコマンドなどがあります。Webを含む他の大部分のコンピューティング環境は、 シングルフォークファイルのみを認識し、HFSおよびHFS+ファイルのリソースフォークは切り 捨てられる傾向があります。さらに、リソースをデータフォークに移動すると、リソース情報を 保持するためにアプリケーションを(Stuffitアーカイブ、BinHex、あるいは類似の手段で)圧縮 する必要がなくなります。 現在、アップル社ではリソースをリソースファイルのデータフォークに格納することを推奨して いますが、それだけではソリューションとして不完全です。たとえば、アプリケーションリソー スが単一のファイルに格納されていると、ローカライズが非常に困難になります。アプリケーショ ンリソースのリソースフォーク外への移動に加えて、アプリケーションパッケージング方式を 使って(「アプリケーションのパッケージング」(119ページ)参照)、以下のうちいずれかを実 行する必要があります。 ■ アプリケーションバンドル内のローカライズされる領域にはそのロケールに使用するアプリ ケーションリソースを含むファイルを置き、ローカライズされない領域には、すべてのロケー ル用のリソースを含むファイルを置きます。習慣的に、このファイルには.rsrcという拡張子を 付けます。ただし、任意の拡張子を使用したり、拡張子を一切使用しないことも可能です。 ■ ローカライズされたリソースをすべて単一の.rsrcファイルに格納するのではなく、それぞれの リソース(または関連するリソースのグループ)をそれぞれ個別のファイルに格納します。 図9-2に、Mac OS Xでのリソース格納方法をMac OS X以前のシステムでの格納方法と比較して示 します。C H A P T E R 9 ファイルシステム リソースフォーク 175  Apple Computer, Inc. February 2001 図9-2 データフォーク中のリソース 1000110100010111011000101101 0001010011010001011100101110 1010001010010010001010100010 MyApp データフォーク� リソースフォーク� MyApp.app/ Contents/ Info.plist PkgInfo MacOS/ MyApp Resources/ MyApp.rsrc AnImage.pict AnIcon.icns English.lproj/ Localized.rsrc MyApp.strings ASound.snd Mac OS 9(single-file executable)� Mac OS X(application package)� MyApp.rsrc データ� empty リソース� AnImage.pict データ� empty リソース� AnIcon.icns データ� empty リソース� MyApp.strings データ� empty リソース� ASound.snd データ� empty リソース� または�176 ファイルエンコーディングとフォント  Apple Computer, Inc. February 2001 C H A P T E R 9 ファイルシステム アップル社では、すべてのリソースを1つのファイルに格納するモデルもサポートしますが、 リソースを個別のファイルに分割して格納することを強く推奨します。その背後にある理由の1 つに、XMLを使用してリソースを指定する手法の普及があります。CarbonにはXMLベースのラ ンタイムが用意されており、Interface Builderなどのツールはそれを利用して、ユーザインタ フェースをXML形式でエクスポートします。 アプリケーションと同様、Mac OS Xでは書類もリソースをデータフォークに格納する必要があ ります。その理由は、アプリケーションリソースをデータフォーク内に格納する理由と同じで す。これに より、リソース データを失う ことなく、これらの書類をMacintoshシステムと非 Macintoshシステム(大部分のWebサーバを含む)の間で交換できるようになります。 HFSおよびHFS+ファイルシステム上のファイルは、そのFinder属性をリソースフォークおよび データフォークとは異なるプライベートフォークに格納しています。これらの属性の中には、 タイプコードとクリエータコードも含まれます。Finderはこれらの属性を使用してユーザの利便 性を高めているため、これらの属性はMac OS Xでも維持されます。ただし同時に、アップル社 では、書類のタイプを特定するための代替手段として、ファイル拡張子を使用することを強く推 奨しています。Mac OS Xは、書類の拡張子を正しく認識して適切に処理することができます。 また、「Finder」の章の「コピーおよび移動操作」(186ページ)で明確に説明されている通り、 HFSまたはHFS+の書類を異なるプラットフォーム(Webサーバを含む)にコピーする場合、ファ イルの拡張子は書類のタイプ情報が確実に保存されることを支援します。 ファイルエンコーディングとフォント UnicodeがMac OS Xのネイティブエンコーディングと見なされていますが、すべての状況における デフォルトのファイルエンコーディングは存在しません。使用される(または使用されるべき) ファイルエンコーディングは、作業内容、使用するAPI、および基礎にあるファイルシステムによっ て決定されます。 たとえば、ファイル名に使用されるエンコーディングは、ファイルシステムによって異なります。 Mac OS拡張(HFS+)では、Unicodeのある特定の形式、つまり、UTF-16形式(16ビットコード のシーケンス)の、正規分解された(canonical decomposition)Unicode 2.1をファイル名に使用 します。UFSファイルシステムは、ファイル名に異なる形式のUnicodeを使用します。Unicode 2.1以降のすべての文字を扱えますが、UTF-8形式(8ビットコードのシーケンス)を使用します。 Mac OS標準(HFS)は、MacRomanなどの従来のMacエンコーディングを使用します。実装の違 いにより、HFS+ボリュームのファイル名で誤ったUnicodeを使用すると、Mac OS 9システムで は正確に表示されますが、Mac OS Xでは常に文字化けして表示されることに注意してください。C H A P T E R 9 ファイルシステム ファイルエンコーディングとフォント 177  Apple Computer, Inc. February 2001 さらに、BSDシステムルーチンを呼び出すコードはすべて、これらのルーチンのconst *charパ ラメータがUTF-8エンコーディングになっていることを確認する必要があります。すべてのBSD システム関数は、文字列パラメータが必ずUTF-8エンコーディングであると想定します。さらに 注意すべき点として、ファイル、パス、およびその他のファイルシステムエンティティの文字列 パラメータは、正規形の UTF-8である必要があります。正規形のUTF-8 Unicode文字列では、 すべての分解 可能な文字が分解されま す。たとえば、「é(0x00E9)は「e」(0x0065)+「´」 (0x0301)と表現されます。正規形のUTF-8エンコーディングに変換するには、CocoaとCarbon で定義されている「ファイルシステム表示」API(Core Foundationなど)を使用します。たと えば、Cocoaで正規形のUTF-8文字列を取得するためには、NSStringのfileSystemRepresentation メソッドを使用します。正規形でないUTF-8文字列には、NSStringのUTF8Stringメソッドを使用 します。 通常のQuickDrawを使用してテキストを描画する場合、いくつかの隠れた問題点に気を付ける必要 があります。Carbon File Managerには、Macエンコーディングを返すファイルシステムコールと、 Unicodeを返すファイルシステムコールがあります。Unicodeテキストが返された場合、QuickDraw Text APIがUnicodeを直接サポートしていないため、QuickDraw Textを使用して描画する場合に問 題が発生します。一方、Macエンコーディングが返された場合、CocoaまたはCarbonのATSUI API を使用するには、最初にそれをUnicodeに変換する必要があります。 一般に、使用されるエンコーディングは、フォントではなく使用されるAPIで決定されます。フォ ントは特定のエンコーディングに限定されているとは限りません。たとえば、TrueTypeフォント は実装しているグリフを宣言し、同時にそれらのグリフを特定のエンコーディングの文字値にマッ プするエンコーディングテーブルを提供します。PostScriptフォントにも同様のエンコーディング テーブルがあります。オペレーティングシステムはさまざまな部分で、あるエンコーディングから 別のエンコーディングに文字をマップする方法を認識しています。CocoaとATSUIは、Unicodeを フォントの「デスティネーション」マッピングとして使用します。CarbonのQuickDraw Textは、 フォントの「FOND」リソースに対応するスクリプトに従って選択されるMacエンコーディングを 使用します。 Mac OS Xでインストールされるフォントは、広範囲のエンコーディングとスクリプトをサポート する大規模な文字セットを持っています。たとえば、システムフォントのLucidaは、ラテン拡張、 ギリシャ、キリル、アラビア、ヘブライ、およびタイの各文字をサポートしています。しかし、 QuickDraw Textでテキストを作成する場合、MacRomanのレパートリにのみアクセスできます。 それ以外にアクセスするには、CocoaまたはATSUIを使用する必要があります。同様に、ヒラギ ノフォントもMacJapaneseがサポートする範囲を超える大規模な文字レパートリを持ち、Cocoaま たはATSUIでのみアクセス可能です。また、CocoaとATSUIは、要求されたグリフが使用できない 場合、ほかのフォントのグリフで代用します。ただし、フォント代用アルゴリズムは、Cocoaと ATSUIで異なります。178 ファイルエンコーディングとフォント  Apple Computer, Inc. February 2001 C H A P T E R 9 ファイルシステム マルチスクリプトサポートのコンテキストでのファイルエンコーディングの詳細については、「国 際化」の章の「マルチスクリプトサポートを追加する」(220ページ)を参照してください。Finderの役割 179  Apple Computer, Inc. February 2001 C H A P T E R 1 0 10 Finder FinderはMac OS Xの主要なアプリケーションです。ユーザがログインした瞬間から実行され、シス テムソフトウェアとともに動作して、Dock、ファイルシステム(マウントされているネットワー クボリュームを含めて)、および接続されているデバイスの追跡と管理を行います。ユーザは、 Finderのウインドウを介して、フォルダ、アプリケーション、書類など、ファイルシステム内の項 目の表示や操作を行うことができます。 この章では、Finderに関連するヒューマンインタフェースエレメントの詳細については触れませ ん。Mac OS Xのソフトウェアデベロッパに関わりのあるデスクトップの側面に焦点を絞り、次の 情報について説明します。 ■ Finderとアプリケーションのインタフェース ■ Finderが管理する情報の格納 ■ Finderがアプリケーションと書類と取り扱う方法 ■ Finderが異なるフォーマットのボリューム間でのファイル操作を処理する方法 Finderの役割 一般論として、Mac OS XのFinderの性格と役割は、Mac OS 9の場合とほぼ同じです。Mac OS X のFinderは、ユーザのデスクトップを管理し、ユーザのアクセスをアプリケーションや書類など のファイルシステム内の項目に仲介するアプリケーション(Carbonアプリケーション)です。ユー ザはFinderを介してアプリケーションを起動したり書類を開いたりします。ある意味で、Finder はユーザがシステムにログインしている間、常に実行されている最も重要なアプリケーションと いえます。 ただし、Mac OS Xでの大幅な変化のいくつかは、Finderの性格と役割にも影響しています。180 Finderの役割  Apple Computer, Inc. February 2001 C H A P T E R 1 0 Finder ■ Aquaヒューマンインタフェース:このインタフェースはデスクトップエレメントの表示だけ でなく、その使用の背後にあるロジックとメカニズムにも変化をもたらします。たとえば、 Dockや、Finderウインドウの各種コントロールは、Mac OS 9には存在しなかったパラダイム の導入です。 ■ マルチユーザ:Mac OS 9でもマルチユーザはサポートされていましたが、オプションでした。 Mac OS Xではマルチユーザが標準です。ユーザはMac OS Xシステムにログインしなければな りません(ただし、ログインが自動的に行われるよう設定されていることもあります)。ログ インしたユーザは、必要に応じてカスタマイズされた環境で作業を行うことができます。 ■ 複数のアプリケーション環境:この点に関する違いも決定的なものではありません。Javaを 考慮に入れると、Mac OS 9も複数のアプリケーション環境を持っていました(あるいは持つ ことができました)。ただし、その度合いに大きな違いがあります。Mac OS Xは、Carbon、 Cocoa、Java、Classic、および(場合により)BSDコマンドの各アプリケーション環境を取 り扱います。 ■ 複数のボリュームフォーマット:Mac OS Xではさまざまなボリュームフォーマットがサポー トされています。Mac OS拡張(HFS+)などのマルチフォークフォーマットとフラットファ イルフォーマット(UFSなど)の両方がサポートされています。Mac OS Xは、異なるフォー マットのボリューム間でのファイルシステム操作をできるかぎりシームレスにしようとしま す。詳細については、「Finderとファイル操作」(186ページ)を参照してください。 Finderは、すべてのアプリケーション環境でユーザの操作感をできるかぎり同じものにしようと します。ただし、Classic 環境にはいく つかの問題があり ます。Classicアプリ ケーションは、 Mac OS標準(HFS)またはMac OS拡張(HFS+)ではないボリュームからは実行できません。 他の環境のアプリケーションは、フォーマットに関係なく、どんなボリュームからでも実行でき ます。同様に、ClassicアプリケーションはHFSまたはHFS+以外のボリュームで書類のオープン や保存を行うことができません。Classic環境の詳細については、「Classic環境とアプリケーショ ン」(240ページ)を参照してください。C H A P T E R 1 0 Finder Finderとアプリケーションのインタフェース 181  Apple Computer, Inc. February 2001 Finderとアプリケーションのインタフェース 現在のところ、Finderはアプリケーションのインタフェースとして情報プロパティリストを提供し ています。このインタフェースを介して、アプリケーションは自身の基本的なデータをFinderに伝 えます。 書類のオープンやアプリケーションの起動といった機能を実現するためにアプリケーションと Finderの間で送受信できるアップルイベントのスイートなど、その他のインタフェースの開発も計 画されています。 情報プロパティリスト アプリケーションなどのMac OS Xのバンドルを開発するときには、プロジェクトの一部として、 バンドルの情報プロパティリストで使用する特定のキーと値のペアを指定する必要があります。 このプロパティリストは、アプリケーションをビルドするときにバンドル(つまり、アプリケー ションパッケージ)の一部として作成されるInfo.plistという名前のファイルに格納されます。 このプロパティリストには、次のようなFinder固有の情報が含まれます。 ■ アプリケーションの名前(Finderによって表示される) ■ タイプコードとクリエータコード(アプリケーションのタイプは「APPL」) ■ アイコンファイル名 ■ バージョン文字列 ■ 説明情報(Finderによって表示される) ■ このアプリケーションが取り扱う書類(書類名、アイコン、役割、タイプ、拡張子など) ■ このアプリケーションが取り扱うURL(URL名、アイコン、スキーマなど) この形式のFinderインタフェースは他のインタフェースに比べるとより受動的です。デベロッパ の作業は、この情報がFinderで使用できるようにすることだけです。アプリケーションを見つけ ると、FinderはInfo.plistの情報を抽出してデータベースに格納します(詳細については、「Finder によって格納される情報」(182ページ)を参照)。182 Finderによって格納される情報  Apple Computer, Inc. February 2001 C H A P T E R 1 0 Finder 情報プロパティリストとFinderに固有のキーの詳細については、「ソフトウェアの設定」の章の 「情報プロパティリスト」(190ページ)を参照してください。また、関連情報については、「バ ンドル」(103ページ)と「アプリケーションのパッケージング」(119ページ)を参照してくだ さい。 Finderによって格納される情報 Finderはいくつかの(プライベートな)データベースをメンテナンスしています。これらのデー タベースは、デスクトップ、アプリケーション、書類、およびユーザが操作するその他の項目に 関する、完全ではないにしても包括的な情報を提供します。このセクションでは、Finderがど のようにこれらのデータベースに情報を入力しているかについて説明し、格納されている情報の 概要を示します。また、Finderに特に関係の深いファイル属性についても説明します。 アプリケーション情報の収集 Finderがファイルシステムに関する情報を格納する方法は、Mac OS 9の場合とは異なります。 Mac OS 9のFinderは、システムにマウントされているそれぞれのボリュームに対して1つのデス クトップデータベースを関連づけます。それぞれのデータベースには、そのボリューム上にある すべてのファイルとディレクトリに関する情報が含まれます。Finderはシステムが起動するとき にこれらのデータベースを構築し、その後は、ファイルやディレクトリの追加、変更、または 削除が行われる度に、それらのデータベースをダイナミックに更新します。 Mac OS Xでは異なります。Mac OS Xはマルチユーザ環境を標準でサポートするため、Finderは、 そのシステム上にアカウント(ローカルまたはネットワークアカウント)を持つそれぞれのユー ザごとにアプリケーションデータベースを管理します。このデータベースには、それぞれのユー ザがFinderで使用しているすべてのアプリケーションに関する情報と、それぞれのアプリケー ションによって認識される書類のタイプに関する情報が含まれます。Finderは、この情報をアプ リケーションの情報プロパティリストから抽出します(この情報の概要については、「情報プロ パティリスト」(181ページ)を参照)。 Mac OS XのFinderがそのデータベースを構築する方法も、Mac OS 9のFinderとは異なります。 ■ Finderはまず、起動時にユーザ、ローカル(+システム)、およびネットワークの各ドメイン の、アプリケーションの標準位置をスキャンして、検出したアプリケーションをデータベース に追加します。C H A P T E R 1 0 Finder Finderによって格納される情報 183  Apple Computer, Inc. February 2001 ■ ユーザが Finder を使ってファイルシステム内を移動すると、Finder はユーザがアクセスした ディレクトリ内にあるアプリケーションをデータベースに追加します。 ■ ユーザが書類を開こうとしたか、またはアプリケーションを必要とする何らかの操作を試み て、Finderが適切なアプリケーションを見つけることができなかった場合、使用するアプリ ケーションをユーザが選択するためのダイアログが表示されます。ユーザが選択したアプリ ケーションはそのユーザのアプリケーションデータベースに追加されます。 ファイルシステム内にはユーザが絶対にアクセスしない場所や、ユーザが絶対に開かないタイプ の書類がある可能性があるため、Finderが、システム上で使用可能なアプリケーションについて 不完全な情報しか把握できない場合があります。しかし、Finderには、ファイルシステムの情報 を必要なときに更新する機能が組み込まれています。 Desktop Folder Mac OS 9とMac OS Xのどちらでも、Finderは、ユーザのデスクトップの内容を不可視フォルダ (その名もDesktop Folder)に格納します。フォルダの名前と不可視属性は共通ですが、フォル ダの位置とデスクトップでのセマンティックスは2つのオペレーティングシステムでまったく異 なります。 ■ Mac OS 9では、Desktop Folderがボリュームのルートにあります。Mac OS Xでは、Desktop ディレクトリが、各ユーザのホームディレクトリ(~/Desktop/)にあります。 ■ Mac OS 9でデスクトップ上に表示されるのは、すべてのボリュームのDesktop Folderの内容を 合わせたものですが、Mac OS Xでデスクトップに表示されるのは、ログインしているユーザの ホームディレクトリにあるDesktopディレクトリの内容だけです。 Finder属性 Mac OS Xファイルシステム内のファイルとフォルダには、Finder属性(Finder Info)が関連づ けられていることがあります。この属性により、Finderがファイルやフォルダを表示したり取り 扱ったりする方法が影響を受けます。Mac OS XのFinderが認識できる属性はMac OS 9のFinder より少数です。サポートされている属性には以下のものを含みます。 ■ バンドルビット ■ 不可視ビット ■ タイプコードとクリエータコード ■ カスタムアイコン184 アプリケーションと書類の取り扱い  Apple Computer, Inc. February 2001 C H A P T E R 1 0 Finder Mac OS Xでは以下の属性はサポートされていません。 ■ アイコンの位置 ■ 表示のタイプ ■ ラベル Mac OS Xでは、Finderは属性をフォルダ単位の不可視ファイルに格納します。このファイルに 含まれているデータ構造は拡張可能で、ボリュームフォーマットに無関係です。 アプリケーションと書類の取り扱い 「Finderによって格納される情報」(182ページ)で説明したように、Finderはファイルシステム内 にあるアプリケーションの情報を収集し、その情報をいくつかのデータベースに入力します。ファ イルまたはフォルダを見つけると、多くの場合、Finderはこの情報を使って、ファイルやフォルダ を表示する方法やユーザによるファイルまたはフォルダの操作を管理する方法を決定します。 Finderは、バンドルビット、タイプコードとクリエータコード、およびファイル名の拡張子の組み 合わせを使って書類(ロード可能バンドルを含む)とアプリケーションを識別し、それに応じた取 り扱いをします。次の手順は、ファイルシステム内で項目を見つけたときのFinderの一般的なロ ジックの概要を示しています。 1. ファイルとフォルダのどちらであるかを判断します。 フォルダであれば、Finderはそれがバンドルであるかどうかを判断します(手順2へ)。 また、ファイルであれば、ファイルの種類を判断します(手順4へ)。 2. そのフォルダがバンドルであるか、または通常のフォルダかを判断します。 Finderはバンドルビットまたはフォルダの拡張子を使って、そのフォルダがバンドルである かどうかを判断します。バンドルビットは必ずしも必要ではありません。実際、アップル社 が提供するシステムフレームワークでは、バンドルビットはセットされていません。 3. バンドルのタイプを判断します。C H A P T E R 1 0 Finder アプリケーションと書類の取り扱い 185  Apple Computer, Inc. February 2001 Finderは、バンドル内に格納されている情報からタイプコードとクリエータコードを取得し ます(「バンドルの解剖」(105ページ)を参照)。タイプコード(タイプコードがない場合は 拡張子)からバンドルの種類を判断します。バンドルがフレームワークでなければ、Finder はそのバンドルをファイルとして取り扱います(つまり、そのバンドルはファイルパッケー ジです)。 4. そのファイル(手順3のファイルパッケージを含む)がアプリケーションであるかどうかを判 断します。 そのファイルがバンドルで、そのバンドルがアプリケーションの場合(タイプコードまたは 拡張子で判断します)、Finderは.app拡張子(もしあれば)を非表示にします。また、アプリ ケーションの情報プロパティリストに格納されている情報を、現在のユーザのアプリケー ションデータベースに追加します(その情報がデータベースに存在しなかった場合)。詳細に ついては、「アプリケーション情報の収集」(182ページ)を参照してください。アプリケー ションでなければ、そのファイルは書類です(手順5へ)。 5. 書類を適切に表示します。 Finderはアプリケーションデータベースを参照して、ファイル名に添えて表示するアイコンを 検索します。アイコンが存在しない場合は、デフォルトの書類アイコンを表示します。 ユーザがダブルクリックまたはその他の方法でファイルシステム内の書類を開こうとすると、 Finderはその書類のタイプコードとクリエータコード(HFSまたはHFS+ファイルの場合)、また はファイル拡張子をチェックします。Finderはこの情報をキーとして使用し、そのタイプの書類 を取り扱うアプリケーション(1つまたは複数)を参照します。 ■ 該当するアプリケーションが1つだけ存在する場合、Finderはそのアプリケーションを起動し (起動していない場合)、そのアプリケーションで書類を開きます。 ■ そのタイプの書類を取り扱えるアプリケーションが存在しない場合、Finderはダイアログを表 示し、適切なアプリケーションを選択するようユーザに求めます。この情報はアプリケーショ ンデータベースに追加されます。 ■ その書類を取り扱えるアプリケーションが複数存在し、書類にタイプコードとクリエータコー ドが関連づけられていない場合、Finderは、その拡張子を持つ書類を取り扱うアプリケーショ ンの1つで書類を開きます。 書類がタイプコード、クリエータコード、ファイル拡張子のいずれも持っていない場合、ユーザが 書類を開こうとしても、Finderは何の動作も行いません。その書類を取り扱えるアプリケーション が複数存在するとき、ユーザはFinderを介して書類を開くために使用するアプリケーションを選択 することができます。186 Finderとファイル操作  Apple Computer, Inc. February 2001 C H A P T E R 1 0 Finder Finderとファイル操作 Finderは、Mac OS Xで行うファイル操作のすべてではないにしろ、その大部分を管理する「ト ラフィックマネージャ」です。cpやmvのようなシェルコマンド(一般にはお勧めできません)、 AppleScript、またはその他のプログラム的手段を使用する場合を除いて、ユーザはFinderを使っ て、ファイルのコピー、移動、削除、およびエイリアスの作成を行う必要があります。もちろ ん、複数のボリュームフォーマットを対象にこれらの操作を実行するときにはさまざまな注意事 項があります。このセクションでは、Finderが異なるボリューム間で行われるファイル操作をど のように管理するかについて説明します。 コピーおよび移動操作 ファイルのコピーまたは移動を行うとき、Finderは、コピー(移動)元とコピー(移動)先のボ リュームのフォーマットに応じて、使用できるモデルの中で情報ロスの最も少ないものを使用し ます。このような操作にとっても最も重要なフォーマットはHFS+(またはHFS)とUFSです。 これらの操作は特に、HFSおよびHFS+のリソースフォークの表現とFinder属性(特に、タイプ コードとクリエータコード)に影響を与えます。 十分に予想できることですが、FinderがHFS+ファイルをHFS+(HFS)ボリューム間でコピー するとき、HFS+ファイルのリソースフォークとFinder属性は「そのまま」保持されます。より 注意を要するのは、HFS+ファイルをUFSボリュームにコピーするときです。この操作が発生す ると、Finderはデータフォーク内にない情報(特に、タイプコードとクリエータコード)を切 り出し、この情報をコピー先のファイルと同じディレクトリ位置にある隠しファイルに書き込み ます。この隠しファイルは、対応するUFSファイルと同じ名前ですが、「._」というプレフィッ クスを持つ点が異なります。したがって、たとえばMyMug.jpegという名前のHFS+ファイルを UFSボリュームにコピーすると、コピー先のファイルと同じ位置に._MyMug.jpegという名前の ファイルが作成されることになります。 UFSファイルをHFSまたはHFS+ボリュームにコピーする場合、Finderは「._」のついた隠しファ イルを検索します。このファイルが存在する場合、Finderは、隠しファイルに含まれる情報をリ ソースフォークとFinder属性に再統合したHFS+(またはHFS)ファイルを作成します。隠しファ イルが存在しない場合、コピーされたファイルはリソースフォークを持ちません。C H A P T E R 1 0 Finder Finderとファイル操作 187  Apple Computer, Inc. February 2001 なお、Finderはその基盤になっているCarbon APIを介してこれらの操作を実行します。 エイリアスとシンボリックリンクの管理 Mac OS標準(HFS)ファイルシステムおよびMac OS拡張(HFS+)ファイルシステムには、 エイリアスと呼ばれるファイルシステムエンティティがあります。エイリアスはいくつかの点で UFSファイルシステムのシンボリックリンクに似ていますが、両者の間には大きな違いがありま す。両者の相違点の説明は、「ファイルシステム」の章の「エイリアスとシンボリックリンク」 (172ページ)を参照してください。 エイリアスとシンボリックリンクの両方が共存するファイルシステムをFinderが管理する方法 は単純です。Finderはシンボリックリンクを認識できますが、作成するのはエイリアスだけです (適切なメニューコマンドが用意されている場合)。ファイルシステム内でシンボリックリンクを 検出すると、Finderはそれをエイリアスとして表示します。つまり、両者の間に見た目の違いは ないということです。Mac OS Xでシンボリックリンクを作成する唯一の方法はBSDのln -sコマ ンドを使用することです。 注意:アプリケーションパッケージ(またはその他のバンドル)に対してBSDのcpまたはmv コマンドを使用しても特に問題は発生しません。ただし、単一ファイルのCFMアプリケーショ ンに対してこれらのコマンドを使用すると、コピー(移動)されたアプリケーションは使用 できなくなります。CFMアプリケーションをコピーまたは移動するために、アップル社では CpMacコマンドラインユーティリティを用意しています。188 Finderとファイル操作  Apple Computer, Inc. February 2001 C H A P T E R 1 0 Finderプロパティリスト 189  Apple Computer, Inc. February 2001 C H A P T E R 1 1 11 ソフトウェアの設定 Mac OS Xには、ソフトウェアを設定する方法がいくつか用意されています。さまざまなメカニズ ムを使ってすべての設定データが永続的に格納されます。これらのメカニズムは、設定データを ダイナミックに更新して実行時にプログラムから使用できるようにします。 Mac OS Xには、3つの基本的な設定オプションが用意されています。 ■ プロパティリスト:構造化の手段としてXMLを使用して、データをテキストとして表現しま す。プロパティリストの要素は、配列、辞書、文字列などの特定のデータ型のデータを表し ます。システムルーチンを使用することにより、プログラムはプロパティリストをメモリに 読み込み、表現されているデータを「実」データに変更することができます。 ■ 情報プロパティリスト:特殊な形式のプロパティリストで、あらかじめ定義されているキー を含みます。このキーは、基本的なバンドル属性やFinderおよびその他のアプリケーション にとって意味のある情報を指定します。情報プロパティリストはバンドルの内部に格納され ます。サポートされている書類のタイプ、URLスキーマ、著作権およびバージョンなどの情 報を指定します。情報プロパティリストでは、ユーザ定義のキーを指定することもできます。 ■ 環境設定システム:ユーザ、アプリケーション、およびホストごとの設定の作成、書き込 み、または読み込みができます。 プロパティリスト Mac OS Xのプロパティリストは、形式構造を表す手段としてXML(Extensible Markup Language) を使用するテキストで表現したデータです。こうした構造は柔軟であるため、プログラミングを 行う上で非常に便利です(XMLの概要は、http://www.w3.org/XML/1999/XML-in-10-pointsを 参照してください)。プロパティリストの要素は、配列、辞書、文字列などのプログラムエンティ ティに対応しています。190 情報プロパティリスト  Apple Computer, Inc. February 2001 C H A P T E R 1 1 ソフトウェアの設定 プロパティリストはProperty List Editorアプリケーションを使って作成しますが、それがない場合 は、任意のテキストエディタでも作成できます。作成したファイルはプロジェクトに追加します。 プロパティリストはバンドルリソース(通常はローカライズされない)として格納されます。プロ グラムをビルドして実行するとき、プログラムは、プロパティリストを読み込み、その中で表現さ れているデータを適切なデータ型に変換する専用のルーチンを使用します。これにより、プロパ ティリストに含まれる情報に簡単にアクセスすることができます。プロパティリストでサポートさ れているデータ型は、辞書、配列(ベクタ)、文字列、データ、日付、数値、および論理値です。 キーバインディングなどの特殊なデータ型の初期化データを指定するために、カスタムプロパティ リストが使用されることもあります。このような目的には、通常CustomInfo.plistという名前のファ イルが使用されます。 情報プロパティリスト 情報プロパティリストは、バンドルにとって必須の設定情報を含んだシステムプロパティリストで す(「プロパティリスト」(189ページ)を参照)。この情報は、実行時にシステムおよびプログラ ムコードから使用することができます。「バンドル」の章の「バンドルのタイプ」(111ページ) のセクションで説明した通り、バンドルはアプリケーション、フレームワーク、プラグインなどを まとめる方法であり、またそれらのプログラム上の包括的な区分でもあります。したがって、情報 プロパティリストはほとんどすべての種類のソフトウェアを設定するために広く使用される重要 な手段といえます。情報プロパティリストは、Finder(および、場合によってはその他のアプリ ケーション)が必要とする情報を提供し、アプリケーションがHFSおよびHFS+ファイルをうまく 取り扱えるようにします。 習慣的に、情報プロパティリストはInfo.plistという名前のファイルに格納されています。情報プロ パティリストはプラットフォーム固有の情報を含むことができます。その場合、プラットフォーム を表すタグがファイル名に埋め込まれます。標準的なプラットフォーム固有のファイル名は次のと おりです。 Info-macos.plist Info-macosclassic.plistC H A P T E R 1 1 ソフトウェアの設定 情報プロパティリスト 191  Apple Computer, Inc. February 2001 設定情報がすべてのプラットフォームにとってジェネリックである場合(これが理想ですが)、 ファイル名はInfo.plistになります。バンドルコードが実行されるとき、まずプラットフォーム固 有のファイルが検索されます。バンドル内にそのようなファイルが存在しないと、プラットフォー ムジェネリックなファイルが読み込まれます。この検索アルゴリズムでは特定のキーではなく、 ファイルを検索するため、プラットフォーム固有のファイルとプラットフォームジェネリックな ファイルの両方が存在する場合は、それぞれに対応するキーと値のペアがある必要があります。 情報プロパティリストファイルはバンドルのContentsディレクトリにあります。 バンドルのInfo.plistファイルはあらゆる種類の情報を含むことができます。プロパティリスト の最上位レベルで、情報はキーと値のペア(つまり、辞書として)として指定されます。Mac OS Xでは、実行可能ファイルの名前やバンドルのバージョンなどの基本的な設定情報に使用す る標準キーのセットが定義されています。また、Finderでは、書類、アイコン、およびユーザに 対して表示するその他の情報などに使用するキーが定義されています。さらに、独自のキーを定 義して使用することもできます。統合開発環境(IDE)には、標準設定データ、Finder設定デー タ、およびカスタム設定データをInfo.plistファイルにキーと値のペアとして入力するための ヒューマンインタフェースが用意されています。情報プロパティリストの標準の情報キーについ ては、「標準キー」(195ページ)を参照してください。また、Finderキーについては、「Finder キー」(197ページ)を参照してください。 Info.plistファイルには、InfoPlist.stringsという名前のローカライズされた特殊なファイルが付 属します。InfoPlist.stringsには、ローカライズが必要になる可能性がある情報プロパティリス トのキーが含まれています。このキーは、Info.plistファイル内でこのキーに対応しているキー に対して指定される値です。一般に、ローカライズされるキーは、CFBundleName、 CFBundleShortVersionString、CFBundleGetInfoString、およびCFBundleGetInfoHTMLで、 このほかにCFBundleTypeNameおよびCFBundleURLNameのタイプの値があります。ローカラ イズされるバンドルの詳細、特にそれらがバンドル内のどこに格納され、どのように検索される かについては、「バンドル」(103ページ)を参照してください。192 情報プロパティリスト  Apple Computer, Inc. February 2001 C H A P T E R 1 1 ソフトウェアの設定 書類の設定 書類を作成、または「認識」するアプリケーションの情報プロパティリストは抽象型と役割を定 義することができます。その定義は、クリップボード(ペーストボード)および書類に適用され ます。 抽象型は1つのファミリーに属する書類の一般的な特性を定義します。それぞれの抽象型には、 ファイル名拡張子や4バイトの識別子などの具体型が対応しています。具体型は、抽象型をさま ざまなファイルシステムまたは永続的なフォーマットへエンコードしたものです。抽象型という 考え方を導入することにより、ペーストボードタイプのシステムとファイル名拡張子タイプのシ ステムの間にある溝が取り除かれ、一般的なアプリケーションの相互運用性が向上します。抽象 型の名前は、一意性を確実にするために著作権を持つ必要があります。 役割はアプリケーションと書類のタイプとの関係を定義します。役割には次の5つがあります。 ■ エディタ:この役割を持つアプリケーションはタイプの読み込み、処理、および保存を行う ことができます。 ■ ビューア:この役割を持つアプリケーションはデータの読み込みと表示を行うことができ ます。 ■ プリンタ:この役割を持つアプリケーションは、データの印刷のみを行うことができます。 ■ シェル:この役割を持つアプリケーションは、ほかのプロセス(Javaアプレットビューアな ど)で使用するランタイムサービスを提供します。書類の名前は、ホスティングされている プロセスの名前で(アプリケーション名ではありません)、それぞれの書類が開かれる度に 新しいプロセスが作成されます。 ■ なし:この役割を持つアプリケーションはデータを認識できませんが、タイプに関する情報を 宣言します(たとえば、Finderはフォントのアイコンを宣言します)。 情報プロパティリストの例 リスト11-1に、Info.plistファイルの例を示します。Sketchデモアプリケーションから抜き出した この情報プロパティリストでは、このアプリケーションに対応する書類のタイプが指定されてい ます。C H A P T E R 1 1 ソフトウェアの設定 情報プロパティリスト 193  Apple Computer, Inc. February 2001 リスト11-1 SketchデモアプリケーションのInfo.plistファイル CFAppleHelpAnchor sktch001 CFBundleDevelopmentRegion English CFBundleDocumentTypes CFBundleTypeExtensions sketch draw2 CFBundleTypeIconFile Draw2File CFBundleTypeName Apple Sketch Graphic Format CFBundleTypeOSTypes sktc CFBundleTypeRole Editor NSDocumentClass SKTDrawDocument NSExportableAs NSPDFPboardType NSTIFFPboardType CFBundleTypeExtensions pdf CFBundleTypeName NSPDFPboardType CFBundleTypeOSTypes pdf CFBundleTypeRole None CFBundleTypeExtensions tiff194 情報プロパティリスト  Apple Computer, Inc. February 2001 C H A P T E R 1 1 ソフトウェアの設定 CFBundleTypeName NSTIFFPboardType CFBundleTypeOSTypes tiff CFBundleTypeRole None CFBundleExecutable Sketch CFBundleIconFile Draw2App CFBundleIdentifier com.apple.CocoaExamples.Sketch CFBundleInfoDictionaryVersion 6.0 CFBundlePackageType APPL CFBundleSignature sktc CFBundleVersion 1.2.0 NSAppleHelpFile osxa444.htm NSAppleScriptEnabled YES NSJavaNeeded YES NSJavaPath Sketch.jar NSJavaRoot Contents/Resources/Java NSMainNibFile Draw2Java.nib NSPrincipalClass NSApplication Sketchアプリケーションは、このInfo.plistファイル(実際にはInfo-macos.plist)に、英語バー ジョンのリソースディレクトリにあるInfoPlist.stringsファイルを関連づけています。C H A P T E R 1 1 ソフトウェアの設定 情報プロパティリスト 195  Apple Computer, Inc. February 2001 リスト11-2 SketchデモアプリケーションのInfoPlist.stringsファイル { CFBundleName = "Sketch"; CFBundleShortVersionString = "Apple Sketch Application Example 1.1.0"; CFBundleGetInfoString = "Apple Sketch Application Example 1.1.0. Copyright \U00A9 1998-2000, Apple Computer, Inc."; NSHumanReadableCopyright = "Copyright \U00A9 1998-2000, Apple Computer, Inc."; // Document type human-readable names. "Apple Sketch Graphic Format" = "Apple Sketch Graphic Format"; "NSPDFPboardType" = "Portable Document Format (PDF)"; "NSTIFFPboardType" = "Tagged Image File Format (TIFF)"; } 標準キー Mac OS Xでは、標準キーが定義されています。統合開発環境によってデフォルト値が設定されて いるキーが一部あります。 CFBundleInfoDictionaryVersion:Info.plistフォーマットの将来のバージョンをサポートするため に使用されます。このキーは、バンドルをビルドするときに開発環境によって自動的に生成され ます。 CFBundleExecutable:バンドルのメイン実行可能ファイルの名前。アプリケーションの場合は、 アプリケーションの実行可能ファイルです。ロード可能バンドルの場合は、バンドルによってダイ ナミックにロードされるバイナリです。フレームワークの場合は、フレームワークの共有ライブラ リです(フレームワークの場合は起動時のパフォーマンスを向上させるため、実行可能ファイルの 名前はフレームワーク名と同じである必要があります)。実行可能ファイルの名前には、複数のプ ラットフォームで使用される可能性のある拡張子が含まれてはいけません。 CFBundleIdentifier:バンドルを一意に識別する文字列。この識別子は、com.apple.foo.barの ようなJavaスタイルのパッケージ名の形式でなければなりません。バンドル識別子は実行時にバ ンドルを検索するために使用できます。環境設定システムでは、この文字列を使って、アプリ ケーションを一意に識別します。 CFBundleVersion:Mac OSの「vers」リソースに適合するバージョン番号。このキーの値は文字 列でなければなりません。この値はアプリケーションに固有です。ただし、「2.5.3d5」のような 標準形式が使用されていると、システムのバンドルルーチンが値を正しく取得することができま す。値が任意の数値である場合、バンドルルーチンはそれを文字列として扱いますが、適切な数 値表現が返されることは保証されません。196 情報プロパティリスト  Apple Computer, Inc. February 2001 C H A P T E R 1 1 ソフトウェアの設定 CFBundleDevelopmentRegion:バンドルの「ネイティブ」地域。通常これは、バンドルを開発 したデベロッパの母国語です。開発地域は、そのユーザに対して優先される地域または言語をリ ソースが検出できなかった場合に、最終的な選択肢として使用されます。 次のキーはCocoaバンドルにのみ適用されます。 NSJavaNeeded:論理値の「true」が指定された場合、必要に応じて、Java VMがロードされて起 動されます。論理値の「true」は、trueに設定されているCFBooleanオブジェクト(XMLの場合) と、「YES」という文字列値のいずれかを使って指定できます。 NSJavaPath:NSJavaRootが指定するルートの下にコンポーネントが格納されているクラスへ の相対パスの配列。配列内の値は、開発環境(具体的には、そのjamfile)により自動的にメン テナンスされます。 NSJavaRoot:アプリケーションのJavaクラスが格納されているディレクトリ位置のルートを指 定する文字列。 NSMainNibFile:アプリケーションのメインnibファイルの名前。nibファイルはInterface Builder アーカイブで、ヒューマンインタフェースの記述と、そのインタフェースのオブジェクト間の接続 の記述を含みます。メインnibファイルは、アプリケーションが起動するときに自動的にロードさ れます。デフォルトでは、ファイル名は、アプリケーションの名前に拡張子.nibを付けたものにな ります。 NSPrincipalClass:Cocoa環境での、バンドルの主要クラスの名前。主要クラスは、バンドル内 で他のクラスに対する関係の中心となるため、メインクラスに指定されます。デフォルトでは、 この名前はアプリケーション名です。 NSServices:アプリケーションによって提供されるサービスを指定する辞書の配列。このサブ辞 書に対するキーは、NSPortName、NSSendTypes、NSMenuItem、およびNSMessageです。 NSHumanReadableCopyright:CocoaアプリケーションのAbout(「~について」)ダイアログに 表示する著作権情報を含む文字列。ローカライズが必要であるため、このキーは通常 InfoPlist.stringsファイル内にあります。 CFAppleHelpAnchor:そのバンドルの、HTMLヘルプ起動時のヘルプファイルの名前から、拡張 子.htmlまたは.htmを除いたもの。このファイルは、バンドルのローカライズされたリソースの フォルダ、または、ローカライズされない場合はResourcesディレクトリの直下に保存されてい ます。C H A P T E R 1 1 ソフトウェアの設定 情報プロパティリスト 197  Apple Computer, Inc. February 2001 Finderキー 次のキーは、Mac OS XのFinderがバンドルに関する重要な情報を格納するのに使用します。 Finderはこれらのプロパティをアプリケーションのアイコンの検索と表示、関連づけられている 書類タイプの認識などに使用します。 CFBundleName:メニューやAboutボックスなど、ユーザインタフェースのさまざまな場所で表示 す る場 合に 適し たバ ンド ルの 短縮 名。ローカ ライ ズが 必要 であ るた め、この キー は通 常 InfoPlist.stringsファイル内にあります。 CFBundlePackageType:バンドルの タイプコード(4文字)。アプリケーションのタイプは 「APPL」、フレームワークのタイプは「FMWK」、ロード可能バンドルのタイプは「BNDL」です。 ロード可能バンドルについては、「BNDL」より限定されたタイプコードを選択することができ ます。 CFBundleSignature:バンドルのクリエータコード(4文字)。 CFBundleIconFile:Finder(またはその他のアプリケーション)がこのバンドルの表示に使用す るアイコンが含まれたバンドルリソースのファイル名。ファイル名には拡張子を付けることがで きますが、必須ではありません。ファイル名に拡張子が付いていない場合、システムがプラット フォームに応じて適切な拡張子を追加します(たとえば、Mac OS 9では「.icns」)。 CFBundleShortVersionString:「情報」ウインドウに表示されるバンドルのバージョンの説明。 この説明には、CFBundleVersionキーが存在する場合に、そのキーで生成可能な文字列と異なる 文字列を使用することができます。ローカライズが必要である場合、このキーはInfoPlist.strings ファイル内にあります。推奨フォーマットは、n.n.n(nは数字)です。マイナーバージョンを 表す番号のどちらか1つは省略可能です。したがって、「1」、「10.1」、および「2.0.11」が有効な バージョン番号の例です。 CFBundleGetInfoString:Finderの「情報」ウインドウに表示されるプレーンテキストの文字列 (Mac OS 9では、Long Version Stringと呼ばれていました)。このキーのフォーマットはMac OS 9 のLong Version Stringに準拠する必要があります(例:「2.2.1, Great Software, Inc, 1999」)。ロー カライズが必要であるため、このキーは通常InfoPlist.stringsファイル内にあります。 CFBundleGetInfoHTML:Finderの「情報」ウインドウに表示されるHTML文字列。ローカライズが 必要であるため、このキーは通常InfoPlist.stringsファイル内にあります。高度な表現力が必要な 場合は、プレーンテキストを指定するCFBundleGetInfoStringの代わりに、このキーと値のペアを 指定することができます。CFBundleGetInfoStringとCFBundleGetInfoHTMLの両方が存在する場合 は、CFBundleGetInfoHTMLが使用されます。198 情報プロパティリスト  Apple Computer, Inc. February 2001 C H A P T E R 1 1 ソフトウェアの設定 CFBundleDocumentTypes:アプリケーションが認識する任意の書類のタイプの、タイプ定義の 配列。それぞれのタイプ定義は配列内にある1つの辞書です。タイプ定義辞書では次のキーがサ ポートされています。 ■ CFBundleTypeName:書類のタイプの抽象名。タイプが有効であるためには、この名前が存 在する必要があります。これは、タイプを参照するためのメインの方法で、データがペース トボード上にあるときにシステムが使用します。一意性を確実にするため、Javaパッケージ 形式の識別子を使用することをお勧めします。この識別子は、InfoPlist.stringsファイル内で もキーとして使用され、タイプ名を可読的に示します。タイプがシステムタイプの場合は、 一般的なクリップボードタイプに対して用いられる以下のシンボル名の1つを使用すること ができます。 NSStringPboardType NSFilenamesPboardType NSPostScriptPboardType NSTIFFPboardType NSRTFPboardType NSTabularTextPboardType NSFontPboardType NSRulerPboardType NSFileContentsPboardType NSColorPboardType NSPICTPboardType NSPDFPboardType NSURLPboardType ■ CFBundleTypeIconFile:Finderがそのタイプに対して表示するアイコンが含まれた、バンド ル内のリソースのファイル名(拡張子を除いたもの)を指定します。ファイル名には拡張子 を付けることができますが、必須ではありません。ファイル名に拡張子が付いていない場合、 システムがプラットフォームに応じて適切な拡張子を追加します(たとえば、Mac OS 9では 「.icns」)。 ■ CFBundleTypeRole:そのタイプとの関連でのアプリケーションの役割を定義します。値は、 Editor、Viewer、Printer、Shell、Noneのいずれかです。これらの値の詳細については、「書類 の設定」(192ページ)を参照してください。C H A P T E R 1 1 ソフトウェアの設定 情報プロパティリスト 199  Apple Computer, Inc. February 2001 ■ CFBundleTypeOSTypes:このタイプへのマッピングを行うタイプコード(4文字)の配列。 ■ CFBundleTypeExtensions:このタイプへのマッピングを行うファイル名拡張子の配列。 ■ NSDocumentClass:この書類のインスタンスの生成に使用する NSDocument サブクラス。 Cocoaアプリケーションにのみ使用します。 ■ NSExportableAs:このタイプの書類のエクスポート形式となる他のタイプの配列(書き込み 専用のタイプ)。Cocoaアプリケーションのみに使用します。 CFBundleURLTypes:CFBundleDocumentTypesに類似した辞書の配列。アプリケーションが取 り扱うことのできるURLスキーマを記述します。URLタイプ辞書では次のキーがサポートされて います。 ■ CFBundleURLName:このURLタイプの抽象名。これは、特定のタイプを参照するための主な 方法です。一意性を確実にするため、Javaパッケージ形式の識別子を使用することをお勧め します。また、意味がわかる形式のタイプ名を得るためにInfoPlist.stringsファイルの検索キー としてもこの名前を使います。 ■ CFBundleURLIconFile:そのタイプに対して使用するアイコンが含まれたバンドル内のリソー スのファイル名(拡張子を除いたもの)を指定します。 ■ CFBundleURLSchemes:このタイプが取り扱うURLスキーマの配列(http、ftpなど)。 アプリケーションパッケージキー Mac OS X上のアプリケーションバンドルは、アプリケーションパッケージキーを利用すること により、リソースのインストール先とインストール方法を制御することができます。アプリケー ションパッケージのインストールには2つの段階があります。ほとんどの場合、ユーザまたは管 理者が行う作業は、目的のインストール先にパッケージをコピーするだけです(コピーを行う 権限があるものとします)。ただし、バンドル化されたリソースをバンドル外部の特定の場所に インストールするメカニズムとして、アプリケーションパッケージキーがあります。ユーザまた は管理者は、インストールするリソースをアプリケーションの「情報」ウインドウ(Finderの 「情報を見る」コマンドからアクセスします)で選択し、「インストール」ボタンをクリックし ます。リソースのアンインストールも同様の方法で行います。200 情報プロパティリスト  Apple Computer, Inc. February 2001 C H A P T E R 1 1 ソフトウェアの設定 表11-1に、アプリケーションパッケージキーの説明を示します。 表11-2に、APFiles配列内の各辞書に含まれるキーの説明を示します。 表11-1 Finderアプリケーションパッケージキー キー 説明 APInstallerURL アプリケーションパッケージ内の項目をインストールするのに使用 するプログラムを特定するURL。現在サポートされている唯一のURL スキーマは「file:」です。 APFiles インストール可能なファイルまたはディレクトリを記述した辞書の 配列。 表11-2 APFiles辞書のキー キー 説明 APFileName ファイルまたはフォルダの名前。 APFileDescriptionKey Finderの「情報」ウインドウに表示される、アイテムの説明(短縮版)。 APFileSourcePath インストーラとの相対位置で示した、アプリケーションパッケージ内の コンポーネントへのパス。 APFileDestinationPath アプリケーションパッケージとの相対位置で示した、コンポーネント のインストール先パス。 APInstallAction そのコンポーネントに対して行う操作(コピーまたはオープン)。 APDisplayedAsContainer trueの場合は、インスペクタに表示される項目に、フォルダのアイコン が使用されます。falseの場合は書類のアイコンが使用されます。C H A P T E R 1 1 ソフトウェアの設定 情報プロパティリスト 201  Apple Computer, Inc. February 2001 起動サービスキー 起動サービスキーは、CFMベースの実行可能ファイルの、Mac OS X上での起動方法を制限しま す。通常、Finderの「情報」ウインドウでは、選択されている各CFMアプリケーションに対し て「Classic環境で起動」コントロールが表示されます。ユーザがこのコントロールを設定する と、FinderはそのアプリケーションをClassic環境で起動します。起動サービスキーのいずれかが 指定されている場合、Finderの「情報」ウインドウにはそのコントロールが表示されません。 アプリケーションはキーで指定された環境で起動する必要があります。詳細については、「イン ストールと統合」の章の「CFM実行可能ファイル」(230ページ)を参照してください。 表11-3に、キーの説明を示します。 表11-3 起動サービスキー キー 説明 LSRequireClassic trueに設定されている場合、アプリケーションはClassic環境でのみ起 動します(Carbon環境では起動しません)。 LSRequireCarbon trueに設定されている場合、アプリケーションはCarbon環境でのみ起 動します(Classic環境では起動しません)。 LSBackgroundOnly trueに設定されている場合、アプリケーションはバックグラウンドで のみ動作します。これが必要なのは、ウインドウサーバに接続はする が、ユーザに対して表示されることを考慮していない、上位レベルの フレームワークを使用するプロセスだけです。202 環境設定  Apple Computer, Inc. February 2001 C H A P T E R 1 1 ソフトウェアの設定 環境設定 環境設定とは、ユーザがその作業環境をカスタマイズするために選択することができるアプリ ケーションあるいはシステムのオプションです。たとえば、自動保存、デフォルトフォント、 スマートクォートは、書類ベースのアプリケーションの一般的な環境設定です。ほとんどすべて のアプリケーションで、環境設定の保存と取得を行う必要があります。Mac OS Xの環境設定シ ステムは、ユーザがアプリケーションやシステムソフトウェアの動作をカスタマイズすることを 可能にするだけでなく、複数の起動環境を対象にそれぞれの環境設定を保存する方法を提供しま す。環境設定はアプリケーションだけに限定される機能ではありません。フレームワークやライ ブラリも、場合によっては、ユーザ環境設定などの環境設定値の読み書きを行うことができま す。環境設定の作成、書き込み、読み込み、および削除を行うには、Core Foundationの環境設 定サービスを使用します。また、Cocoaデベロッパの場合はNSUserDefaultsクラスを使用します。 重要 アプリケーションの起動時に設定する必要のあるデータを、環境設定 値として保存するのは好ましくありません。ユーザ環境設定であると いうことは、その値によってアプリケーションの起動に重大な影響を 与えないということです。つまり、何らかの理由で環境設定が失われ ても、アプリケーションは、環境設定のデフォルトセットを作成し 直すことができるということです。起動時設定の情報はアプリケー ションにとって必須であるため、情報プロパティリストまたはアプリ ケーションパッケージ内のその他のプロパティリストに格納してく ださい。 環境設定システムはキーに関連づけられている値を格納します。その後、必要になったときに、 キーを使って目的の環境設定を参照することができます。キーと値のペアには、ユーザ名、アプ リケーションID、およびホスト(コンピュータ)名の組み合わせを使用する有効範囲が割り当て られます。このメカニズムを使用すると、さまざまなクラスのユーザに適用される環境設定を作 成することができます。たとえば、次の対象に適用される環境設定値を保存することができます。 ■ あるアプリケーションを現在のホスト上で使用している現在のユーザ ■ あるアプリケーションをあるローカルネットワークに接続されている特定のホスト上で使用 するすべてのユーザ ■ あるアプリケーションをあるローカルネットワークに接続されている任意のホスト上で使 用している現在のユーザ(通常の意味のユーザ環境設定)C H A P T E R 1 1 ソフトウェアの設定 環境設定 203  Apple Computer, Inc. February 2001 ■ あるローカルネットワークに接続されている任意のホスト上で任意のアプリケーションを実 行する任意のユーザ 環境設定値の格納方法 環境設定システムは、適切なファイルシステムドメイン内のLibrary/Preferencesフォルダにある ファイルに環境設定データを格納します。たとえば、環境設定が1人のユーザに適用される場合、 そのユーザのホームディレクトリにあるLibrary/Preferencesフォルダにファイルが書き込まれ ます。また、環境設定があるネットワーク上のすべてのユーザに適用される場合は、/Network/ Library/Preferencesに格納されます。 Library/Preferencesにあるファイルはそれぞれ、対象となるアプリケーションを一意に特定する 名前を持ちます。名前はアプリケーションのバンドル識別子から生成されます。バンドル識別子 は、アプリケーションプロジェクト内で、情報プロパティリストの一部として(CFBundleIdentifier キーを使用して)割り当てます(詳細については、「標準キー」(195ページ)を参照)。環境設 定に関連するシステムルーチンでは、バンドル識別子を使って、目的のアプリケーションに対す る環境設定を見つけます。 名前のコンフリクトが発生しないようにするため、アップル社では、バンドル識別子にJavaの パッケージ名と同じ形式(デベロッパの所属企業の一意のドメイン名と、それに続くアプリケー ション名またはライブラリ名)を使用することを強く推奨しています。たとえば、 com.apple.Finder、com.adobe.Photoshop、com.foo.ImageImportのようなバンドル識別子を 使用します。この方式を使用することで、名前が重複する可能性を最小限に抑えることができ、 識別子のネームスペースの管理をデベロッパの所属企業のドメイン内でだけ行えば済むように なります。 Core Foundationのバンドルサービス(Cocoaアプリケーションの場合はNSBundleクラス)には、 アプリケーションのバンドル識別子にアクセスするためのルーチンが用意されています。常にこれ らのルーチンを使用するようにし、アプリケーションの識別子を直接書き込まないようにしてくだ さい。 Library/Preferencesにある環境設定ファイルは.plistという拡張子を持ちます。この拡張子は、 それらがプロパティリストを含んでいることを示します。必要な場合は、これらのXMLプロパ ティリストを直接修正して、アプリケーション用の環境設定値を追加または変更することができ ます。ただし、これにより、XMLに編集エラーが入り込む可能性があります。編集エラーが発生 すると、アプリケーションはファイルをロードできなくなり、その結果、アプリケーションのす べての環境設定値が失われてしまう可能性があります。環境設定ファイルを編集しなければなら ない場合は、Property List Editorアプリケーションを使用してください。204 環境設定  Apple Computer, Inc. February 2001 C H A P T E R 1 1 ソフトウェアの設定 適切なファイルシステムドメイン内のLibrary/Preferences以外の位置にアプリケーションが環 境設定を書き込もうとすると、問題が発生する可能性があります。まず、環境設定APIは、異な る位置を扱えるように設計されていません。しかしより深刻なのは、本来と異なる位置に格納さ れた環境設定は環境設定値検索リストから除外されるため、他のアプリケーション、フレーム ワーク、またはシステムサービスがこの環境設定を認識できなくなる可能性があることです。 環境設定ドメイン 新しい環境設定の作成や既存の環境設定の検索を行うとき、環境設定システムは環境設定ドメイ ンという考え方を使って、環境設定の有効範囲と位置を指定します。環境設定ドメインは、アプ リケーション識別子、ホスト名、およびユーザ名という3つの情報から構成されます。表11-4に、 環境設定システムが環境設定値を検出するときの検索順に従って、すべての環境設定ドメインを 示します。 検索ルーチンは、指定されたキーを見つけるまで、上の順序ですべての環境設定ドメインを順に 検索していきます。環境設定が「任意のアプリケーション」などの限定の弱いドメイン内で設定 されている場合、その値が取得されるのは限定の強いドメインでその値が検出されなかった場合 にかぎります。つまり、限定の強いドメインで設定されている値が、限定の弱いドメインで設定 されている同じキーの値をオーバーライドすることになります。 表11-4 環境設定ドメインの検索順序 1 現在のユーザ 現在のアプリケーション 現在のホスト 2 現在のユーザ 現在のアプリケーション 任意のホスト 3 現在のユーザ 任意のアプリケーション 現在のホスト 4 現在のユーザ 任意のアプリケーション 任意のホスト 5 任意のユーザ 現在のアプリケーション 現在のホスト 6 任意のユーザ 現在のアプリケーション 任意のホスト 7 任意のユーザ 任意のアプリケーション 現在のホスト 8 任意のユーザ 任意のアプリケーション 任意のホストC H A P T E R 1 1 ソフトウェアの設定 環境設定 205  Apple Computer, Inc. February 2001 defaultsユーティリティ Mac OS Xの環境設定システムには、アプリケーションおよびその他のドメインの環境設定値(ま たはユーザデフォルト)の読み書きと削除を行うdefaultsという名前のコマンドラインユーティ リティが用意されています。defaultsユーティリティは、アプリケーションをデバッグするとき に非常に役立ちます。大部分の環境設定情報にはアプリケーションの「環境設定」ダイアログ (あるいはそれに相当するもの)を介してアクセスできますが、ウインドウの位置など、一部の 設定情報には「環境設定」ダイアログからはアクセスできません。defaultsユーティリティを使 用すると、このような情報にもアクセスすることができます。 このユーティリティを実行するには、Terminalアプリケーションを起動し、BSDシェルで、 defaultsに続けて、適切なコマンドオプションをすべて入力します。構文と引数の簡単な説明を 参照するには、オプションを付けないでdefaultsコマンドを実行します。詳細な説明が必要な場 合は、defaultsのmanページを参照するか、次のようにusage引数を付けてコマンドを実行します。 $ defaults usage アプリケーションは実行されている間ずっと環境設定にアクセスしているため、defaultsを使っ て実行中のアプリケーションのデフォルトを変更しないでください。実行中のアプリケーション で使用されているドメイン内でデフォルトを変更すると、アプリケーションはその変更に気づか ず、デフォルトを上書きしてしまう可能性があります。206 環境設定  Apple Computer, Inc. February 2001 C H A P T E R 1 1 ソフトウェアの設定207  Apple Computer, Inc. February 2001 C H A P T E R 1 2 12 国際化 Mac OS Xは国際化されたオペレーティングシステムです。つまり、ソフトウェアリソース(テキ スト、画像、サウンドなど)のローカライズが容易であるだけでなく、複数のスクリプトを含む テキストを表示することもできます。しかし、デベロッパの協力なしには、Mac OS Xは国際化 の要求事項を完全に満たすことができません。デベロッパは担当する役割を認識し、お住まいの 国または地域の外部に出荷されるすべてのソフトウェアが、確実に正しく国際化およびローカラ イズされるようにご協力ください。また、アプリケーションは、マルチスクリプトテキストの表 示を確実にサポートできるようにする必要があります。 先に進む前に、ローカリゼーション、国際化、およびマルチスクリプトサポートという、一見類 似した用語の区別を明確にしておきます。 ■ ローカリゼーションとは、オリジナル製品が開発された国や地域に加えて、世界のその他の 国や地域で使用するために、オンラインヘルプやマニュアルを含めたソフトウェア製品を適 合させることです。ソフトウェアのローカリゼーションには、ユーザインタフェーステキス トの翻訳、テキスト関連のグラフィック要素のリサイズ、国や地域の事情に合わせた画像や サウンドの変更などの作業が含まれます。 ■ 国際化とは、ソフトウェア製品を、ローカライズが容易になるように設計または変更すること です。 Mac OS Xは、Unicodeベースのテキスト記憶域、バンドル化されたリソース、および環 境設定システムを採用することにより、ローカライズされたリソースを入力、表示、フォー マット、および操作することが可能な、国際化されたシステムとなっています。ソフトウェア を国際化するには、それらのロケール対応のサービスを利用するコードを作成する必要があり ます。 ■ マルチスクリプトサポートとは、ソフトウェアがマルチリンガルテキストを正しく取り扱う ことを保証する一連のプログラム手法を指します。マルチリンガルをサポートしたプログラ ムは、たとえば、英語、日本語、アラビア語といった複数のスクリプトを含む書類を正確に 表示することができます。208 アプリケーションを国際化する  Apple Computer, Inc. February 2001 C H A P T E R 1 2 国際化 この章では、ユーザインタフェースの微調整を除いてローカライズの話題は扱いません。ローカ ライズはソフトウェア開発とは異なる分野です。通常、テキストの翻訳は専門の翻訳者が行い、 画像やサウンドの変更はアーティストや技術者が行います。これらの作業はしばしばデベロッ パ自身により行われますが、作業でソースコードの変更が必要になることはありません。ただ し、ローカライズの取り組みにデベロッパが関与することは重要です。デベロッパは、たとえば 翻訳されたユーザインタフェーステキストがそれぞれのユーザインタフェースエレメントに納 まるかどうかを確認し、必要に応じて、ユーザインタフェースエレメントを正しく調整したり、 翻訳を変更するよう依頼したりする必要があります。 アプリケーションを国際化する 国際化とはアプリケーションを特定の言語に依存しないようにすること、つまり複数の言語また は地域からユーザが1つを選択することによって、その言語または地域用にローカライズされた バージョンのアプリケーションを使用できるようにすることです。ローカライズされるのはアプ リケーションのリソース(テキスト、画像、サウンドなど)だけです。実行可能コードは、アプ リケーションのすべてのローカライズバージョンを通じて同一です。 アプリケーションを国際化するとは、アプリケーションをローカライズ可能にすることです。つま り、特定の言語に固有のテキスト、画像、およびサウンドをプロジェクトディレクトリ内にあるそ の言語固有のサブディレクトリに配置し、ロケールを認識できるAPIを使用してそれらのリソース にアクセスすることにより、アプリケーションにローカライズサポートを組み込むことです。 開発するアプリケーションで複数の言語をサポートする予定が当面ない場合でも、国際化を意識 してアプリケーションを設計することには利点があります。アプリケーションが正しく設計され ていると、後でローカライズを行う場合でもソースコードを改変する必要がないため、後から必 要なフックを作り入れることによってバグが侵入する危険がありません。また、ローカライズさ れたコードをオリジナルのモノリンガル製品と同時にテストすることができるため、後でローカ ライズを行う場合に必要なテストの作業量を最小限に押さえることができます。 Mac OS Xの国際化システムは、多くのテクノロジーを利用しています。C H A P T E R 1 2 国際化 アプリケーションを国際化する 209  Apple Computer, Inc. February 2001 ■ Unicode:Unicodeは世界中の言語の大部分を表現可能であるため、Mac OS Xではネイティ ブの文字エンコーディングとして使用されます。 Unicodeを使用した場合、Mac OS Xのファイ ルシステムでは、エンコーディングに応じてローカリゼーションを変更する必要はありませ ん。 Unicodeベースにすると、ある言語を使用するユーザが、別の言語のスクリプトを使用し たファイル名またはボリューム名を付けることが可能になります。しかし、現行のテキスト システムでサポートされていない表記法(縦書きや右から左に書く言語)が一部に存在する ので、そうした言語に対応するようローカライズするのは実用的ではありません。また、Mac OS Xで使用されるUnicodeのエンコーディングは、UTF-8またはUTF-16で、ソフトウェアの レベルに応じて異なります。システムの下位レベル(BSD、NetInfoなど)のルーチンでは UTF-8を、上位レベルではUTF-16を使用します。 正しく国際化されたアプリケーションはUnicode対応であるため、マルチスクリプトもサポー トします(「マルチスクリプトサポートを追加する」(220ページ)を参照)。 ■ バンドル:バンドルおよびバンドル関連のAPIには、特定の言語および地域に合わせてローカ ライズされたリソース用のパッケージングおよびアクセス手段が用意されています。詳細につ いては、「バンドル」(103ページ)の章を参照してください。 ■ 環境設定システム: Mac OS Xの環境設定システムは、言語設定をはじめとするユーザの個人 環境設定を保存するための手段です。言語に関する環境設定の詳細については、「言語環境設 定とバンドルリソース」(209ページ)を参照してください。 また、特定のスクリプトで使用するフォントやインプットサービスも、もちろんインストールされ ている必要があります。 言語環境設定とバンドルリソース ユーザは、「地域情報」システム環境設定の「言語」ペインで、コンピューティング環境で優先 される言語およびロケールの順位を設定することができます。環境設定システム(「環境設定」 (202ページ)参照)は、言語とロケールの順位を示したこの一覧を、ユーザごとのデフォルト として、AppleLanguagesキーに格納します。したがって、複数の言語を使用できるユーザは、 最も優先される言語のローカリゼーションがアプリケーションに用意されていなかった場合に 備えて、代替の選択肢を指定することができます。210 アプリケーションを国際化する  Apple Computer, Inc. February 2001 C H A P T E R 1 2 国際化 図12-1 システム環境設定の「地域情報」モジュールの「言語」ペイン 言語の一覧に表示される各文字列は、バンドルのResourcesディレクトリにある.lprojディレク トリのベースネームに対応しています。システムのバンドル管理ルーチンは、この文字列を使用 して、対応する.lprojディレクトリ内で、ローカライズされたリソースを検索します。該当する ディレクトリが存在しない場合、2番目に優先される言語環境設定の値を使用して、バンドルの ローカリゼーションを検索します。ローカリゼーションが見つかるまでこの操作が繰り返され ます。見つからない場合のデフォルトのローカリゼーションは開発時に使用された言語です。C H A P T E R 1 2 国際化 アプリケーションを国際化する 211  Apple Computer, Inc. February 2001 Carbonおよび Javaアプリケーションでは、Core Foundationバンドルサービス(CFBundle)が この検索機能を提供しています。Cocoaアプリケーションでは、この機能はNSBundleクラスに より提供されます。翻訳された言語固有のリソースがアプリケーションに含まれている場合、 アプリケーションは、そのユーザの言語環境設定の値にもとづいて、ローカライズされたリソー スを適切なファイルセットからロードします。これによりアプリケーションは、各ユーザに対し て、優先される言語に設定した言語のいずれかで表示されます。可能な場合にはそのユーザに とって最も優先順位の高い言語で表示されますが、そうでない場合もあります。 バンドルによるリソースの格納方法については「バンドル」(103ページ)の章を参照してくださ い。 言語およびロケールの指定 Mac OS Xには、言語環境設定とバンドルのローカリゼーションを表現する方法が3つあり、それぞ れ指定の程度が異なります。その言語指定方式を以下に示します。 ■ 言語の名前(たとえば「英語」) ■ ISO 639に準拠した言語の短縮名(たとえば「en」) ■ ISO 3166に準拠した、言語のバリエーションを特定するロケールの短縮名(たとえば「en_US」) 一般に、推奨できる手法は、ISO 639の言語短縮名を使用すること、または、可能な場合には、 ISO 3166のロケール短縮名を使用することです。ただし、CFBundleとNSBundleでは、「English」、 「French」、「German」、「Japanese」、「Chinese」、「Spanish」、「Italian」、「Swedish」、および 「Portuguese」の各言語名が認識されます。また、ISO 639の短縮名をこれらの短縮名にマップ することが可能です。 システムが言語環境設定の値に一致するローカリゼーションを容易に見つけられるよう、ユーザ の言語環境設定は可能な限り具体的であり、バンドル内に格納されるローカリゼーションは可能 な限り一般的である必要があります。すでに説明した通り、システムバンドルルーチンは、バン ドル内の.lprojディレクトリのベースネームの中から言語環境設定の指定に一致するものを検索 します。正確に一致するものが見つからなかった場合、上位の階層でローカリゼーションを検索 します。 注意:ISO 639規格およびISO 3166規格は、ISOのWebサイト(http://www.iso.ch)で入手でき ます。212 アプリケーションを国際化する  Apple Computer, Inc. February 2001 C H A P T E R 1 2 国際化 例を引いて説明します。あるユーザがアメリカ英語(「en_US」)を最も優先される言語に指定し たとします。そのユーザがローカリゼーションを2つだけ(French.lprojおよびEnglish.lproj)持つ アプリケーションを起動した場合を考えます。システムに対してローカライズされたリソースを フェッチするよう要求があった場合、システムは最初にen_US.lprojという名前のディレクトリを 探し、次にen.lproj、最後にEnglish.lproj内を探してリソースを見つけます。 バンドルルーチンがリソースを検索する場合、単一のロケールに対応するローカリゼーションを チェックし、リソースをそこで検出できなかった場合、そのロケールを言語のバリエーションと して含む言語のローカリゼーションをチェックします。このように動作するため、ロケールに固 有のリソースと、その言語全体に使用できるリソースを、相互の論理的な関係を保ったまま、 それぞれの.lprojディレクトリに置くことができます。システムは最初にロケール固有のローカ リゼーション(en_US.lproj)内で検索し、目的のリソースをそこで検出できなかった場合は言 語固有のローカリゼーション(en.lprojやEnglish.lproj)内で検索を行います。そこでもリソー スを検出できなかった場合、システムは、そのユーザが次の優先順位を指定した言語またはロ ケールに進みます。アップル社では、特定のロケール用のローカリゼーションを持つアプリケー ションには、そのロケールを含む言語のローカリゼーションも用意するよう推奨しています。 言語のローカリゼーションには、その言語に対してジェネリックなすべてのリソースが含まれる 必要があります。 CFBundleおよびNSBundleは、ISO 639規格の短縮名を参照するため、既存の大部分の言語を取り 扱うことができます(使用可能範囲の広さを示す例として、マン島語、フェロー語、オロモ語が 含まれていることを挙げることができます)。このセクションですでに挙げた言語名を除き、 CFBundleやNSBundleは、短縮名を英語による言語名表記にマップすることはできません。そうし たマッピングを行う必要がある場合は、ISO 639規格の短縮名を特定の言語での表記名に変換する Carbon関数MacLocales.hを使用できます。 CFBundleやNSBundleが認識しないロケールまたは言 語の短縮名を使用することもできます。ただし、その場合には、その言語環境設定の値に対して 使用される短縮名と.lprojディレクトリのベースネームが正確に一致する(あるいは、最低でも最 初の2文字が一致する)ように注意してください。 一方、CFBundleとNSBundleが認識できるロケール短縮名の一覧に含まれるのは、英語、中国語、 フランス語、ドイツ語、スペイン語、オランダ語、イタリア語、およびポルトガル語の8ヶ国語 だけです。 CFBundleとNSBundleは、ISO 3166のロケール短縮名を単純に切り詰めることによっ て、その「親」に当たるISO 639の短縮名にマップすることができます。C H A P T E R 1 2 国際化 アプリケーションを国際化する 213  Apple Computer, Inc. February 2001 国際化とローカリゼーションに使用するツール Mac OS Xでのアプリケーションの国際化作業の1つに、特定の言語または地域用にローカライズ されたリソースを正しいバンドル位置に配置することがあります。これまでCode Fragment Manager(CFM)アプリケーションなどでは、この作業を手作業で行わなければならないことも ありました(詳細については「CFM実行可能ファイル」(230ページ)を参照)。幸い大部分の場 合には負担の軽減に役立つツールがあります。 Project Builderに含まれているFile Reference Inspectorを使用すると、国際化の負担を軽減できま す。リソースファイルを国際化するには、以下の手順に従ってください。 1. Project Builderにリソースファイルを追加します。 a. 「Groups and Files」ペインで追加先の「Resources」フォルダを選択します(「Groups and Files」ペインを表示するのに「Files」タブをクリックする必要がある場合があります)。 b. 「Project」メニューから「Add Files」を選択します。 c. ファイルブラウザを使用して目的のリソースまでナビゲートし、リソースを選択して 「Open」をクリックします。 d. Project Builderにより表示されるダイアログで、「Copy into group folder」を選択し、相対 的(relative)な参照スタイルのいずれかを選択します(Project Relativeなど)。正しい追 加先リソースが選択されていることを確認してください。「Add」をクリックします。 2. 目的のリソースファイルを選択し、「Project」メニューから「Show Inspector」を選択します。 3. File Reference Inspectorで(図12-2(214ページ)参照)、「Localization & Platforms」ポップ アップメニューから「Make Localized」を選択します。 4. 表示されるダイアログで、ポップアップメニューから標準の言語のいずれかを選択するか、 目的の言語が一覧にない場合は言語名を入力します。 既存のリソースの1つをプレースホルダまたはテンプレートに使用して別のローカリゼー ションを作成する場合は、「Add Localized Variant」を選択し、作成する言語名を選択(また は入力)します。 Project Builderにより、目的のリソースが別の.lprojディレクトリにコピーさ れます。 5. リソースがテキストファイルの場合は、「File Encoding」ポップアップメニューで「Unicode」 を選択します。214 アプリケーションを国際化する  Apple Computer, Inc. February 2001 C H A P T E R 1 2 国際化 図12-2 Project BuilderのFile Reference Inspector stringsファイル(ソースコードに埋め込まれている文字列のローカライズされたバージョンが含 まれているファイル)を作成するには、genstringsコマンドラインユーティリティを使用するか、 手作業でファイルを作成する必要があります。詳細については、「文字列をローカライズする」 (216ページ)を参照してください。 最後に、リソースのローカライズに使用するツールに触れます。画像やサウンドについては、 適切なアプリケーション(Photoshopなど)を使います。テキストに関しては、UTF-16エンコー ディングで保存できるワードプロセッサやテキストエディタを使います。Mac OS Xに付属する TextEditアプリケーションは、このような機能を備えています。Interface Builderなどのアプリ ケーションを使用してユーザインタフェースを定義およびアーカイブすることができる場合、 それらのインタフェースアーカイブに、ローカライズされたバージョンを用意する必要がありま す。このトピックの詳細については、この後のセクションを参照してください。C H A P T E R 1 2 国際化 アプリケーションを国際化する 215  Apple Computer, Inc. February 2001 ユーザインタフェースをローカライズする Mac OS X用のネイティブの統合開発環境(IDE:Integrated Development Environment)は、Project Builder、Interface Builder、およびビルド、デバッグ、パフォーマンス調整を行う各ツールのセッ トで構成されます。開発者は、Interface Builderを使用して、アプリケーションのユーザインタ フェースを作成します。作成したインタフェースは、nibファイルと呼ばれるXMLアーカイブの形 式で保存されます。nibファイルは、画像やサウンドファイルと同様にローカライズ可能です。 nibファイルには、ウインドウ、ダイアログ、ユーザインタフェースエレメント(ボタン、スラ イダ、テキストオブジェクトなど)、およびこれらのエレメントのヘルプタグなどのアプリケー ションのユーザインタフェースが格納されています。nibファイルにはオブジェクト間の接続も 含まれます。これは、ユーザがコントロールをアクティベートしたときに実行される動作を指定 するものです。nibファイルは、通常、一度にローカライズされます。ローカライズ担当者はnib ファイルを取り出し、ユーザに対して表示されるすべての文字列をローカライズして、必要に応 じてその他の調整(表示エレメントのリサイズなど)を行います。 中規模から大規模のアプリケーションでは、それぞれのウインドウやパネル(ダイアログ)に対 して、専用のnibファイルを作成することをお勧めします。こうすると、必要になるときまでユー ザインタフェースのロードを遅延できるだけでなく、ローカリゼーションを多くの段階に分割し て進めることができます。アプリケーションのメニューを独立したnibファイルに分離する方法も 有効です。 nibファイルをローカライズするには、Interface Builderを使うと便利です。言語の.lprojディレ クトリにあるすべてのnibファイルを開き、すべての文字列をローカライズし、新しい文字列に 合わせてユーザインタフェースエレメントのサイズを変更し、nibファイルを保存します。注意 事項はほかにもいくつかあります。 ■ nib ファイル内のオブジェクトは通常相互に接続していますが、この接続は壊してはいけま せん。nibファイルを編集する前に、すべての接続をロックしておく(Interface Builderの環 境設定のオプションで)必要があります。 ■ 数値や日付のフィールドには、通常フォーマッタが付属しています。必要に応じて、新しい ロケールに合わせてフォーマットを変更します。たとえば、数値の3桁ごとの区切り記号は、 アメリカではカンマですが、ヨーロッパではピリオドが使われます(フォーマットを変更す る方法は、Interface Builderのマニュアルを参照してください)。 注意:このセクションでは、Interface Builderとそのnibファイルについて説明します。ただし、 ここで説明することはほとんど、他のIDEによって作成されるローカライズ可能なユーザイン タフェースアーカイブにも対応できます。216 アプリケーションを国際化する  Apple Computer, Inc. February 2001 C H A P T E R 1 2 国際化 ■ ダイアログやウインドウは、通常、インスペクタで最大サイズや最小サイズが定められてい ます。ある言語で、ダイアログやウインドウの大きさを大きくしなければならない場合、 最小値も変更しなければならない場合があります。 ■ 一部のユーザインタフェースオブジェクトはヘルプタグをサポートしています。ヘルプタグ とは、ユーザがオブジェクトにポインタを重ねたときに表示される説明文です。Interface Builderのインスペクタでは、オブジェクトのヘルプタグの定義やローカライズを行うことが できます。 文字列をローカライズする stringsファイルを使用すると、アプリケーションのソースコードに埋め込まれている文字列を外 部化してローカライズすることができます。このファイルは、.stringsという拡張子を持つため、 stringsファイルと呼ばれています。たとえばLocalizable.stringsというファイル名になります。 通常、バンドル内のローカリゼーション1つにつき(つまり.lprojディレクトリ1つ当たり)、最低 1つのstringsファイルがあります。 stringsファイルは、アーカイブされたユーザインタフェース(たとえば、Interface Builderで作 成されたnibファイル)の文字列を対象にしたものではありません。このような文字列は、適切 な開発用アプリケーションを使用してローカライズします(「ユーザインタフェースをローカラ イズする」(215ページ)を参照)。 また、埋め込まれている文字列には、ユーザに対して表示されるものと表示されないものがあるこ とに注意してください。次のステートメントには、ユーザに見えない文字列が含まれています。 if (CFStringHasPrefix(value, CFSTR("-")) { CFArrayAppendValue(myArray, value); }; 文字列"-"はユーザには表示されないのでローカライズする必要はありません。また、ユーザに表 示されるものに対する影響もありません。一方、警告ダイアログに表示される文字列は、ローカ ライズする必要があります。 stringsファイルを作成する ローカライズする必要のある文字列を、以下に示すフォーマットでstringsファイル内に置きます。 /* A comment */ "Yes" = "Oui"; "The same text in English" = "Le meme texte en francais";C H A P T E R 1 2 国際化 アプリケーションを国際化する 217  Apple Computer, Inc. February 2001 左側の文字列をコード内でのキーとして使用することによって、右側にある文字列がstringsファ イル内で検索されます。CarbonやCocoaでは、stringsファイル内にあるローカライズされた文 字列にアクセスするためのAPIが用意されています。Cocoaアプリケーションでは、以下のマク ロ(FoundationフレームワークのNSBundleクラスの場合はヘッダで宣言されています)を使用 して、stringsファイルから文字列を取り出します。 NSLocalizedString(key, comment ) NSLocalizedStringFromTable(key, table, comment ) Carbonやその他の非Cocoaプログラムでは、Core Foundationバンドルサービス(CFBundle)で 定義されている、同等の働きをするマクロを使います。 CFCopyLocalizedString(key, comment) CFCopyLocalizedStringFromTable(key, table, comment) CFCopyLocalizedStringFromTableInBundle(key, table, bundle, comment) たとえば、フランス語のローカリゼーションが選択されている場合、 NSLocalizedString (@"Yes", @"") は、上記のテーブルから「Oui」を返します。このマクロの引数は、以下の通りです。 key ローカライズされた値を検索するために使用される文字列。 table 検索先のstringsファイルの名前(デフォルトは「Localizable」であるため、マクロは Localizable.stringsを検索します)。 comment stringsファイルを生成するときに追加されるコメント。 一部の関数やメソッド(CocoaのstringWithFormat:メソッドやCore Foundationの CFStringCreateWithFormat関数など)では、フォーマット文字を含む文字列の引数を使用でき ます。このような関数やメソッドでは、以下の例にあるように、キーと値のどちらでも、フォー マット文字を指定することができます。218 アプリケーションを国際化する  Apple Computer, Inc. February 2001 C H A P T E R 1 2 国際化 "Windows must have at least %d columns and %d rows." = "Les fenetres doivent etre composes de %d colonnes et %d lignes au minimum."; "File %@ not found." = "Le fichier %@ n'existe pas."; 文字列を翻訳する場合、ローカライズ担当者は、必要に応じて引数の順序を変更することができま す。文字列に、変数の引数が複数含まれている場合、n$ 修飾子を使用して引数の順番を変更する ことができます。ここで、nは、引数の順番を表します。以下にその例を示します。 /* Message in alert dialog when something fails */ "Oh %@! %@ failed!" = "%2$@ blah blah, %1$@ oh!"; C言語の場合と同様、一部の文字を文字列プロパティに入れるには、プレフィックスとしてバック スラッシュを付ける必要があります。そのような文字には、二重引用符、バックスラッシュ、改行 記号などがあります。改行記号は\nで表すこともできます。 "File \"%@\" cannot be opened" = " ... "; "Type \"OK\" when done" = " ... "; 文字列には、任意のUnicode文字を入れることができます。この場合、\Uに続けて、そのUnicode 文字を表す最大4桁の16進数字を指定します。たとえば、スペースを表す16進数は20であるため、 \U0020と表記します。このオプションは、何らかの理由でタイプ入力できないUnicode文字を文字 列に入れたい場合などに役立ちます。 stringsファイルはUnicode形式で保存するのが理想的です。それによりstringsファイルがエン コーディングに依存しないファイルになると同時に、アプリケーションがstringsファイルをロー ドするときに使用するエンコーディングを単純化できます。TextEditアプリケーションでは Unicode形式での保存が可能です。エンコーディングは、Plain Textモードでは「Save」ダイア ログから選択できます。TextEditの一般環境設定として指定することも可能です。 注意:「%@」指定子は、標準のprintf()のフォーマット付き文字の拡張で、任意のCocoaオブ ジェク トやCore Foundationオブジェ クトを表し ます。すべて の指定子の 一覧は、『Inside Cocoa: Object-Oriented Programming and the Objective-C Language』を参照してください。C H A P T E R 1 2 国際化 アプリケーションを国際化する 219  Apple Computer, Inc. February 2001 stringsファイルを生成する stringsファイルは手作業で作成することもできますが、コマンドラインプログラムgenstringsを使 用すると、ソースコードから自動的に生成することができます。 このプログラムは、指定したソースファイルをパースして、CocoaのNSLocalizedString マクロ (および、その関連マクロ)の呼び出しやCore FoundationのCFCopyLocalizedStringマクロ(お よび、その関連マクロ)の呼び出しに遭遇するごとに、その呼び出しから情報を取り出し、適切 なstringsファイルに追加します。関連するマクロのいずれかが呼び出されるごとにエントリーが 生成され、table.stringsという名前のファイルに置かれます。ここで、「table」には、マクロの table引 数で指 定され た名前 が入り ます(テー ブルが 指定さ れない 場合は、デフォル トで、 Localizable.stringsになります)。別々のテーブルを使用すると、文字列セットに対して別のド メインが作成され、状況に応じて、同一の文字列に対して複数の翻訳を使用することが可能にな ります。 stringsファイルには、それぞれの呼び出しに与えられたコメントも書き込まれます。これによ り、翻訳者は、それぞれの文字列の使用状況を理解しやすくなります。genstringsは、関連する マクロのいずれかが呼び出される度にエントリーを1つ生成するため、まったく同じエントリー が複数できることを理解しておくことが重要です。コード内に同じ引数を使うマクロが複数ある 場合、genstringsを実行した後でstringsファイルを編集し、重複するエントリーを削除する必要 があります。1つのソースファイル内に1つのキーが複数回現れることに問題はありませんが、 stringsファイル内の各キーは一意でなければなりません(ただし、1つのローカリゼーションに 対して複数のstringsファイル、つまり「テーブル」を用意し、各ファイルが同じキーを含むよう にすることは可能です)。 stringsファイルを自動的に生成するか、自分で作成するかは、開発者次第です。場合によって は、アプリケーションの開発時に1度だけstringsファイルを生成し、それを手作業で微調整する 方が有効なことがあります。しかし、ほとんどの場合、ローカライズされる文字列を変更または 追加するごとに、ソースからstringsファイルを新しく生成することをお勧めします。220 マルチスクリプトサポートを追加する  Apple Computer, Inc. February 2001 C H A P T E R 1 2 国際化 マルチスクリプトサポートを追加する マルチスクリプトサポート機能を持つアプリケーションでは、複数のスクリプトのテキストを同時 に正確に表示することができます。このようなアプリケーションでは、ユーザの言語環境設定の値 に関わらず、1つの書類内で、複数の言語のスクリプトを含むテキストを入力、表示、および印刷 することができます。アプリケーションがマルチスクリプトサポートを備えていない場合、テキス トの一部が正しく表示されません。 マルチスクリプトサポートはますます重要度を増してきています。オペレーティングシステムだけ でなく、サードパーティのアプリケーションも採用すべき機能です。Mac OS Xなどの国際化され たオペレーティングシステムでは、ある言語とスクリプトで文書を作成して、言語の選択を変更 し、次にその文書を開いたときに最後に保存したときの状態で開くことができることを求められる 場合があります。さらに、インターネットも、マルチスクリプトサポートに対する要求を高める要 因です。これは、最も優先される言語にした言語とは異なる外国語のテキストをダウンロードする 機会が増えるためです。 一般的なレベルでは、適切なUnicodeテクノロジーとAPIを使用することにより、Mac OS Xのマル チスクリプトサポート機能を備えることができます。具体的には以下のことが必要です(Carbon アプリケーションの場合)。 ■ 可能な限り、CやPascalの文字列ではなく、Core Foundation文字列サービスのCFStringを使用 します。 CFStringオブジェクトは、内部的にUnicodeデータを格納および処理します。このとき、開発 者にグローバル文字セット規格に対する特別な知識は必要ありません。Unicodeと他のエン コーディングを使用するCやPascalの文字列の間で変換を行う必要がある場合はCFStringの機 能を使用します。ただし、CFStringオブジェクトとCやPascalの文字列の間での変換は可能な 限り避けてください。このような変換は不経済であるだけでなく、マルチスクリプトの表示 に悪影響を与えるバグが侵入する可能性を高めます。特定の状況で、使用できるCFStringや Unicode対応のAPIが見つからなかった場合は、エンコーディングを、ユーザごとのデフォル トのシステムエンコーディングに変換する必要があります。 ■ ローカライズされる文字列については、GetIndStringではなく、Core Foundationの CFCopyLocalizedString(および関連するマクロ)を使用します。C H A P T E R 1 2 国際化 マルチスクリプトサポートを追加する 221  Apple Computer, Inc. February 2001 GetIndStringは、スクリプトシステムにもとづいているので、マルチスクリプトテキストを表 現することができません。CFCopyLocalizedStringは、UnicodeベースのCFStringオブジェク トを返すため、このようなテキストを表現することができます。一般的に、コード内では、 スタティックテキストに対してダイナミックテキスト処理(たとえば、「文字列をローカライ ズする」(216ページ)で説明した、ローカライズされた文字列からの生成など)を使用します。 ■ Core Servicesの下位にあるシステムレイヤに直接アクセスすることは避けてください。 Core Servicesフレームワーク、特にCore Foundationを使用することにより、カーネル環境で 使用できる機能(特にBSDコールやMachコール)の大部分を利用できるはずです。BSD関数 を直接呼び出すことは可能な限り避けてください。ファイルシステムへのアクセスには、Core Foundation URLサービス(CFURL)、File ManagerのFSRefデータ型、あるいはNSFileManager (Cocoaの場合)を使用します。 ■ TextEdit APIの使用は避けてください。 TextEdit APIはマルチスクリプトテキストを取り扱うことができます。ただし、スクリプトの フォントやスタイルは開発者が管理しなければなりません。MLTEには、マルチスクリプトテ キストを処理するためのUnicodeベースの単純なAPIが用意されています。 ■ テキストデータがMacRomanエンコーディングになっているとは限りません。 Mac OS Xでは、すべてのテキストデータがMacRomanであると前提したり、テキストエン コーディングの問題を完全に無視して済ませたりすることはできません。開発者は、テキス トエンコーディングの問題に対処できる必要があります。現在では、スクリプトコードを伴 わず、タグも付いていないテキストデータのスクリプトがシステムスクリプト(Roman)で あるとは限りません。その前提が誤っている場合(多くの場合、誤っています)、ユーザに 対するテキスト表示が正しくできません。さらに、ユーザのデータを破壊したり、システム をクラッシュさせたりするなどの異常動作が発生する可能性もあります。 Cocoa APIを正しく使用すると、マルチスクリプトサポートは自動的に提供されます。 Mac OS Xにおけるファイルエンコーディングの詳細については、「ファイルシステム」(155ペー ジ)の章の「ファイルエンコーディングとフォント」(176ページ)を参照してください。222 マルチスクリプトサポートを追加する  Apple Computer, Inc. February 2001 C H A P T E R 1 2 国際化223  Apple Computer, Inc. February 2001 C H A P T E R 1 3 13 インストールと統合 待望の瞬間の到来です。これまでに、設計、コーディング、再設計、デバッグ、テスト、微調整、 そしてバグフィックスと、Mac OS Xアプリケーションに数ヶ月を費やしてきました。最後のビル ドが完了すると、洗練され、エンジニアリングの粋を極めた、強力で豊かな潜在能力を持つアプリ ケーションが、意図していたようにできあがります。 しかし、これで確かに完成でしょうか。すぐに配布できるでしょうか。市販できる品質でしょう か。インストールや使用はお客様にとって容易でしょうか。見落としはないでしょうか。 この章は、これらの質問への回答に役立てます。最初に、アプリケーションを配布する前に完了 しておくべき(少なくとも完了することを考慮すべき)重要なタスクのチェックリストを提示し ます。この中には、仕上げに関するものもありますが、優れた設計のアプリケーションに不可欠 なタスクがほとんどです。次に、開発したアプリケーションをMac OS Xのさまざまなパーツや他 のアプリケーションに統合する際の最善の方法と、予想される問題点を取り上げます。最後に、 アプリケーションをインストールするためのさまざまな手法やツールについて説明します。これ までは、ユーザの評価を得られる機能を備えたすばらしいアプリケーションを開発することに力 を注いできました。ここからは、ユーザが快適にアプリケーションのインストールとセットアッ プができるようにします。224 ソフトウェアをMac OS X用に準備する  Apple Computer, Inc. February 2001 C H A P T E R 1 3 インストールと統合 ソフトウェアをMac OS X用に準備する ソフトウェアデベロッパにとって、Mac OS Xは非常に融通の利くシステムです。同じ結果を得 るために利用できる手法が複数あることも多く、その場合、1つは従来の手法と同じ(あるい はよく似た)手法です。そうした代替策がある分野は、アプリケーションのパッケージング、 リソースの取り扱い、書類のタイプ指定などです。ただし、通常はその中で特に適した手法が あり、また、複数の手法を組み合わせて使用することもできます。次のセクションでは、設計 上のさまざまな側面からアプリケーションを説明します。ここでは、何が可能かだけではなく、 パフォーマンス、相互運用性、堅牢性の観点からどうするべきかについても説明します。 アプリケーションと書類に関するFAQ アプリケーションと書類については、本書全体を通してさまざまな箇所で取り上げています。 これは、アプリケーションや書類の性質、構造、および取り扱いには多くの要因が関わるためで す。それらの要因としては、バンドル、実行可能ファイルのフォーマット、ファイルシステム、 およびFinderなどがあります。このセクションでは、情報をQ & A形式で示すことによって、デベ ロッパにとって重要な、アプリケーションと書類に関するポイントを要約します。 アプリケーションにはどのようなメタデータを指定する必要がありますか? ユーザが(バンドル化された)アプリケーションを起動するには、Finderアプリケーションは、 まずそのフォルダがバンドルであることを検出し、続いてそのバンドルがアプリケーションであ ることを認識する必要があります。この判定を行うために、Finderは最初に以下のいずれかを チェックします。 ■ バンドルフォルダにバンドルビットがセットされているかどうか ■ バンドルの拡張子がバンドル用に予約されているものかどうか(.appなど) フォルダがバンドルであると判断すると、FinderはバンドルのPkgInfoファイルに記録されている タイプコードを読み込みます。このコードが「APPL」であれば、バンドルがアプリケーションで あるとわかります。Finderがタイプコードを見つけられない場合は、バンドルの拡張子(アプリ ケーションの場合は.app)を使用してバンドルタイプを判定します。C H A P T E R 1 3 インストールと統合 ソフトウェアをMac OS X用に準備する 225  Apple Computer, Inc. February 2001 他の形式のHFSやHFS+メタデータと同様、バンドルビットも、複数のファイルシステムが関係 するネットワーク環境では失われやすいため、アプリケーションバンドルに常に.appという拡張 子を持たせることが非常に重要です。Project Builderは、アプリケーションをビルドする際に自 動的にこの拡張子を付加しますが、他のIDEに同じ機能があるとは限りません。この拡張子を削 除したり、ユーザに削除するよう推奨しないようにしてください。.appに美観上の問題を感じる 場合でも、Mac OS XのFinderでは.app拡張子を表示されないので問題はありません。 アップル社は自社のアプリケーションにバンドルビットをセットしませんが、デベロッパは、アプ リケーションをビルドする際にバンドルフォルダにこの属性を設定することができます。 この問題の詳細については、「Finderとバンドル」(110ページ)および「アプリケーションと書 類の取り扱い」(184ページ)を参照してください。 CFM実行可能ファイルをバンドルにパッケージングする必要がありますか? 必須ではありませんが、パッケージングすることをお勧めします。詳細については、「CFM実行可 能ファイル」(230ページ)を参照してください。 アプリケーションリソースはどのように格納したらよいでしょうか? Mac OS 9以前のMac OSでは、アプリケーションのリソースは実行可能ファイルのリソースフォー クに格納されます。Mac OS Xでは、この手法は推奨されません。アプリケーションのリソースは、 アプリケーションバンドル内にある独立したファイルのデータフォークに格納してください。 この方法をお勧めするのは、書類のタイプを指定するのに、ファイル名の拡張子とFinderメタデー タを併用するのと同じ理由からです(「なぜ、いまさら拡張子が必要なのですか?」(229ページ) を参照)。HFSやHFS+のボリュームフォーマットは、マルチフォーク、つまり複数のデータスト リームを持つファイルを許容します。ただし、ファイルのデータフォーク以外の場所にあるもの は、ファイルがLAN、イントラネット、またはインターネット上にある、種類の異なるコンピュー タの間を移動脱落してしまう可能性は十分にあります。重要なのは、ますますネットワーク化が 進む世界で、リソースやその他の形式のデータを失わずに保つことです。 Carbonアプリケーションのデベロッパには、特にアプリケーションがCode Fragment Manager (CFM)に依存している場合、これ以外にもMac OS Xのリソースに関して考慮すべき点がいくつ かあります。アプリケーションが、CFMに管理される単一ファイルの実行可能ファイルである場 合(つまり、バンドル化されたCFMアプリケーションではない場合)、リソースは、実行可能ファ イルのリソースフォークに格納されているはずです。通常、単一ファイルのCFM実行可能ファイ ル形式にパッケージングされたアプリケーションは、起動するとリソースフォークを開きます。 これに対して、バンドル形式にパッケージングされたアプリケーションが起動すると、通常ロー カライズされたデータフォークのリソースを開きます。226 ソフトウェアをMac OS X用に準備する  Apple Computer, Inc. February 2001 C H A P T E R 1 3 インストールと統合 Carbonアプリケーションをバンドルにパッケージすると、リソースに関してより多くの可能性が 広がります。リソースをResource Managerによって管理される他のリソースを1つにまとめる代 わりに、特定のタイプのリソースを独立したファイルに置くことができます。たとえば、アプリ ケーションがTIFF画像を使用する場合、TIFF画像データを.tiffという拡張子を持つファイルの データフォークに入れることができます。そうすると、適切なバンドルAPIの使用により、リソー スに直接アクセスすることができます。各リソースをそれぞれ独立したファイルに置くことには 多くの利点があります。たとえば、XMLプロパティリストで指定されたリソースのエクスポート が容易になるため、ツールの使用方法に関する知識のないローカライズ担当者の負担を軽減でき ます。 Carbonアプリケーションは、CFMベースの場合もdyldベースの場合も、いつでもResource Manager 形式のリソースを使用することが可能です。ただし、アプリケーションをバンドルにパッケージン グする場合(推奨)、リソースは、バンドルのResourcesディレクトリ内にあるファイルに置く必 要があります。このファイルはデータフォークだけを使用します。このファイルは、.rsrcという 拡張子を持っていますが、他のファイルと同じようにバンドルリソースとして扱われ、国際化も容 易です。.rsrcファイルのベースネームは任意ですが、標準の名前を付けて、リソースの標準バン ドル位置に置くと、システムのバンドルルーチンにより自動的にリソースが管理されます。以下 に、具体的に示します。 ■ ローカライズされないリソースは executableName.rsrc という名前のファイルに入れ、この ファイルを、ローカライズされないリソースのバンドル位置(つまり、Resourcesディレクト リの直下)に置きます。 ■ ローカライズされたリソースはLocalized.rsrcという名前のファイルに入れ、ローカライズさ れたリソースの適切なバンドル位置(つまり.lprojディレクトリ)に置きます。 アプリケーションが起動すると、システムのバンドルルーチンは自動的にこれらのリソースを開 き、アプリケーションが使用できるようにします。 要約すると、アプリケーションのリソースには以下のオプションが用意されています。 ■ 特定のタイプの各リソースは、そのタイプに適切な拡張子の付いた、独立したファイルに置き ます。この手法は、いずれのアプリケーション環境でも、バンドル化されたアプリケーション に適しています。この「1タイプ1ファイル」モデルの例外はローカライズされた文字列で、 ローカリゼーションごとにまとめられ、習慣的にLocalized.stringsという名前が付けられた ファイルに入れられます。詳細については、「文字列をローカライズする」(216ページ)を 参照してください。C H A P T E R 1 3 インストールと統合 ソフトウェアをMac OS X用に準備する 227  Apple Computer, Inc. February 2001 ■ バンドル化されたCarbonアプリケーションは、Resource Manager形式のリソースをリソース ごとに別々のファイルのデータフォークに格納します。ファイルには.rsrcという拡張子がつ けられます。これらのファイルは、ローカライズされないリソースとローカライズされたリ ソースのどちらのバンドル位置にも置くことができます。 ■ バンドル化されていないCarbonアプリケーションでは、Resource Manager形式のリソースは、 アプリケーションの実行可能ファイルのリソースフォークに格納する必要があります。 Finderにアプリケーションと書類を適切に処理させるには、キーと値のペアを指定する必要 があります。このペアは、タイプ「plst」、ID 0のリソースとして、バンドルの情報プロパティ リストにあります。 この問題の詳細については、「バンドルとResource Manager」(118ページ)および「リソースフォー ク」(173ページ)を参照してください。 Mac OS Xではどのようにして書類のタイプを指定するのですか? Mac OS Xでは、書類のタイプは、2つの方法で指定することができます。 ■ タイプコードとクリエータコード。ファイルの属性として格納されます( HFSまたはHFS+ ボリュームで作成される場合)。 ■ そのタイプに関連する1つまたは複数の拡張子(たとえば、.htmlと.htm)。 アップル社では、アプリケーションの書類タイプには、両方の方法を利用することを推奨してい ます。アプリケーションが書類を持つ場合は、タイプおよびクリエータとファイルの拡張子の両 方をアプリケーションプロジェクトの情報プロパティリスト(Info.plist)で指定することができ ます(「情報プロパティリスト」(190ページ)を参照してください)。Project Builderには、この 情報を入力するための手段として、ビルドされたターゲット用の「Application Settings」ペイン が用意されています。アプリケーションは、アプリケーションの書類のすべての有効なタイプ、 特にファイルの拡張子の設定を必ず行う必要があります。「アプリケーションでは書類をどのよ うに保存したらよいでしょうか?」(229ページ)を参照してください。 拡張子については、もう1つだけ重要な注意事項があります。一般に、アプリケーションは、 タイプやクリエータがなくても、拡張子のある書類は開くことができなくてはなりません。一般 的な(したがってクロスプラットフォームの)書類タイプ、たとえば画像ファイル、テキスト ファイル、HTMLファイルなどについては、特に必要です。228 ソフトウェアをMac OS X用に準備する  Apple Computer, Inc. February 2001 C H A P T E R 1 3 インストールと統合 自作のプラグインを書類として扱うことは可能ですか? プラグインやその他のロード可能バンドルはファイルパッケージであるため、Finderはファイル として表示します。アプリケーションは、ロード可能バンドルをファイルと同様に、書類として 扱うことができます。したがって、「Mac OS Xではどのようにして書類のタイプを指定するので すか?」(227ページ)に示したアドバイスは、この場合も適用されます。ロード可能バンドル には常に拡張子を付加してください。また、タイプコードとクリエータコードが存在する場合は、 タイプコード(BNDL)とクリエータコードをバンドルのPkgInfoおよびInfo.plistファイルに記述 してください。すべてのバンドルと関連付けるためのタイプ指定の情報は、「アプリケーション にはどのようなメタデータを指定する必要がありますか?」(224ページ)を参照してください。 Finderは書類をどのように取り扱うのですか? Finderは、ファイルのタイプとクリエータ、およびファイルの拡張子を使用して、書類のタイプ と、書類を持っているアプリケーションを判定します。Finderがウインドウにファイルを表示す るとき、この情報を使用して、その書類の表示に適切なアイコンを探します。Finderが、ユーザ がファイルに対して行ったアクションに対応する場合、たとえばユーザが書類を開くためにアイ コンをダブルクリックしたとき、Finderはその書類のタイプをキーにして、書類を開くためのア プリケーションを検索します。タイプ情報の詳しさによって(たとえば拡張子は付いているが、 タイプコードやクリエータコードがないなど)、Finderは以下のように対応します。 ■ ただちにアプリケーションを使用して書類を開きます。 ■ ユーザがアプリケーションを選択するためのダイアログを開きます。 ■ その書類のタイプを取り扱えるアプリケーションの1つで書類を開きます。 ファイルにタイプもクリエータも拡張子もない場合、Finderはこれを書類以外のファイルとして 扱います。ファイルは汎用のアイコンで表示され、ダブルクリックしてもアプリケーションが開 きません。 アプリケーションがロード可能バンドルを書類として扱うことができることに注意してくださ い。バンドルをダブルクリックすると、アプリケーションは、そのバンドルを認識できる場合に はロードします。他の書類と同様に、アプリケーションは情報プロパティリストで、バンドルの 拡張子、タイプコード、クリエータコード、役割、およびその他の情報を特定します。アプリケー ションがバンドルを書類として取り扱うには、Finderがそれをバンドルと判断している必要があ ります。 詳細については、「アプリケーションと書類の取り扱い」(184ページ)を参照してください。C H A P T E R 1 3 インストールと統合 ソフトウェアをMac OS X用に準備する 229  Apple Computer, Inc. February 2001 なぜ、いまさら拡張子が必要なのですか? Macintoshソフトウェアのデベロッパの中には、ファイルの拡張子に抵抗を感じる方もいます。 書類のタイプとオーナーシップを指定する手段として、拡張子は、タイプコードやクリエータ コード、および、マルチフォークのHFSやHFS+ボリュームフォーマットによるリッチメタデー タに比較して原始的に感じられます。拡張子の使用は退行に見えるかもしれません。 たしかにそうですが、それが正しいのは限られた範囲においてのみです。Macintoshのユーザは、 現在では狭いMacintoshの世界だけにとどまっていません。インターネットの時代では、書類は性 格の異なるネットワーク間を流通します。たとえば、MacintoshからLinuxネットワークサーバ、 さらに企業のローカルエリアネットワーク上のWindowsコンピュータへと移動します。この経路 上のそれぞれのコンピュータは、ファイルタイプの構成要素や、ファイルそのものの構成要素に 対して、異なる考え方を持っていることがあります。多くのコンピュータシステムは、既知の拡 張子(.jpg、.mp3、.htmlなど)のみを使用して書類のタイプを定義します。このため、拡張子 のないファイルは判断のしようがなく、タイプ不明として扱います。また、HFS+のメタデータ は無視されるか、場合によっては完全に除去され、永久に失われます。 アプリケーションでは書類をどのように保存したらよいでしょうか? アプリケーションが書類を保存するときは、アプリケーションがエディタの役割を果たせるタイプ の1つとして保存します。アプリケーションが書類ファイルを保存する場合、アップル社では、ファ イル名に適切な拡張子と、タイプコードおよびクリエータコードを付加することを推奨していま す。拡張子はユーザが後から(自己責任で)変更したり削除することができますが、アプリケー ションが書類を保存するときには、拡張子を含むすべての使用可能な方式で書類タイプを指定する べきです(理由は、「なぜ、いまさら拡張子が必要なのですか?」(229ページ)を参照)。 アプリケーションが書類を複数のタイプで保存できる場合、アップル社では、「保存」ダイアログ のポップアップメニューに選択可能なタイプが表示されるようにすることを推奨しています(この とき、あらかじめ「ネイティブ」の書類タイプが選択されているようにします)。その後、アプリ ケーションは、拡張子を次のような方法で取り扱います。 ■ ユーザがファイル名のフィールドに拡張子を入力しなかった場合は、拡張子を追加します。 ■ ユーザが間違った拡張子を入力した場合は、それを削除して正しい拡張子を追加します。 ■ ユーザが正しい拡張子を入力した場合はそのまま使用します。 このほか、ファイル名を「Untitled」として正しい拡張子を付け、ベースネームのみを選択した状 態にして表示する方法もあります。たとえば、「Untitled-1.txt」という名前にして「Untitled-1」の み選択された状態にします。230 ソフトウェアをMac OS X用に準備する  Apple Computer, Inc. February 2001 C H A P T E R 1 3 インストールと統合 CFM実行可能ファイル 先に述べたように、Mac OS Xは非常に融通の利くオペレーティングシステムです。Mac OS Xは、 複数のファイルシステム、複数のアプリケーション環境、複数のプログラミングモデル、複数のグ ラフィックレンダリングライブラリ、そして複数のネットワークプロトコルスタックをサポートし ています。また、複数のランタイム環境や複数の実行可能ファイルフォーマットもサポートしてい ます。具体的には、以下のタイプのバイナリがMac OS Xで動作します。 ■ ダイナミックリンクエディタ(dyld)によって管理されるMach-Oコードモジュール ■ Code Fragment Manager(CFM)によって管理されるPEFコードフラグメント ■ Java仮想マシンによって管理されるJavaクラスファイル 以上の3つの実行可能ファイルフォーマットのうちでは、Mach-Oが最も重要です。Mach-Oがネイ ティブフォーマットで、ほかのものは最終的にここに依存しています。CFMおよびPEFテクノロ ジーは、Mac OS 9の主要なライブラリマネージャおよび実行可能ファイルフォーマットです。 これらは、CFM-68KがPowerPCへの橋渡しをしたのと同じように、Mach-O/dyldテクノロジーへ の橋渡しとして機能します。Mach-OとdyldがMac OS X上のネイティブの実行可能ファイルフォー マットおよびライブラリマネージャであるため、Carbonフレームワークも含むすべてのシステム フレームワークが、Mach-Oフォーマットでdyld管理のバイナリとしてビルドされることになりま す。ただし、CFMは従来のMacintoshライブラリマネージャ、PEFはコードフラグメント用の従来 の実行可能ファイルフォーマットで、現時点ではこのランタイム環境(Classic互換環境を含む) 用にアプリケーションの実行可能ファイルを生成するMacintosh IDEが多数あります。 「Library Managerと実行可能フォーマット」(267ページ)で説明しますが、Mac OS X用アプリ ケーションをMach-O実行可能ファイルとしてビルドすることには、それなりの理由があります。 最も重要な理由は、パフォーマンスです。CFM/PEFランタイム環境は、dyld/Mach-Oランタ イム環境より上位のレイヤであるため、CFM/PEFベースのコードが動作するためには、余分な ソフトウェアレイヤを通過しなければなりません。 ただし、アプリケーションをCFM管理バイナリとしてビルドしていけない理由はありません。 CFM管理バイナリは、Classicアプリケーション環境を含むMac OS X上で問題なく実行できます。 実際、CFMアプリケーションを、Carbon環境ではなくClassic環境で動作させる必要がある場合 も考えられます(アプリケーションが、完全にはCarbonに移植されていないプラグインに依存 している場合など)。このような場合には、Finderの「情報」ウインドウに、CFMアプリケー ションをClassic環境で起動するようユーザが選択するためのオプションが表示されます。このオ プションを無視してアプリケーションを常にCarbonで(または常にClassicで)起動させるには、 情報プロパティリストで、それぞれの場合に対応するLaunch Servicesキーを指定します。詳細 については、「ソフトウェアの設定」の章の「起動サービスキー」(201ページ)を参照してくだ さい。C H A P T E R 1 3 インストールと統合 ソフトウェアをMac OS X用に準備する 231  Apple Computer, Inc. February 2001 アプリケーションをCFM実行可能ファイルとして配布する場合は、アプリケーションバンドルに パッケージングするかどうかを決定する必要があります。パッケージングを検討する場合( Java は除外します)、Mac OS Xで実行できるアプリケーションには3つのタイプがあります。図13-1に、 可能なタイプを示します。 図13-1 Mac OS Xでサポートされているアプリケーションのタイプ 理想的には、CFM実行可能ファイルはアプリケーションバンドルにパッケージングするべきで す。それにより、アプリケーションはパッケージングのもたらすあらゆる利点を活用できます。 詳細については、「バンドルとしてのアプリケーション」(120ページ)を参照してください。 バンドル化されたCFMアプリケーションは、Mac OS XでもMac OS 9でも容易に起動できますが、 起動方法は異なります。Mac OS Xでは、ユーザがファイルとして表示されているファイルパッ ケージをダブルクリックすると、Finderがアプリケーションを起動します。Mac OS 9では、ユー ザは.appフォルダを開いて、表示されるCFM実行可能ファイルのエイリアスをダブルクリック します。また、「CFMまたはdyldの使用」(271ページ)の推奨事項も念頭に置いてください。 パフォーマンスの見地から言えば、理想的には、アプリケーションバンドルには、Mac OS 9上 の動作に最適化したCFM管理の実行可能ファイルとMac OS X上の動作に最適化したdyld管理の 実行可能ファイルの、2つの実行可能ファイルを持たせるべきです。 現時点では、バンドルされるCFMアプリケーションを作成する開発テクノロジーはありません。 「バンドル」(103ページ)と「アプリケーションのパッケージング」(119ページ)の章の情報 をもとに、手作業でバンドルを作成する必要があります。ただし、省略できる手順もあります。 Project Builderにアクセスできる場合、Project Builderを使用して空のアプリケーションを作成 し、生成されたバンドルをCFMアプリケーション用に再利用することができます。この方法を 使用する場合でも、CFMアプリケーションバンドルを作成する際に注意が必要な点がいくつか あります。 ■ バンドルディレクトリ自身が「APPL」というタイプを持つ必要があります。バンドルビット はセットしてもかまいません。また、拡張子として.appを付加する必要があります。 ■ CFM実行可能ファイルは、Contentsディレクトリ直下のMacOSClassicという名前のディレ クトリに入れる必要があります。 dyld/Mach-O CFM/PEF Single file In bundle yes no yes yes232 ソフトウェアをMac OS X用に準備する  Apple Computer, Inc. February 2001 C H A P T E R 1 3 インストールと統合 ■ バンドルディレクトリの最上位の階層に、CFM実行可能ファイルのエイリアスを同じ名前で作 成します。以下のリストにファイルの位置を示します。 MyApp.app/ MyApp /* alias to Contents/MacOSClassic/MyApp */ Contents/ MacOSClassic/ MyApp ... ■ Info.plist という名前のファイルに、XML のプロパティリストを作成します。この情報プロパ ティリストで、「情報プロパティリスト」(190ページ)で説明した、必要なキーと値のペア をすべて指定します。次に、このファイルをContentsディレクトリ直下に置きます。 ■ 同じ場所に、PkgInfo という名前のファイルを置きます。このファイルのデータフォークには アプリケーションのタイプコードとクリエータコードが含まれます。 ■ 「アプリケーションリソースはどのように格納したらよいでしょうか?」(225ページ)にあ る指示に従って、アプリケーションのリソースをバンドルに入れます。 必要に応じて、CFM実行可能ファイルを、Resource Manager形式のリソースをリソースフォー クに保管する単一ファ イルのアプリケーションとして配布するこ ともできます。この場合、 Finderがアプリケーションとその書類を適切に取り扱うには、情報プロパティリストに、タイプ 「plst」、ID 0のリソースとして存在するキーと値のペアを指定する必要があります。単一ファイ ルの実行可能ファイルで「plst」リソースを持っていない場合、Classic環境でのみ動作するアプ リケーションと見なされます。CFMアプリケーションは、Finderの「情報」ウインドウで設定 することにより強制的にClassic環境で起動することができます。 注意:プロパティリストは、Property List Editorアプリケーション (/Developer/Applications/PropertyListEditor)を使用して作成することができます。ほかの エディタでも作成できますが、テキストにASCII以外の文字が含まれる場合は、そのエディタ がファイルをUTF-8エンコーディングで保存できることを確認してください。既存のアプリ ケーションのInfo.plistファイルをテンプレートとして使用することもできます。C H A P T E R 1 3 インストールと統合 ソフトウェアをMac OS X用に準備する 233  Apple Computer, Inc. February 2001 ユーザインタフェースの問題点 アプリケーションを配布する前に、ユーザインタフェースの問題点について考慮する必要がある ことがあります。まず第一に、アプリケーションが『Inside Mac OS X: Aqua Human Interface Guidelines』に準拠していることを確認する必要があります。この本のPDF版は、以下のApple Developer ConnectionのWebサイトの、Mac OS X技術文書の一覧があるセクションで入手でき ます。 http://developer.apple.com/techpubs/macosx/ 次に、アプリケーションが、出荷対象となるすべての言語と地域用に国際化およびローカライズ されていることを確認してください。国際化の一環として、アプリケーションが1つの文書内で の複数スクリプト表示をサポートできることを確認してください。この問題の詳細については、 「国際化」(207ページ)を参照してください。 次のセクションでは、アプリケーションのユーザインタフェースの、開発に関連するその他の側面 を説明します。 アイコン アプリケーションや書類のアイコンは、.icnsという拡張子を持つファイルのデータフォークに格 納された「icns」リソースでなければなりません。アップル社では、アイコンの作成と管理を支援 する2つのアプリケーションを、/Developer/Applicationsに用意しています。 ■ Icon Composer:最も標準的なビットマップ形式(TIFF、PICT、JPEG、GIFなど)の画像を インポートし、16×16、32×32、64×64、128×128(単位はピクセル)という4種類の大き さのアイコンセットに変換します。また、初めの3つのサイズに関しては、ビットマスクを 作成します。最良の結果を得るには、すべてのサイズのアイコンを作成する必要があります。 また、取り込む画像は縦横の長さが同じサイズのものにしてください。アプリケーションは、 アイコンデータを.icnsという拡張子の付いたファイルとして保存します。 ■ Pixie:画面の一部をさまざまな倍率で表示して、拡大された画像をクリップボードにコピーし たり、TIFFファイルとして保存することができます。 /Applications/UtilitiesのGrabアプリケーションも、画面の一部や全体をTIFFファイルとして取り込 むことができるため、アイコンを作成する際に役に立つツールです。234 ソフトウェアをMac OS X用に準備する  Apple Computer, Inc. February 2001 C H A P T E R 1 3 インストールと統合 ユーザは、Mac OS 9を使用する場合と同様に、書類にカスタムアイコンを割り当てることができ ます。Finderの「情報」ウインドウ(「ファイル」メニューの「情報を見る」を選択)で、現在の アイコンを選択した状態でカスタムアイコンをペーストします。ユーザがこの操作をできるよう にするには、Finderメタデータ(Finder Info)でデフォルトの書類アイコンを無効にする必要が あります。 カスタムコントロールとシステムアピアランス 描画を自身で行うカスタムコントロールを作成する場合、コントロールの表示はユーザが「システ ム環境設定」アプリケーションの「一般」ペインで選択したAquaのアピアランスに適合する必要 があります。現時点では、アピアランス(ボタン、メニュー、およびウインドウに適用されるカ ラー)は、ブルーかグラファイトのいずれかです。 Carbonのカスタムコントロールをシステムのアピアランスに適合させるには、カスタムコント ロールの定義に、Appearance Manager API(Appearance.hで宣言されます)を使用する必要があ ります。選択されているAquaアピアランスにCocoaのカスタムコントロールを適合させるには、 Application Kitクラスのカスタムサブクラスは、NSColorのcolorWithControlTint:メソッドを使用し て現在選択されているAquaの色合いに対応するNSColorオブジェクトを取得し、そのオブジェクト を使用して自身の描画を彩色する必要があります。 Aquaとの不適合の可能性が常に考えられるため、一般的には、自身を描画するカスタムコント ロールの作成は避けてください。カスタムコントロールを作成する場合は、理想的には描画に関 連しない動作を持たせてください。 Carbon Nibファイル Cocoaプロジェクトと同様にCarbonプロジェクトでも、Interface Builderを使用して「オブジェク ト」のパレットからユーザインタフェースを作成できるようになりました。このパレットのオブ ジェクトには、ボタン、テキストフィールド、スライダ、メニュー項目、ウインドウ、プログレ スバーなどがあります。これらのオブジェクトには、属性、大きさ、およびコントロール情報を 設定できます。Interface Builderは、インタフェースをXMLアーカイブ形式で保存します。これ は、.nibという拡張子を持っているため、nibファイルと呼ばれます。 Carbonのnibファイルは、Carbonアプリケーションに通常含まれるユーザインタフェースオブジェ クトのほとんどの定義を持つことができます。また、Carbonイベントモデルのような機能の組み 込みも行います。特殊なCarbon APIによって、アプリケーションはnibファイルに定義されたオブ ジェクトにアクセスできます。nibファイルは、インタフェースの仕様を格納するための便利な手 段というだけでなく、ユーザインタフェースをローカライズするためにも使用されます。さらに、 nibファイルはXMLベースであるため、本質的に、他の環境へのエクスポートに適しています。C H A P T E R 1 3 インストールと統合 オーナーシップとアクセス権 235  Apple Computer, Inc. February 2001 これらの理由から、アップル社では、Carbonデベロッパに、これまでResource Managerスタイ ルのリ ソースと して格納さ れていた ユーザイ ンタフェー スエレメ ントの多く を、Interface Builderオブジェクトに変換することを推奨しています。可能なことの範囲を知る手がかりとし ては、/Developer/Examples/InterfaceBuilder/IBCarbonExampleにあるサンプルのプロジェク トを参照してください。Carbonのnibファイルは、Cocoa nibファイルで定義されている機能の 多く(たとえば、ターゲットとアクションの接続など)を持っていないことに注意してくださ い。これは主に、手続き型とオブジェクト指向というプログラミングモデルの違いが原因です。 オーナーシップとアクセス権 基礎レベルでは、Mac OS XはBSDシステムです。この土台の一部にBSDがファイルシステムの ファイルやフォルダのオーナーシップやアクセス権を実現する方法があります。このモデルでは、 誰がファイルを読み書き、リネームし、実行できるか、また誰がファイルをフォルダからフォル ダへコピーあるいは移動できるかを制御します。このモデルは、これまでUFSや類似のファイル システムに結び付けられていますが、Mac OS Xでは、Mac OS標準(HFS)やMac OS拡張(HFS+) など、サポートされているすべてのファイルシステムに拡張しています。 従来のBSDシステムでのオーナーシップやアクセス権についての詳しい解説は本書の範囲外で すが、Mac OS 9でのアクセス権モデルとの違いやMac OS Xの実装と従来のBSDモデルの実装と の違いを知るには、ある程度のことを理解しておく必要があります。このため、このセクショ ンでは、これらの違いを取り上げる前に、BSDのアクセス権モデルについて簡単にまとめてお きます(詳細については、多数出版されている書籍のいずれか、またはBSDを取り上げている Webサイトを利用してください)。 BSDアクセス権の概要 BSDには、ファイルシステムのそれぞれのフォルダやファイルに対して、オーナー、グループ、 およびその他の3種類のユーザのカテゴリーがあります。これらのユーザのタイプごとに、ファ イルやフォルダへのアクセスを決める、読み取り、書き込み、実行の3種類のアクセス権があり ます。たとえば、あるアプリケーションについて、ユーザがいずれかのカテゴリーで実行アクセ ス権を持っていない場合、アプリケーションを起動することができません。236 オーナーシップとアクセス権  Apple Computer, Inc. February 2001 C H A P T E R 1 3 インストールと統合 ■ フォルダやファイルのオーナーは、一般にそのファイルやフォルダの作成者です。オーナー は、通常そのファイルやフォルダに対するすべてのアクセス権(読み取り、書き込み、実行) を持っており、他のカテゴリーのユーザにアクセス権を設定することができ、「ルート」(後 述)の場合はオーナーシップを譲ることもできます。 ■ すべてのユーザは、1つ以上のグループに属します。グループは、共通点を持つユーザの集合 で、名前が付けられており、グループアクセス権を割り当てられます。たとえば、「projectx」 という名前のグループを作って、あるプロジェクトの設計に関わるすべてのユーザをこのグ ループに所属させることができます。仮に、上のグループを使用して説明を進めると、その メンバーには、コードリポジトリのソースファイルに対する書き込みアクセス権が与えられ ます。フォルダのグループオーナーは、そのフォルダにファイルが作成されると、そのファ イルのデフォルトのオーナーになります。適切なグループを設定するのはシステム管理者の 仕事です。 ■ その他のカテゴリーに入るユーザは、オーナーやグループユーザ以外のすべての人を指し、 ファイルやフォルダへのアクセス権は、一般的に最も制限されます。 BSDシステムには、「ルート」という特別なユーザがいます。スーパーユーザとも呼ばれます。ルー トユーザは、使用しているコンピュータに接続したデバイス上のフォルダやファイルに無制限にア クセスできます。ルートユーザには以下のことができます。 ■ 任意のファイルの読み取り、書き込み、実行 ■ 任意のファイルやフォルダのコピー、移動、名前の変更 ■ オーナーシップの委譲と他のすべてのユーザのアクセス権のリセット wheelグループと呼ばれる特殊なグループがあります。wheelグループのメンバーは、コマンドラ インでsuと入力してパスワードを入力することで、スーパーユーザになることができます。 BSDシェルで、ファイルシステムのいずれかの場所(たとえば、~steve/Documents)でls -lコマ ンドを入力すると、以下のような出力が得られます。 total 3704 drwxrwxrwx 5 steve staff 264 Oct 24 20:56 General drwxrwxr-x 5 steve admin 264 Oct 21 21:47 ProjectDocs drwxr-xr-x 6 steve staff 160 Oct 25 12:00 Planning drwx--x--x 6 steve staff 160 Oct 21 15:22 Private -rwxrwxrwx 1 steve staff 0 Oct 23 09:55 picture clipping [spongebob:~/Documents] steve%C H A P T E R 1 3 インストールと統合 オーナーシップとアクセス権 237  Apple Computer, Inc. February 2001 この出力から、ファイルやフォルダのオーナーやプライマリグループ、および各カテゴリーの ユーザに与えられたアクセス権など、さまざまな情報を入手できます。3番目の列にユーザが、 4番目の列にプライマリグループが表示されています。これを見ると、Generalフォルダのユー ザはsteveで、グループはstaffです。1番左の列には、コード化された10個の「ビット」が並ん でいて、ファイルシステムエンティティとそのアクセス権を表しています。先頭のdは、その項 目がフォルダ(ディレクトリ)であることを示しています。この部分がダッシュ記号の場合、 通常のファイルであることを示します。残りの9つのビットは、左からオーナー、グループ、 その他の3つのカテゴリーを表します。r、w、xの文字は、それぞれ読み取り、書き込み、実行 の各アクセス権を表しており、それぞれのビットが表すカテゴリーのユーザに適用されます。 例として、~steve/DocumentsにあるPlanningフォルダのアクセス権を見てみます。 drwxr-xr-x 6 steve staff 160 Oct 25 12:00 Planning このフォルダのオーナーのアクセス権は、rwxであるため、フォルダのオーナー(アカウントsteve を持つユーザ)は、このディレクトリへファイルやフォルダをコピーすることができ、cdコマン ドを使用して、このディレクトリをカレントディレクトリにすることができます。また、この中に あるプログラムはすべて実行することができます。staffグループのメンバーとその他のユーザに は、どちらもr-xアクセス権が与えられており、steve内のファイルを読んだり、作業中のディレク トリにすることはできますが、フォルダへのファイルの追加やフォルダ内のファイルの修正または 削除はできません。 ProjectDocsフォルダでは、別の設定がされています。 drwxrwxr-x 5 steve admin 264 Oct 21 21:47 ProjectDocs ここでは、グループに対して読み取り、実行および書き込みが許可されています(rwx)が、 このアクセス権を使用するにはadminグループのメンバーである必要があります。 適切なアクセス権がある場合は、オーナー、グループ、個人の各アクセス権を変更することができ ます。それには、Terminalシェルで、それぞれ、chown、chgrp、およびchmodコマンドを使いま す。詳細については、関連するmanページを参照してください。また、Finderの「情報」ウインド ウの「アクセス権」ペインにも、選択したフォルダやファイルに対するアクセス権やオーナーが表 示されます。ファイルやフォルダのオーナーは、このウインドウでアクセス権を変更することもで きます。238 オーナーシップとアクセス権  Apple Computer, Inc. February 2001 C H A P T E R 1 3 インストールと統合 Mac OS Xでのファイルのアクセス権 従来のBSDアクセス権セマンティックスとMac OS Xでの実装との最大の違いは、システムのイン ストール後、Mac OS Xではルートユーザが無効にされていることです。ユーザがwheelグループに 所属する(従来であればスーパーユーザ権限を付与される)場合でも、suコマンドを使用してスー パーユーザになることはできません。このようにした理由は、もちろんセキュリティです。ルート ユーザは、ファイルシステム全体に対して無制限の権限を持っているため、意図的に、または意図 せずに、システムに大きな損害をもたらす恐れがあります。リモートでのログインや、その他のリ モートアクセスが使用可能な場合は、セキュリティについて、さらに考慮する必要があります。 ただし、Mac OS Xには、ルートユーザの代わりに「管理者」ユーザがあります。管理者は、ルー トユーザとほとんど同じ機能を持ち、Finderで操作を行うことができます(コマンドラインを使 用する必要がありません)。管理者にできない唯一のことは、システムドメインのファイルを直 接、追加、修正、または削除することです。その必要がある場合は、Installerやソフトウェアアッ プデートなど、特殊なアプリケーションから行います。管理者は実際のユーザではなく、「admin」 というアカウントを持つユーザはいません。管理者とは、adminグループに所属するユーザすべ てを指します。 Mac OS Xをインストールして設定アシスタントアプリケーションに情報を入力したユーザが、 自動的にそのシステムの最初の管理者になります。それ以降、このユーザ(あるいはほかの任意 の管理者)は「ユーザ」システム環境設定を使用することにより、新しいユーザのためにローカ ルシステム上のアカウントを作成できます。新しいユーザには、管理者権限を持たせることも (adminグループのメンバーにする)、持たせないこともできます。後者の場合は、デフォルトで staffグループのメンバーになります。 ルートユーザはデフォルトで無効になっていますが、管理者はこれを有効にしてスーパーユーザ になることができます。ただし、セキュリティ上の理由から、そうするのはどうしても必要な場 合に限ってください。ルートを有効にするには、/Applications/UtilitiesのNetInfo Managerアプリ ケーションを実行して、自分自身をローカル管理者として認証します。次に、「ドメイン」メニュー の「セキュリティ」で「ルートユーザを有効」を選択します。このメニュー項目は、ローカルの adminグループのメンバーであり、事前にローカルドメインで認証を受けている場合に限り選択 できます。ルートユーザとして有効になると、パスワードは空欄になります。ここでルートのパ スワードを設定することをお勧めします(「ドメイン」、「セキュリティ」、「ルートパスワードの変 更」の順に選択)。ルート権限を要求する作業が完了したら、同じメニューから「ルートユーザを 無効」を選択して、スーパーユーザ権限を無効にする必要があります。C H A P T E R 1 3 インストールと統合 オーナーシップとアクセス権 239  Apple Computer, Inc. February 2001 アプリケーションや書類のアクセス権 アプリケーションをProject Builderでビルドすると、ビルドサブシステムは実行可能ファイルに自 動的に-rwxr-xr-xというアクセス権を設定します。この設定は、オーナー、つまりアプリケーショ ンをインストールしたユーザにアプリケーションの実行と書き込みを許可し、他のユーザには実 行のみを許可します。ほかのIDEも、ビルドした実行可能ファイルには同様のアクセス権を設定 します。 ほとんどの場合、-rwxr-xr-xの設定が妥当ですが、まれにアプリケーションが特権アクセス(ルー トアクセス)を要求することがあります。たとえば、ディスク修復プログラムのようなアプリ ケーションでは、カーネルを介したローレベルハードウェアへのアクセスが必要です。このよう な場合、setuidをアプリケーションに組み込み、アプリケーションへのルートアクセス権を獲得 し、NetInfo Kitおよびシステムフレームワークの機能を使用して管理者を認証します。setuidの 詳細については、setuid (2)およびchmod (1)のmanページを参照してください。 アプリケーションを起動できるユーザは、アプリケーションに設定されたアクセス権(特に「x」 ビット)によって決定されますが、アプリケーションがいったん起動した後は、そのプロセスは、 起動したユーザが所有します。これは、アプリケーションがログインしたユーザと同じアクセス権 を持ち、そのユーザが持つオーナーやグループとしてのステータスを継承することを意味します。 したがって、ユーザがある場所で書類を書き込むためのアクセス権を持っている場合、アプリケー ションはその場所に書類を保存できます。 Carbon、Cocoa、Javaのいずれかのアプリケーションが書類を保存すると、それぞれのアプリケー ション環境が自動的に書類のアクセス権を設定します。これは、ユーザのumaskの値によって決 定されます。デフォルトでは、グループやその他のユーザは書き込みアクセスを禁止されていま す。書類に対するこの通常の設定(-rw-r--r--)では、オーナーはファイルを読み書きできます が、その他のすべてのユーザに可能なのはファイルを読むことだけです。アプリケーションの書 類に、これとは違うアクセス権を設定したい場合、アクセス権を設定できるファイル管理APIを 使用する必要があります。CarbonではFile Managerが、CocoaではNSFileManagerクラスがこの機 能を提供します。240 Classic環境とアプリケーション  Apple Computer, Inc. February 2001 C H A P T E R 1 3 インストールと統合 Classic環境とアプリケーション Calssic互換環境(単にClassicとも言います)では、Mac OS 9の最新版とそこで実行できるすべ てのアプリケーションをMac OS Xで実行できます。ClassicのMac OS 9と「ネイティブ」のMac OS 9システムは非常によく似ています。ただし、特にアプリケーションのデベロッパにとって 重要な相違点もあります。 このセクションではClassic環境について、特にネイティブのMac OS 9との互換性やMac OS Xの他 の部分との統合について説明します。また、作成したアプリケーションがClassicでも実行される 場合に、Mac OS 9用アプリケーションのデベロッパが考慮する必要がある点を説明します。さら に、Mac OS Xの各アプリケーション環境(Carbon、Cocoa、Java)用ソフトウェアのデベロッパ を対象として、Classic環境でアプリケーションを実行する場合に問題になる可能性のある設計上 の側面についても説明します。 用語について:以下の解説の中で、Classic環境とMac OS Xを明示的に比較することがあります が、その場合のMac OS Xは「Mac OS Xの残りの部分」を指します。 Classic環境の概要 Classic環境は、Mac OS X以前のMac OS用にビルドされたアプリケーションをMac OS Xシステム で実行することを可能にするため、「ソフトウェア互換」環境と呼ばれます。これを使用すると、 Mac OS Xに完全に移行するまでの間、ユーザは従来のアプリケーションを使用することができま す。移行プロセスには時間がかかるため、まだ当分の間、Classic環境はオペレーティングシステ ムにとって必要なコンポーネントと言えます。 Classic環境上で動作するMac OS 9オペレーティングシステムにとって、そのClassicは新しいプラッ トフォームに見えます。Classicは、Mac OS Xカーネル環境(特にI/O Kit)を使用したハードウェア サービスを実装しています。Classic環境はエミュレータではありません。Mac OS 9はClassic環境内 でネイティブに動作します。Classic環境は、視覚的にも機能的にもMac OS Xの残りの部分と矛盾し ないため、その大部分は、ユーザから見てMac OS Xの残りの部分と区別することができません (「Mac OS Xとの統合」(243ページ)で説明する例外を除く)。C H A P T E R 1 3 インストールと統合 Classic環境とアプリケーション 241  Apple Computer, Inc. February 2001 アーキテクチャが異なるため、Mac OS 9やClassic環境で実行するアプリケーションでは、メモ リ保護やプリエンプティブマルチタスキングなどのカーネル環境の利点を完全に活用すること はできません。したがって、Classic環境で実行するアプリケーションがクラッシュまたはハン グすると、Classic環境自身を再起動する必要があることがあります。しかし、再起動する必要 があるのはClassic環境だけで、そのホストの役割を果たすMac OS Xシステムは再起動する必要 がありません。 ネイティブのMac OS 9との互換性 ネイティブのMac OS 9で実行するプログラムのうち、システムの下位レイヤで直接、操作を行お うとするものは、多くの場合、Classic環境では実行できません。これを具体的に見ると、その内容 はさまざまです。 ■ Window Managerポートに描画するアプリケーションは、一般に、Classicウインドウに重なる 部分に上描きしてしまいます。ただし、フルスクリーンにすることもできます。 ■ QuickDrawをバイパスしてフレームバッファに直接描画するアプリケーションでは、カーソル の表示と非表示に関する規則に従わなければ、Aquaウインドウに上描きしてしまいます。 ■ メモリにマップされたI/Oレジスタを操作するソフトウェアはクラッシュします。 ■ トラップにパッチを当て、グローバルな効果を期待するソフトウェアは、効果がClassicだけ に反映され、Mac OS Xには影響しないため、予期しない動作が発生することがあります。 たとえば、すべてのファイルシステムトラップにパッチを当ててファイルのI/Oをインター セプトするソフトウェアには、ClassicでのI/Oしか渡されません。 ■ ディスクドライバレベルでファイルシステムに、直接あるいはDevice Manager APIを使用して アクセスしようとするソフトウェアは機能しません。したがって、ネイティブのMac OS 9で動 作するディスクユーティリティは、Classic環境では動作しません。 一般的に、カーネル環境(および特にI/O Kit)が提供するハードウェアアブストラクションより も下位のレベルでMac OSの内部構造を変更または利用するプログラムは、Classic環境では動作し ません。このようなアクセスが必要な場合は、代わりにより上位のレベルのAPIを使う必要があり ます。たとえば、ファイルシステムに対するすべてのアクセスは、File Manager APIを使用して行 います。242 Classic環境とアプリケーション  Apple Computer, Inc. February 2001 C H A P T E R 1 3 インストールと統合 デバイスのサポート Mac OS Xで一般にサポートされるデバイスのほとんどは、Classic環境でもサポートされます(あ るいは、近日中にサポートされる予定です)。そうしたデバイスには、以下のようなものがあります。 ■ USB ■ サウンド(入力および出力) ■ ディスクイメージとSMI(Self Mounting Imageファイル) ■ Ethernet ■ SCSI(予定) ■ FireWire(予定) ■ ビデオ(予定) Mac OS Xは、すべてのブロック記憶(「ディスク」)デバイスをマウントします。Classic環境で は、それらはFile Manager APIを介してボリュームとして表示されます。Mac OS Xがつかんでい ないデバイスへのアクセスを、Classic環境がつかむことができます。ディスクイメージ(SMIな ど)とMac OS XにマウントされたAppleShareボリュームは、Classic内ではFile Manager APIを使用 して見ることができます。Mac OS Xは常にUSBキーボードやマウスへのアクセスをつかんでいる ことに注意してください。Classicはこれらのデバイスとはイベントのより上位のレベルで通信し ます。 Classicでサポートしていないデバイスには、以下のものがあります。 ■ ADB(プライマリキーボードやポインティングデバイスは除きますが、これらもイベントレベ ルに限ります) ■ LocalTalk ■ 内蔵フロッピー ■ シリアル ■ 特殊なPCI/PCカード(つまり、Mac OS Xがサポートする表示、ネットワーキング、およびSCSI 用のカード以外のすべてのカード) PPP(モデム)とAirMac通信については、ClassicではMac OS XのPPP接続をネットワーク接続とし て利用できます。C H A P T E R 1 3 インストールと統合 Classic環境とアプリケーション 243  Apple Computer, Inc. February 2001 Mac OS Xとの統合 アップル社はClassic環境の要素とMac OS Xの対応する部分の区別が明白にならないように、可能な 限り努力をしてきました。ただし、すべてが同じに見えたり同じ動作をしたりするわけではありま せん。これらの相違点の一部はいずれなくなりますが、セマンティックスの相違によるものはなく なりません。 このセクションでは、統合されずに相違が残っている領域について説明します。今後のバージョ ンのオペレーティングシステムでは、このほかにも相違が生じる可能性があります。おおまかな 指針として、特定のClassic要素がMac OS Xの残りの部分に統合されているかどうかが不明な場合 は、統合されていないと想定してください。 ユーザインタフェース Classic環境とMac OS Xの残りの部分との相違点で最も顕著なのは、おそらくウインドウなどの ユーザインタフェースでしょう。ウインドウのルック&フィールは、Aquaではなくプラチナです。 たとえば、Classicのウインドウには半透明の赤、黄、緑のウインドウコントロールはなく、クロー ズボックス、コラプスボックス(最小化ボックス)、ズームボックスがあります。コラプスボック スをクリックしても、Aquaでウインドウを最小化する場合と異なり、「ジニー」特殊効果は使用 されず、単純にウインドウの内容が表示されなくなります。プラチナのウインドウには、ドロッ プシャドウがありません。 メニューにも、Classicアプリケーション用と他のMac OS X用アプリケーションではいくつか違い があります。Mac OS Xアプリケーションでは、たとえば、アプリケーションを終了するためのメ ニュー項目のある場所が違います。Classicアプリケーションでは「ファイル」メニューに「終了」 というメニュー項目がありますが、Mac OS Xアプリケーションでは、アプリケーションメニュー に「(アプリケーション名)を終了」というメニュー項目があります。 相違点は、ウインドウのサイズ変更やドラッグのような動作にまでおよびます。Aquaでは、ウイ ンドウはどの地点でも再描画されます。これに対してClassicでは、ウインドウのドラッグやサイ ズ変更を行うと、ウインドウの外枠(マーキー)だけが表示され、操作が終わるまで、ウインド ウは再描画されません。 Classicは、透明効果の影響を受けません。Classicオブジェクトが半透明のAquaウインドウの下にあ ると、そのオブジェクトは真っ白に表示されることがあります。ClassicウインドウがAquaオブジェ クトの上にある場合はこのような現象は起きません。 ほかの明らかな相違点には、ファイルシステムのブラウザがあります。Mac OS Xがこの機能に関 して使用するのは Navigation Servicesだけですが、ClassicアプリケーションはNavigation Servicesと Standard File Packageのいずれかを使用できます。244 Classic環境とアプリケーション  Apple Computer, Inc. February 2001 C H A P T E R 1 3 インストールと統合 統合している部分としては、ClassicもMac OS XもOpenGLと8ビットグラフィックスをサポートし ています。 Classic環境とファイルシステム Classic環境は、Mac OS標準(HFS)、Mac OS拡張(HFS+)、AFP、ISO 9660、UDFなど、Mac OS Xでサポートされるファイルシステムの大部分をサポートします。ただし、UFSおよびNFSファイ ルシステムはサポートしていません。したがって、Classicアプリケーションは、NFSボリューム やUFSボリュームに対して読み書きを行ったり、ボリュームを表示したりすることはできません。 Classic環境とMac OS Xでは、ファイルシステムのアクセス権の取り扱いも異なります。Mac OS 9自身はローカルディスクボリューム上のアクセス権を認識しませんが、AFPはフォルダ単位の アクセス権を認識します。ファイルへのアクセス権は、そのファイルを含むフォルダに割り当て られたアクセス権で決定されます。Classicは、BSDアクセス権エラーを、それに対応する最も近 いAFPアクセス権エラーにマップし、Classic環境で実行するアプリケーションに最も矛盾のない 動作をさせます。 Classic環境のアプリケーション(特にインストーラ)では、このアクセス権統合モデルが原因で 問題が生じる可能性があります。AFPアクセス権エラーを適切に取り扱えないアプリケーション は、誤ったエラーメッセージを表示するか、誤動作を起こす可能性があります。ほかにアクセス 権に関連する問題が起きる可能性があるのは、同一のディスクやパーティションがClassicとMac OS Xの両方で使用されているときです。ルートオーナーだけがこの起動ボリュームのルートに書 き込みができるため、ファイルシステムのルートにソフトウェアをインストールしようとしても 失敗します。このようなアプリケーションのインストーラは、ユーザにフォルダを選択するよう 求める必要があります。 Classicは、システムフォルダ、ゴミ箱、デスクトップフォルダ、およびMac OS 9固有のいくつか の隠しフォルダなどの特殊な場所以外ではBSDファイルアクセス権を尊重します。ユーザが Classic環境のルートに読み書きできるアクセス権を持っている場合、Classicアプリケーションは システムフォルダに書き込みができ、項目を「ゴミ箱」フォルダに移動することができます。 Classic環境で実行しているプログラムがアクセス権のないフォルダに書き込みを試みるとAFPエ ラーコードが返されます。 AFPファイル共有については、ClassicはMac OS Xを経由します。 注意:Mac OS Xでこのような問題を起こすインストーラの場合、正常にインストールするに は、Mac OS 9でブートし直して、インストールする以外にない場合もしばしばあります。C H A P T E R 1 3 インストールと統合 Classic環境とアプリケーション 245  Apple Computer, Inc. February 2001 機能拡張と環境設定 Macintoshコンピュータシステムの一般的なセットアップでは、初めにネイティブのMac OS 9シ ステムがハードディスクのパーティションあるいは独立したハードディスクにインストールさ れます。次に、Mac OS Xシステムがシステムにインストールされ、Mac OS 9ボリュームがClassic 環境の起動ディスクとして選択されます。このようにセットアップすると、ユーザは、Classic環 境を使用するときもネイティブのMac OS 9システムを起動したときも、同じアプリケーション、 機能拡張、環境設定、およびその他のソフトウェアのセットを使用することができます。 ネイティブのMac OS 9システムで使用される機能拡張とClassic環境でそれに対応する機能拡張の 間でコンフリクトが発生する場合があります。このようなコンフリクトによってクラッシュする 可能性があります。一般的に、コンフリクトする機能拡張がある場合、Classicは対応する「ネイ ティブ」の機能拡張を起動時に無効にします。その一例は、マルチユーザ機能拡張です。Mac OS Xは、本質的にマルチユーザシステムです。そのため、Classic環境では起動時にマルチユーザ機 能拡張が無効にされ、ユーザがネイティブのMac OS 9システムを起動するとマルチユーザ機能拡 張が有効にされます。 Classic環境は、環境設定のコンフリクト(通常、ネットワーク関連)にも同じ方法で対処しま す。Mac OS Xのシステム環境設定アプリケーションでユーザが設定した環境設定が、ネイティ ブのMac OS 9システムの対応する環境設定のセットより優先されます。ただし、ユーザがネイ ティブのMac OS 9システムを起動すると、すべての「ネイティブ」環境設定が復元されます。 Classicは、ネイティブのMac OS 9システムの設定に悪影響を与えるような永続的な変更は一切 行いません。 Finderとデスクトップ Classic環境は、その他すべてのアプリケーション環境との間でMac OS Xデスクトップを共有しま す。Mac OS XのFinderを使用して、ユーザはClassicを含むすべての環境のファイルやアプリケー ションを操作できます。Finderではユーザは以下のことを実行できます。 ■ ファイルシステム内をナビゲートする ■ ファイルやフォルダを移動、コピー、削除、名称変更する ■ ダブルクリックでアプリケーションを起動する ■ ダブルクリックで書類を開く 注意:Classic環境のリリースノートには、現在コンフリクトすることがわかっている機能拡 張のセットが記載されています。246 Classic環境とアプリケーション  Apple Computer, Inc. February 2001 C H A P T E R 1 3 インストールと統合 Classic環境は、ネイティブのMac OS 9に類似した方法で複合デスクトップを表示します。この複合 デスクトップには、起動ボリュームのMac OS XのDesktopフォルダと、Classicが認識可能な(つま りUFSやNFSボリュームは含まれません)、マウントされたすべてのボリュームのデスクトップ フォルダが含まれます。Classicは、AFPボリュームをネイティブのMac OS 9と同様に扱います。AFP ボリュームにDesktop Folderがあっても複合デスクトップから除外されますが、ClassicのStandard File PackageやNavigation ServicesのAPIを使用することによって、AFPボリュームのルートにアクセ スすることができます。 Mac OS XのFinderとNavigation Servicesは、Mac OS 9のDesktop Folderが起動ボリュームにある場 合、これを非表示にします。Mac OS XがMac OS 9に上書きインストールされるケースでは、ユー ザがFinderやNavigation ServicesからMac OS 9のDesktop Folderにアクセスしようとする場合、 /MacOS9内のエイリアスを使用してアクセスできます。ユーザがネイティブのMac OS 9を再び起 動すると、Mac OS 9のデスクトップ、つまりすべてのマウントされたボリューム上にあるAFP以 外のすべてのデスクトップフォルダを複合したものが、以前の状態のまま表示されます。 Mac OS XのFinderは、Classic環境ではSystem Folderの自動ルーティングを行い、Mac OS 9のシス テムフォルダをブレスします。 ネットワーキングと印刷 Classic環境でのネットワーキングは、Mac OS Xのネットワーキング機能に大部分が統合されて います。Classicは、ネットワーキングデバイス(Ethernet、AirMac、およびPPP)、コンピュー タのIPアドレス、およびIPポートアドレス空間をMac OS Xと共有します。ただし、Classicでは Open Transportプロト コルスタック(ストリームを全面サ ポート)を完全に実 行しますが、 CarbonはOpent Transport実装の一部分だけをBSDソケット上に構築しています。 さらに、Classic環境で使用されるバージョンのInternet Configは、Mac OS Xで使用されるInternet Configソフトウェアと異なります。Mac OS XでInternet Configを呼び出すとMac OS XのInternet Configデータベースを参照します。Classicでの呼び出しは、Mac OS 9のInternet Configデータ ベースを参照します。これは混乱を引き起こす可能性もあります。デフォルトのブラウザを起動 するリクエストが出された場合、それがClassicのInternet Configのリクエストとネイティブの Mac OS XのInternet Configのリクエストのどちらであるかによって、また2つのデータベースの 設定が同じかどうかによって結果が変わってくることがあります。C H A P T E R 1 3 インストールと統合 アプリケーションをインストールする 247  Apple Computer, Inc. February 2001 Classic環境のプリンタ設定は、ネイティブのMac OS 9システムと同様に、セレクタ、またはデスク トッププリンタユーティリティを使用します。ただし、Classicの場合、実際のデスクトッププリン タが、Mac OS XのFinderによってデスクトップに表示されません。Classic環境でアプリケーション から印刷する場合、ネイティブのMac OS 9に表示されるものと同じポップアップメニューから「プ リント」ダイアログを開き、そこで設定済みのプリンタのいずれかを選択します。Classicで印刷す ると、Desktop Print Monitorではなく、旧式のPrint Monitorが使用されます。 その他のClassic統合に関する問題点 このほかにも、デベロッパに関係のあるClassic統合の問題がいくつかあります。 ■ フォント:Apple Type Solution(ATS)システムは、Classicのシステムフォルダの「フォン ト」フォルダに入れられるフォントを統合および管理します。これにより、このフォルダ内 のフォントがMac OS X全体で共有されます。ただし、Mac OS X内のほかのFontフォルダ内の フォントは、Classic環境では共有されません。 ■ AppleScript:Classic環境のAppleScriptは、アプリケーションパッケージを認識します。 ■ コピー/ペースト:Classic環境とCocoaアプリケーション環境は、クリップボードの処理で使 用するデータのタイプが異なります。したがって、これらの環境間でのコピー/ペーストや ドラッグ操作は失敗する可能性があります。 アプリケーションをインストールする Mac OS Xでは、アプリケーションのインストール方法が複数あります。アプリケーションをハー ドディスクに単純にドラッグするようユーザに指示することも可能ですし、アプリケーション用 のインストーラを用意することもできます。このセクションでは、これらの方法を紹介し、アプ リケーションをインストールできるようにするために必要な作業を要約します。 インストール位置 「ファイルシステムの構成」(155ページ)で説明したように、ファイルシステムの標準的なディ レクトリレイアウトでは、アプリケーションをインストールできる位置がいくつかあります。 ■ システムドメインとローカルドメインの組み合わせ(/Applications) ■ ユーザドメイン(~/Applications、ローカルまたはネットワーク上)248 アプリケーションをインストールする  Apple Computer, Inc. February 2001 C H A P T E R 1 3 インストールと統合 ■ ネットワークドメイン(たとえば、/Network/Applications) 一般的に、Mac OS Xシステムの大部分のアプリケーションは、特定のコンピュータシステムのす べてのユーザが使用できるように、/Applicationsにインストールされます。ただし、アプリケー ションの使用を制限する場合(1ユーザライセンス版を購入した場合など)は、アプリケーショ ンをユーザのホームディレクトリの「Applications」フォルダにインストールする必要がありま す(このフォルダは先に作成しておく必要があります)。アプリケーションをLAN上のすべての ユーザが実行できる場合、ネットワーク管理者は、これらのユーザ全員がアクセスできるファイ ルサーバにアプリケーションをインストールする必要があります。 重要 フレームワークやフォントなどのソフトウェアやリソースを /System/Libraryにインストールしないでください。それらの項目は、 ローカルドメインの適切な場所(/Library)に置く必要があります。 ユーザは、必ずしもドメインの定位置にアプリケーションをインストールしなくてもかまいませ ん。アプリケーションがバンドルにパッケージングされている場合、必要なものをほとんどすべ て含むように設計されているため、ユーザは任意の場所にインストールして問題なく実行できる はずです。ただし、推奨される場所の外部にアプリケーションがあると、Cocoaアプリケーショ ン用のアプリケーションサービスなど、システムの機能の一部を利用できなくなる場合がありま す。また、Finderがアプリケーションを認識できなくなることがあります。Finderがアプリケー ションデータベースを構築する場合、既知のドメインでアプリケーションを探します。アプリケー ションがいずれのドメインにもないと、システムの効率が悪くなります。Finderとアプリケーショ ンの詳細については、「Finder」(179ページ)の章を参照してください。 手動インストール Mac OS X用のアプリケーションのほとんどは、自己完結的なバンドルとしてパッケージングされ ているため、ユーザが行うべきアプリケーションのインストール作業は、ほとんどの場合、ユー ザが書き込みアクセス権を持っているフォルダにバンドルをドラッグするだけです。インストー ル形式がこのように単純なアプリケーションでは、インストール方法を記した指示書(簡潔なオ ンライン文書または印刷物)をアプリケーションに同梱することができます。C H A P T E R 1 3 インストールと統合 アプリケーションをインストールする 249  Apple Computer, Inc. February 2001 ドラッグ&ドロップ方式のインストールは、Mac OS Xでの推奨手順です。アプリケーションは必 要なものをすべてバンドル内に持っているため、単純に手動でインストールするだけで、ファイ ルシステム内の各所にファイルが分散されにくくなり、ファイルシステムのどこか別の場所にあ る項目に依存することがなくなります。また、特に必要ではないと判断したファイル(Read Me ファイルなど)をハードディスクにコピーしないという選択肢をユーザに提供することができま す。アプリケーションをアンインストールするために必要な作業は、ボリュームからアプリケー ションバンドルを削除することだけです。 Finderは、アプリケーションコンポーネントを簡単にインストールするためのメカニズムとして、 「アプリケーションパッケージ」に関するキーをいくつかサポートしています。アプリケーション をビルドする場合、これらのキーと、それに対応する値を、アプリケーションの情報プロパティリ スト(Info.plist)で指定することができます。後で、ユーザがアプリケーションを選択してFinder の「情報」ウインドウを開くと、「アプリケーションファイル」ペインにコンポーネントのリスト が表示されます。ユーザは、インストールする(あるいはアンインストールする)コンポーネント を選択することができます。 このようなキーの詳細については、「ソフトウェアの設定」の章の「アプリケーションパッケー ジキー」(199ページ)を参照してください。 インストーラ アプリケーションによっては、単純なドラッグ&ドロップによるインストールに適さないものがあ ります。アプリケーションを実行可能にするための要求事項が複雑すぎるか、インストーラを使用 することで得られる機能がぜひとも必要な場合です。そうした機能には、以下のものがあります。 ■ 圧縮 ■ Read Meファイルを、インストールプロセスの一部として表示する ■ インストール前に、ユーザにライセンスに対する同意を求める ■ インストールの前に、ユーザを管理者として認証する必要がある ■ より専門的な表示を行う 重要 インストーラを使用することには利点がありますが、アップル社では、 できるだけ単純なドラッグ&ドロップによる手動インストールを使用 するよう推奨しています。インストーラは、項目を何らかの理由でバ ンドルの外部にインストールする必要のあるアプリケーションにのみ 使用するべきです。250 アプリケーションをインストールする  Apple Computer, Inc. February 2001 C H A P T E R 1 3 インストールと統合 インストーラを使用する場合は、いくつかオプションがあります。アプリケーションがCocoaま たはJavaアプリケーションの場合、あるいはMac OS XにのみインストールされるCarbonアプリ ケーションの場合は、Mac OS Xのネイティブのインストーラテクノロジーを使用することがで きます。アプリケーションがCarbonアプリケーションで、Mac OS 9とMac OS Xの両方にインス トールする場合、次のいずれかの手法を使います。 ■ どちらのフラットフォームでも、Mac OS Xに移植されたサードパーティ製のインストーラを使 用する。 ■ Mac OS Xにアプリケーションをインストールする作業にはネイティブのインストーラテクノ ロジーを使い、Mac OS 9にはサードパーティ製のインストーラを使用する。 Mac OS Xのネイティブのインストーラアプリケーションは、Installerという名前で、 /Applications/Utilitiesにあります。ユーザがインストールパッケージをダブルクリックすると、 Installerアプリケーションが起動します。Installerアプリケーションはユーザに対して、認証な どを行う一連のペインの表示(図13-2(250ページ)を参照)、インストール位置の指定、イン ストールのカスタマイズなど、一連のインストール作業を順に提示します。また、項目の一覧と インストールログを表示します。「インストールパッケージ」(251ページ)のセクションでは、 インストールパッケージの構造と内容について説明します。 図13-2 InstallerアプリケーションC H A P T E R 1 3 インストールと統合 アプリケーションをインストールする 251  Apple Computer, Inc. February 2001 Mac OS X上にインストール可能なパッケージを作成するには、Package Makerというアプリケー ションを使用します(/Developer/Applications/PackageMaker)。ソフトウェアをパッケージでき る状態にするための一般的な手法とPackage Makerの使用方法は、「インストールパッケージを作 成する」(252ページ)で説明します。 インストールパッケージ Mac OS Xのインストーラ対応ソフトウェアのネイティブな形式は、パッケージと呼ばれます。 インストールパッケージはファイルパッケージ(ユーザに対してはファイルとして表示される フォルダ)で、.pkgという拡張子を持ちます。インストールパッケージには複数のコンポーネ ント、ファイルアーカイブ、Read Meファイルやライセンス関係の書類(省略可能)、およびイ ンストーラスクリプト(省略可能)が含まれます。インストールパッケージ形式を使用すること で、Installerは、説明、デフォルトのインストール位置、アンインストール機能などの有用な機 能を提供できます。 Finderはパッケージを単一のファイルシステムエンティティとして表示しますが、(Terminalアプ リケーションで)BSDのcdコマンドを使用してパッケージディレクトリを開くことにより、パッ ケージのコンポーネントを表示することができます。パッケージを構成するファイルは、ファイ ルに格納される情報のタイプを示すサフィックスが名前の末尾に付けられます。基本的なパッ ケージには、以下のファイルが含まれます。 ■ 項目のリスト(.bom):パッケージの内容を記述したバイナリフォーマットのファイル。 ■ 情報ファイル(.info):パッケージが作成されたときにPackage Makerアプリケーションに入 力された情報が記述されたテキストファイル。 ■ アーカイブファイル(.pax):インストールされるすべてのファイルが含まれたアーカイブ。 アーカイブが圧縮されている場合、アーカイブにはさらに.gzというサフィックスが付きます。 ■ サイズ計算ファイル(.sizes):アーカイブ前のソフトウェアの圧縮後(および圧縮前)のサ イズを含むテキストファイルで、インストーラはこの情報をもとに、インストールに必要な 容量を計算します。 ■ 補足的な(省略可能の)リソース:アイコン、Read Meファイル、ライセンス情報、プレイ ンストールスクリプト、プレインストールスクリプトなど。これらはパッケージリソースで、 インストール時に使用または実行されますが、ソフトウェアといっしょにインストールされ ることはありません。 インストールパッケージは基本的にフォルダ(つまりファイルパッケージ)であるため、取り扱い によっては、内容が変更されたり損傷したりする可能性があります。パッケージを配布できる状態 にするには、パッケージを安全に配布できる形式にアーカイブ(および圧縮)する必要があります。252 アプリケーションをインストールする  Apple Computer, Inc. February 2001 C H A P T E R 1 3 インストールと統合 インストールパッケージを作成する インストールパッケージを作成する一般的な手順は、以下の通りです。 1. 配布ディレクトリを作成し、インストールするソフトウェアをそこにコピーします。 2. オプションで、インストールリソースディレクトリを作成して、Read Meファイル、使用許 諾契約書、インストールスクリプトなどを入れることができます。 3. Package Makerを起動し、表示される「フォーム」に記入します。 このような手順の詳細については、それぞれ、「配布ディレクトリを作成する」(252ページ)、 「インストール用リソースディレクトリを作成する」(253ページ)、および「Package Makerフォー ムに記入する」(254ページ)を参照してください。 配布ディレクトリを作成する フォルダを1つ作成します。この中には、ソフトウェアのインストール先となるデフォルトのディ レクトリ階層をローカルに再現した構造を持つサブフォルダ群を置きます。次にソフトウェアを適 切な場所(複数の場所も可)にコピーします。ディレクトリ階層のルートがあるフォルダの場合、 通常dstrootという名前が付けられます。これは、このフォルダが配布(ディストリビューション) のルート(/)を指すためです。配布ディレクトリの内容は、パッケージのファイルアーカイブ内 に作成されます。 たとえば、フレームワークをビルドし、それを/Library/Frameworksにインストールする場合、 ~/dstroot/Library/Frameworksというディレクトリ階層を作成して、この場所にフレームワー クをコピーします。Package Makerがパッケージをビルドする際に、このディレクトリ階層が記 録されます。パッケージがインストールされる際に、Installerはソフトウェアをファイルシステ ム内の正しい場所に置きます(ただし、パッケージが移動可能である場合、ユーザはほかの場所 にインストールすることもできます)。C H A P T E R 1 3 インストールと統合 アプリケーションをインストールする 253  Apple Computer, Inc. February 2001 インストール用リソースディレクトリを作成する 「インストールパッケージ」(251ページ)で説明したように、パッケージには、インストール時 にパッケージにより使用されるだけで、それ自体はインストールされない補助的なリソースを持 たせることができます。このようなリソースとして一般的なのは、Read Meファイルとライセン ス書類です。Read Meファイルには、ユーザがソフトウェアをインストールする前に読んでおく 必要のある(あるいは読むことが推奨される)情報が記載されています。ライセンスには、ソフ トウェアを利用するためにユーザが承諾する必要のある条件などが記述されています。 これらのRead Meファイルやライセンスファイルに使用できるファイル形式(適切な拡張子を持 つ)は、テキスト(.txt)、HTML(.html)、RTF(Rich Text Format、.rtf)の3つです。これらの ファイルを作成する際は、ファイルをUnicodeエンコーディングで保存できるテキストエディタ を使用してください。Read Meファイルやライセンスファイルで使用するために、特殊なベース ネームが予約されています。Read Meファイルの名前がReadMe.extで、ライセンスファイルの名 前がLicense.extの場合、Installerは各ファイルを認識して(パッケージ内にある場合)、自動的に 以下の処理を行います。 ■ Installerは「Read Me」項目を、アプリケーションの左側に表示される箇条書きリストに追加 します。ユーザが「Important Information」ペインまで進むと、ファイルの内容が表示され ます。ユーザは、「Continue」ボタンをクリックすることによりRead Meの表示をキャンセル することができます。 ■ Installerは「License」項目を、アプリケーションの左側に表示される箇条書きリストに追加 します。ユーザが「Software License Agreement」ペインまで進むと、ファイルの内容が表 示されます。ユーザが「Continue」ボタンをクリックすると、Installerはライセンスの条件 に同意したことを(「Agree」をクリックして)示すよう求めるダイアログを表示します。 補助的なインストールリソースはソフトウェアとともにはインストールされないため、これらの ファイルは配布ディレクトリには置きません。dstrootと同じ階層にresourcesディレクトリを作成 して、その中にこれらのファイルを置きます。resourcesディレクトリの内容は、パッケージが作 成されるときにパッケージにコピーされます。254 アプリケーションをインストールする  Apple Computer, Inc. February 2001 C H A P T E R 1 3 インストールと統合 Package Makerフォームに記入する インストールパッケージの設定と作成を行うには、Package Makerアプリケーションを使用します。 使用方法は容易で、図13-3に示すようにフィールドやチェックボックスで構成された簡単なフォー ムに記入するだけです。 図13-3 Package MakerのユーザインタフェースC H A P T E R 1 3 インストールと統合 アプリケーションをインストールする 255  Apple Computer, Inc. February 2001 最初の2つのフィールド、Package Root DirectoryとPackage Resources Directoryに注目してくださ い。これらのフィールドには、作成済みの配布ディレクトリとリソースディレクトリのルートをポ イントするパスを指定します。これらのフィールドと、その他のフィールドやコントロールの目的 および通常の値については、アプリケーションのオンラインヘルプを参照してください。 システム全体のリソース バンドル化された実行可能ファイルに、何らかの理由でバンドルの外部にインストールしなけれ ばならないリソースがある場合、インストーラ側で対処する必要があります。通常、このような リソースは、システムサービスを利用できるように特定の場所に置く必要があります。この一例 がフォントです。Apple Type Solution(ATS)システムは、システム、ローカル、ネットワーク、 およびユーザの各ファイルシステムドメイン内のLibrary/Fontsでフォントを検索することに よってフォントを管理します。 ファイルシステムドメインに関するもう1つの問題は、リソースの制限です。たとえば、ライセン ス制限のあるフォントを、Mac OS Xシステムの全ユーザではなく1人のユーザだけに使用させたい 場合、インストーラはこのフォントを、/Library/Fontsフォルダではなく、ユーザの~/Library/Fonts フォルダに入れる必要があります。 システム全体で使用されるリソースに対する推奨ドメイン位置を認識し、インストーラがこれら のリソースを、適切な場所、あるいはユーザが選択できる場所に置くようにする必要があります (これらの場所の詳細については、「ファイルシステムの構成」(155ページ)を参照)。インス トールする場所がシステム管理者権限を必要とする場合、インストーラはユーザを認証する必要 があります。Mac OS Xのインストーラテクノロジーでは、アプリケーションバンドルの外部にオ プションのサブパッケージをインストールすることが許容されています。このようなサブパッ ケージの集まりを管理するためには、メタパッケージという概念が使用されます。メタパッケー ジは、.mpkgという拡張子を持つファイルパッケージです。Installerは、メタパッケージにもとづ くインストール可能パッケージごとに1つの「Customize」ボタンを用意します。256 アプリケーションをインストールする  Apple Computer, Inc. February 2001 C H A P T E R 1 3 インストールと統合タスクとプロセス 257  Apple Computer, Inc. February 2001 C H A P T E R 1 4 14 マルチ環境の問題点とオプション Mac OS Xは高度にレイヤ化されたシステムであるため、しばしば複数の異なるレイヤに同等の メカニズムが存在します。たとえば、スレッディングAPIはMach、BSD、およびそれぞれのアプ リケーション環境で使用できます(後者は前者の上位にあるため)。このセクションでは、シス テムの各レイヤに異なるテクノロジーとAPIが存在するときに(場合によっては用語さえ異なる ときに)発生する可能性のあるプログラミング上の問題について説明します。 タスクとプロセス Mac OS Xは複数の異なるコンポーネントから構成されており、それぞれのコンポーネントには独 自の背景があります。このため、ときおり用語の不一致が発生することがあります。このような用 語の不一致は、マニュアルだけでなく、しばしばAPIにも見られます。適切な事例としては「タス ク」と「プロセス」という用語があります。Machではタスク、BSDではプロセス、CPM(Carbon Process Manager)もプロセス、マルチプロセッシングサービスではタスクと、混乱を極めています。 このような混乱を明確にするためには次の「等式」が役に立ちます。 Machタスク = BSDプロセス = Carbon Process Managerプロセス Open Software Foundationの定義に従うと、Machタスクは「スレッドのセットを保持するコンテ ナ。Machタスクはスレッドの実行に必要な要素、つまりポートのネームスペースと仮想アドレス 空間を含む」と定義されます(「Mach 3 Kernel Principles」)。つまり、Mac OS X上のMachタスク (またはBSDプロセス、Carbon Process Managerプロセス)の仕事は、メモリ、アドレス空間、 およびスレッドの実行に関連するその他のリソースを管理することです。それぞれのMachタスク (またはプロセス)は個別に4GBの仮想アドレス空間を持ち、この領域は保護されています。258 スレッディングパッケージ  Apple Computer, Inc. February 2001 C H A P T E R 1 4 マルチ環境の問題点とオプション 1つのCPM(Carbon Process Manager)プロセスは1つのBSDプロセスの上位にあります。このよ うなレイヤ構造がCPM APIを有効にします。したがって、Carbon、Cocoa、およびJava、どのア プリケーションのプロセスも、同時に、Machタスクであり、BSDプロセス(独自のプロセスID を持ちます)であり、さらにCPMプロセス(独自のPSN、つまりプロセスシリアル番号を持ちま す)でもあります。ただし、Classicプロセスだけは、この1対1プロセスモデルに対する例外で す。Classicアプリケーション環境で動作しているアプリケーションはそれぞれ独自のCPMプロ セスを持ちますが、これら複数のプロセスはただ1つのBSDプロセスの上に置かれています。 CarbonとCocoaは、APIのほかの箇所で「タスク」という名前を使用しています。Cocoaでは、Mach とBSDの意味で「タスク」と「プロセス」を使用します。FoundationフレームワークのNSTaskク ラスを使って作成されたオブジェクトは、実際には親プロセスから派生したサブプロセスに関連付 けられています。このオブジェクトは、独自のスレッドのセットとアドレス空間を持つ独立した実 行可能なエンティティです。マルチプロセッシングサービスはユーザレベルのプリエンプティブな スレッドを「タスク」と呼びます。これは、Thread Managerの協調的なスレッドとの混同を防ぐ ためです。マルチプロセッシングサービスタスクの詳細については、次の「スレッディングパッ ケージ」のセクションを参照してください。 スレッディングパッケージ スレッドはプロセス内の実行コンテキストです(「タスクとプロセス」(257ページ)を参照)。 スレッドはコールスタックとプロセッサのステータスに関連付けられています。1つのスレッド は、仮想アドレス空間とその他のタスク内のリソースを、プロセスの他のスレッドと共有しま す。スレッドはプリエンプティブに、あるいは対称マルチプロセッシングを使って、並行的に実 行されるようにスケジュールされます。ただし、カーネルスレッドの最上位に構築されるスレッ ディングモデルは、協調的なスレッディング動作を提供するために、さまざまな同期メカニズム を使います。 アプリケーションのようなプロセスが複数の実行スレッドを持てることは、非常に価値がありま す。というのも、この機能によりプログラムの効率が大幅に向上し、一部のタスクのプログラミン グが簡略化されるからです。しかし、マルチスレッドプログラムは、より複雑になる可能性もあり ます。 Mac OS Xは、プログラムをマルチスレッド化するために使用できるさまざまなモデルとプログラ ミングインタフェースをデベロッパに提供します。それぞれのパッケージはレイヤ構造の中で他 のパッケージの上位または下位にあるため、これらのパッケージの間には依存関係が存在します。 図14-1に、パッケージと依存関係を示します。C H A P T E R 1 4 マルチ環境の問題点とオプション スレッディングパッケージ 259  Apple Computer, Inc. February 2001 図14-1 Mac OS Xのスレッディングパッケージ Mac OS Xのカーネル環境、特にMachは、基本的なスレッドサポートを提供します。Machはスレッ ドのレジスタステータスを管理し、それらを相互にプリエンプティブにスケジュールします。対称 マルチプロセッシングの場合は、1つのスレッドを1つのプロセッサに割り当てて、並行的に実行 されるスレッドをプリエンプティブにスケジュールします。MachスレッドのクライアントAPIはシ ステムフレームワークとして実装されます。 その他のスレッディングモデルまたはスレッディングパッケージは、Machスレッドの上位に実装 されます。 スレッディングパッケージ 説明 POSIXスレッド プリエンプティブにスケジュールされたスレッドを実装するため にカーネル環境に組み込まれているスレッドパッケージ。これは業 界標準のスレッディングモデルの1つです。このパッケージはシス テムフレームワークの中に含まれています。 マルチプロセッシング サービス Carbon上にプリエンプティブにスケジュールされたスレッドを実 装するパッケージ。このパッケージはPOSIXスレッドの上位にあ り、コアサービスレイヤの一部です。 Machスレッド� マルチプロセッシング� サービス(Carbon)� Thread Manager (Carbon) NSThread (Cocoa) java.lang.Thread POSIXスレッド�260 スレッディングパッケージ  Apple Computer, Inc. February 2001 C H A P T E R 1 4 マルチ環境の問題点とオプション Mach APIではなく、できるかぎりクライアントAPIのいずれかを使用するようにしてください。 レイヤの詳細 図14-1(259ページ)に示すように、BSDのPOSIXスレッドパッケージ(Pthreadとも呼ばれます) は、独自のマルチスレッディング環境をカーネル環境のMachスレッドの上位に構築しています。 このパッケージは、そのスレッドをプリエンプティブにスケジュールして、MachスレッドとPOSIX スレッドとの間の1対1のマッピングを維持します。 アプリケーション環境のスレッドパッケージは、POSIXスレッドの上位にレイヤ化されていま す。POSIXスレッドと同様に、これらのパッケージも独自のマルチスレッディング環境を、 スレッディング基礎構造の上に構築しています。Carbonではマルチプロセッシングサービスに よって、CocoaではNSThreadクラスによって提供されるスレッドは、プリエンプティブにスケ ジュールされ、下位にあるPOSIXスレッドとの間に1対1のマッピング関係を持ちます(事実、API の中では「タスク」と呼ばれているマルチプロセッシングサービスのスレッドは、POSIXスレッ ドを被っているうすい膜のようなものです)。一方、Thread Managerのスレッドは単一のPOSIX スレッドの上に「多重化」されており、協調的にのみスケジュールされます。 使用方法のガイドライン アプリケーションプロセスが起動されるとき、アプリケーション環境に関係なく、アプリケー ションは1つのスレッドを自動的に獲得します。アプリケーションをマルチスレッド化する場合 は、通常、アプリケーション環境と、Carbonの場合は必要なスレッドのタイプ(プリエンプティ ブまたは協調的)に対応したスレッドパッケージを使用してください。 Thread Manager Carbon上に協調的にスケジュールされたスレッドを実装するパッ ケージ。このパッケージはPOSIXスレッドの上位にあり、コアサー ビスレイヤの一部です。 NSThread このクラスのオブジェクトは、プリエンプティブにスケジュールさ れたスレッドを、Cocoaアプリケーションで使用するためにラップ します。このパッケージはPOSIXスレッドの上位にあり、 Foundationフレームワークによって提供されます。 java.lang.Thread このクラスのオブジェクトは、プリエンプティブにスケジュールさ れたスレッドを、Javaアプリケーションで使用するためにラップし ます。このパッケージはPOSIXスレッドの上位にあります。 スレッディングパッケージ 説明C H A P T E R 1 4 マルチ環境の問題点とオプション プロセス間通信 261  Apple Computer, Inc. February 2001 他のオペレーティングシステムとの間のソースコード互換性を最大にする必要があるときは、 POSIXスレッドを使用してください。たとえば、多くのBSDコードではPOSIXスレッドを使用し ており、これはMac OS X内の実装と互換性を持ちます。 まれな例外を除き(デバッガなど)、プロジェクト内でMachスレッドを作成および管理すること はできるだけ避けるようにしてください。これらのスレッドには、POSIXスレッドが提供する多 くのインフラストラクチャが欠けています。さらに、Machスレッドを使用すると、結果的に互換 性の問題が発生する可能性があります。 プロセス間通信 通常、プロセスは、そのライフタイムのある時点で、別のプロセスと通信する必要があります。 その目的は、データを転送するため、または自プロセスの状況を他のプロセスに通知するためな どです。しかし、モダンオペレーティングシステムでのプロセス間通信には注意が必要です。 不十分な理解にもとづいてプロセス間通信を使用すると、システム全体の安定性とパフォーマン スに影響が生じる可能性があります。 Mac OS Xのプログラムはいくつかの方法を使って他のプログラムと情報をやり取りしていま す。プロセス間通信のメカニズムは、多くの場合、システム内のさまざまなレイヤに存在しま す。それぞれのメカニズムには、独自の目的、制限、および想定しているシナリオがあります。 システムの特定のレベルで書かれるコードによっては、あるものが他のものよりも望ましい場合 があります。たとえば、カーネル機能拡張ではアップルイベントを使用できません。 Mac OS Xには、以下に示すようなプロセス間通信メカニズムがあります。 ■ Mac OS Xのプロセス間通信では、多くの場合、ほかのメソッドよりもアップルイベントがアプ リケーションにとって適切です。「アップルイベントによる通信」(262ページ)を参照して ください。 ■ 同一のマシン上のすべてのアプリケーションに対して単純な通知をブロードキャストするに は、分散化された通知を使用することができます。「単純な通知のブロードキャスト」(263 ページ)を参照してください。 ■ パフォーマンスが重要な場面では、アップルイベントに代えてCore Foundationの CFMessagePortを使用することを検討します。「CFMessagePortによる生データの転送」(263 ページ)を参照してください。262 プロセス間通信  Apple Computer, Inc. February 2001 C H A P T E R 1 4 マルチ環境の問題点とオプション ■ ネットワーク経由での通信にはBSDソケットを使用します。「BSDソケットによる通信」(264 ページ)を参照してください。 ■ 同一のコンピュータ上でのアトミックな一方向通信には、BSD のパイプを使用することがで きます。「BSDのパイプによる通信」(264ページ)を参照してください。 ■ カーネルは、例外をプロセスに送信する場合に、BSDシグナルを呼び出します。「BSDシグナ ルによる例外処理」(265ページ)を参照してください。 ■ 画像、サウンド、ムービーなどの大きなリソースを他のプロセスと共有するには、共有メモリ をPOSIXセマフォと組み合わせて使います。「共有メモリによる大規模リソースの共有」(265 ページ)を参照してください。 ■ NSPasteboardはCocoaクラスの1つで、パブリックな共有可能データを格納する実行時単位 で、永続的で単純な記憶域を確保します。アプリケーション間で用いられるローレベルのク リップボード操作(カット、コピー、ペースト)は、NSPasteboardを使用して実装されています。 ■ Cocoaアプリケーションでは、そのアプリケーションが他のアプリケーションに代わって実 行できるサービスを(「サービス」メニューで)通知することができます。「他のアプリケー ションへのサービスの提供」(266ページ)を参照してください。 ■ Cocoaアプリケーションでは、分散オブジェクトを使用して、同一のコンピュータ上の他のス レッドまたはプロセスにあるオブジェクトにメッセージを送信することもできます。「分散オ ブジェクトによる他のプロセスの呼び出し」(266ページ)を参照してください。 ■ Machポートオブジェクトは、Mac OS X上のすべてのプロセス間通信に使用される基礎プリミ ティブです。「Machポートオブジェクトを使用したメッセージング」(266ページ)を参照し てください。 アップルイベントによる通信 アップルイベントはハイレベルのセマンティックイベントで、アプリケーションから、自分自身、 同じコンピュータ上の別のアプリケーション、あるいはリモートコンピュータ上のアプリケーショ ンに送信することができます。アップルイベントは、Mac OS Xでのアプリケーション間通信の主 要な方式です。 アップルイベントオブジェクトのデータ構造は明確に定義されており、拡張可能な階層的データ 型をサポートしています。アプリケーションは通常、他のアプリケーションに対してサービスや 情報を要求したり、逆にそのような要求に応えてサービスや情報を提供したりするのにアップル イベントを使用します。必要に応じてカスタムのイベントを定義することもできますが、他のア プリケーションとの相互運用性を増大させるには、アップル社によりドキュメント化されたアッ プルイベントの標準セットを採用してください。C H A P T E R 1 4 マルチ環境の問題点とオプション プロセス間通信 263  Apple Computer, Inc. February 2001 標準のアップルイベントスイートおよび関連するデータ構造は、「save document」や「open document」などのローレベルの書類管理タスクのほか、テキスト処理やデータベース管理など の多様な機能分野に対して定義されています。適格な定義を持つアップルイベントスイートは、 AppleScriptを使用する高機能なスクリプティングインタフェースもサポートしています。 アップルイベントオブジェクトを作成するには時間がかかります。このため、パフォーマンスが 重要な場面では、アップルイベントが使用されることは多くありません。アップルイベントの作 成パフォーマンスを向上させるには、CarbonではAEBuildおよびAEStreamユーティリティを使用 します。これらは多くの場合、AEPutDescおよびAEPutParamよりも大幅に高速です。 単純な通知のブロードキャスト 分散化された通知とは、任意のプロセスがマシンごとの通知センターに投稿できるメッセージで す。通知センターは、同じマシン上にあり、通知の受信を必要としているすべてのプロセスにメッ セージをブロードキャストします。通知には送信元の識別子が含まれ、さらにオプションで追加 情報を含む辞書が含まれることもあります。分散化された通知は、Core Foundationの CFNotificationCenterオブジェクトおよびCocoaのNSDistributedNotificationCenterクラスによっ て実装されます。 分散化された通知は、単純な通知タイプのイベントに最適です。たとえば、ある通知が、基幹ハー ドウェアの特定の部分(ネットワークインタフェースやタイプセッタなど)のステータスを通知 するなどです。 分散化された通知の受信を許可されるプロセスのセットを制限する方法はありません。特定の通 知に対して登録を行ったすべてのプロセスが受信可能です。分散化された通知では、一意の登録 キーに文字列を使用するため、ネームスペースのコンフリクトが発生する可能性があります。 分散化された通知は真の意味での通知です。受信先には、通知に応答する機会がありません。 CFMessagePortによる生データの転送 CoreFoundationのCFMessagePortオブジェクトには、同一のマシン上にある1つのプロセスから 別のプロセスへ生データを転送するための、高速で効率のよいメカニズムが実装されています。 アップルイベントでは低速すぎる用途の場合には、CFMessagePortの使用を検討してください。264 プロセス間通信  Apple Computer, Inc. February 2001 C H A P T E R 1 4 マルチ環境の問題点とオプション BSDソケットによる通信 ソケットでは、任意の数のプロセス間での双方向通信がサポートされています。ソケットは、アド レスをファイルディスクリプタに関連付けるオブジェクトです。Mac OS Xでは、すべてのネット ワーク通信で、ソケットを使用する必要があります。 ソケットには、ファイルおよびネットワークという2つのバリアントがあります。ファイルソケッ トはファイル名でアドレスされ、さまざまな理由から、異なるマシン上にあるプロセス間での通信 をサポートしていません。ネットワークソケットはネットワークホスト名とポート番号の組み合わ せを使用してアドレスされます(たとえば、www.apple.co.jpと80)。どちらのタイプのソケット も、POSIXコールreadおよびwriteを使用して読み書きされます。 Core Foundationフレームワークには、ソケットのアブストラクションが含まれています (CFSocket/CFRunLoop)。ローソケットAPIコールに代えてCFSocketを使用すると、Core Foundation は異種オペレーティングシステム間に想定される相違点を抽象化し、よりプログラミングの容易な オブジェクト指向のインタフェースを提供します。 CFSocketとCFRunLoopを併用することにより、あるソケットから受信したデータを、他のソース から受信したデータとともに多重化することができます。これによりアプリケーション内のスレッ ド数を必要最小限に抑えることができ、パフォーマンスの向上に寄与します。CFMessagePortも CFRunLoopと併用することができます。 BSDのパイプによる通信 パイプとは、1つの送信端と1つの受信端を持った通信ポータルです。パイプに書き込まれたデー タは、FIFO(First In、First Out)の順で読み出されます。パイプに対してデータを読み書きする には、パイプの読み出し端と書き込み端の両方がオープンしている必要があります。 名前のないパイプは共通の親プロセスにより作成される必要があります。この親プロセスが、 パイプのディスクリプタ番号を両方の子プロセスに渡します。この機能は、通常、コマンドライ ンシェルにより、パイプ結合されているプロセスを接続するのに使用されます(たとえば、「cat magic.txt | grep -e Gwendoyln」は、magic.textの内容を、Cライブラリのコンソール入力スト リーム経由でgrepコマンドに送信します)。 名前付きパイプは、ファイルシステム内では、FIFOスペシャルファイルと呼ばれる1つのファイル として表現されます。名前付きパイプは、送信側プロセスと受信側プロセスの両方が識別できる一 意の名前で作成される必要があります。C H A P T E R 1 4 マルチ環境の問題点とオプション プロセス間通信 265  Apple Computer, Inc. February 2001 パイプに対する少量のデータの読み書きは、書き込まれるデータのサイズがカーネルに固有の特 定のサイズより小さい場合には、アトミックな動作となります。これにより、名前付きパイプの 受信端で、パーシャルバッファを読み取ることを避けることができます。 BSDシグナルによる例外処理 シグナルは、特定のプロセス上で呼び出すことができるソフトウェアインタラプトです。通常、 デフォルトのシグナル処理動作(システムが提供するもの)は、シグナルを受信すると即座にそ のプロセスを終了させます。プロセスは、シグナルハンドラルーチンをインストールすることに より、この動作をオーバーライドすることができます。 シグナルの最も一般的な使用例は、カーネルが、無効なアドレスエラーやゼロによる除算エラーな どの例外条件をプロセスに通知するのに使用する場合です。別の一般的な使用例は、コマンドライ ンのkillツールです。このツールは、ユーザが指定した任意のシグナルをプロセスに送信できます が、最も一般的には、SIGHUPでプロセスを終了させるのに使用されます。 シグナルは複雑なため効率的な使用が難しい上に、異なるオペレーティングシステム上では異な る動作をする傾向があります(信頼性が低い場合もあります)。シグナルのネームスペースは、 単一の整数によって構成されるため限定されており、サードパーティのシグナル番号やオペレー ティングシステムの今後のバージョンで使用されるシグナル番号と衝突する可能性があります。 したがって、通常のプロセス間通信の範囲内では、一般にシグナルの使用は避けます。 共有メモリによる大規模リソースの共有 共有メモリはメモリの1つの領域で、プロセスによって割り当てられ、複数のプロセスが読み出 す(場合によっては書き込む)ことを主な目的とします。この領域は、各プロセスのアドレス空 間に、アクセス権とともにマップされます。このメモリ領域へのアクセスは、ある種のロック機 構を実装したPOSIXセマフォにより管理されます。 共有メモリには、ほかのプロセス間通信と比較して、2つの顕著な利点があります。 ■ 適切なアクセス権を持つすべてのプロセスに、共有メモリ領域での読み書きが許可されます。 ■ いずれのプロセスも、直接データを読み取るため、データがコピーされることがありません。 共有メモリの欠点は、非常に脆弱なことです。共有メモリ領域内の1つのデータ構造が破損する と、そのデータ構造を参照しているすべてのプロセスが破壊されます。このため、共有メモリの 最適な使用方法は、単純に生データ(生ピクセルやオーディオ)を格納するための倉庫として使 い、データ構造へのアクセスはより一般的なプロセス間通信を使います。266 プロセス間通信  Apple Computer, Inc. February 2001 C H A P T E R 1 4 マルチ環境の問題点とオプション 他のアプリケーションへのサービスの提供 Cocoaアプリケーションは、「標準サービス」機能を通して、自身の機能をほかのアプリケーショ ンに提供することができます。ほかのアプリケーションの側では、提供されるサービスをあらか じめ知っている必要はありません。サービス提供側のアプリケーションは、特定のタイプのデー タに対して自身が実行できる操作(たとえば、選択されたファイルの暗号化処理や、選択された URLを開く操作など)を通知します。そのサービスを利用するアプリケーションは、「サービス」 メニューを通してその機能にアクセスする権限を自動的に獲得します。利用側のアプリケーショ ンは、提供される処理をあらかじめ知っている必要はありません。手元のデータのタイプを示す と、「サービス」メニューがそのタイプに対して適用可能な処理を利用可能にします。このよう に、サービス機能は、Cocoaアプリケーションに対して、相互の機能を拡張する手段を制約を伴 わずに提供します。データの転送はクリップボードを通して行われ、一方向と双方向のいずれも 可能です。 分散オブジェクトによる他のプロセスの呼び出し Objective-Cのランタイムは、「分散オブジェクト」と呼ばれるプロセス 間メッセージングソ リューションをサポートしています。このメカニズムを使用すると、Cocoaアプリケーションか ら別のCocoaアプリケーションにあるオブジェクトを呼び出すことができます。呼び出しは同期 的にも非同期的にも行えます。同期的とは、受信側からの応答を待機する間、送信側プロセスが ブロックされることを意味し、非同期的とは、応答が不要で送信側がブロックされないことを意 味します。 分散オブジェクトの詳細については、『The Objective-C Language Reference』および『Foundation Framework Reference』を参照してください。 Machポートオブジェクトを使用したメッセージング Machポートオブジェクトは、プロセス間でメッセージを転送するための、標準的、安全、かつ効 率的な構造体を実装しています。Mac OS X上のほかのすべてのプロセス間通信プリミティブは、 いずれかのレベルでMachポートオブジェクトを使用しています。 送信側プロセスと受信側プロセスは独立にスケジュールされているため、特定のプロセスが、 送信されたメッセージを特定の時刻に受信可能である保証はありません。したがって、着信する メッセージはキューに格納され、受信側プロセスが処理可能になったときにキューから取り出さ れます。C H A P T E R 1 4 マルチ環境の問題点とオプション Library Managerと実行可能フォーマット 267  Apple Computer, Inc. February 2001 適切なアクセス権(Machの用語では「ポートアクセス権」)を持たないプロセスは、指定のポート にアクセスできません。このメカニズムは、Machカーネルの特徴である安定性をもたらす要素の 1つです。 ほかに可能な手段がある場合には、直接Machメッセージングを使用することは避けてください。 将来のバージョンではカーネルのインタフェースが変更される可能性があります。 Machポートオブジェクトは、BSDソケットで使用されるようなインターネットアドレスポート番 号とは無関係です。混同しないように注意してください(「BSDソケットによる通信」(264ペー ジ)を参照)。Machポートオブジェクトは、Carbonグラフィックポートプリミティブ(GrafPort) とも無関係です。 Library Managerと実行可能フォーマット ランタイム環境(あるいは単にランタイム)とは、コードとデータがメモリ内にロードされて管 理される方法を決定する規約のセットのことです。Mac OS X では、dyld(dynamic link editor) とCFM(Code Fragment Manager)の2つの主要なランタイム環境がサポートされています。 1つのシステム上に複数のランタイム環境が存在することによって発生するやっかいな問題に は、たとえば一方のランタイム用に準備されたコードがもう一方のランタイム用に準備された コードにアクセスすることをどのように許可するかという問題があります。このセクションで は、この問題について、また複数のランタイム環境を橋渡しするためにアップル社が開発したテ クノロジーについて説明します。また、デベロッパに推奨されるランタイムへのアプローチに対 するアップル社の見解も示します。 このセクションでは、dyldランタイムとCFMランタイムを簡単に比較し、さらにこれらのランタイ ムが処理するコードとデータの実行可能フォーマットについて説明します。CFMベースのランタ イム環境の詳細については、Code Fragment Managerを対象とするCarbonのマニュアル、特に 「CFM-Based Runtime Architecture」の章を参照してください。また、ダイナミックリンクエディタ の詳細については、本書の「フレームワーク」の章の「ダイナミック共有ライブラリ」(136ペー ジ)を参照してください。また、CFM実行可能ファイルをMac OS Xに対応させる方法の説明は、 「CFM実行可能ファイル」(230ページ)を参照してください。268 Library Managerと実行可能フォーマット  Apple Computer, Inc. February 2001 C H A P T E R 1 4 マルチ環境の問題点とオプション ランタイム環境の比較 CFMベースのアプリケーションは、dyldベースのフレームワークに含まれる関数を直接呼び出 すことができません。また、この逆も同様です。この制限と、アップル社のソリューションを理 解するためには、まず、この2つの環境の主な違いを知っておく必要があります。 CFMとdyld CFM(Code Fragment Manager)とdyld(dynamic link editor)はともにライブラリマネージャで す(他の呼び方をすることもできますが、ここでの説明では、「ライブラリマネージャ」という呼 び方で問題ありません)。ライブラリマネージャは、コードとデータを含む1つまたは複数のコン テナ(モジュール)をメモリにマップし、それらを実行可能な状態にします。実行可能な状態に するために、ライブラリマネージャは主として、外部で定義されているシンボルへの参照を解決 しようとします。これらのシンボルは通常、ビルド時にコンテナにリンクされた共有ライブラリ の中で定義されています。 ライブラリマネージャとしてのdyldとCFMの動作の違いは、いつ、これらの参照を解決して、 適切なライブラリ内のアドレスにバインドするかです。CFMはスタティックなアプローチをと ります。つまり、CFMは、コードとデータの各コンテナ(フラグメントと呼ばれます)を1つの まとまり(クロージャと呼ばれます)として準備します。CFMはビルド時に、参照されている それぞれのシンボルが実行時に存在する場所を決定することで実行可能ファイルを完成させて しまいます。これに対してdyldライブラリマネージャは、未定義のシンボルをすべて実行時に解 決しようとします。具体的には、プログラムの実行時、シンボルが参照されるときにだけ、その 解決が行われます。dyldマネージャは、必要なときだけコードモジュールをダイナミック共有ラ イブラリにリンクします。 PEFとMach-O dyldおよびCFMライブラリマネージャは、どちらも、実行可能な状態にしたコードとデータのコン テナが特定の実行可能なファイルフォーマットになっていると想定します。実行可能フォーマット とは、実行可能なコードをパッケージする際に従う規約です。CFMの場合、このフォーマットは PEF(Preferred Executable Format)と呼ば れ、dyldのフ ォーマッ トはMach-O(Mach Object-file Format)と呼ばれます。 PEFとMach-Oは多くの点で類似しています。両者ともコードのセクション(セグメント)、グロー バルデータ、可変データなどを定義します。両者の最も大きな違いは複数のコンテナを許容する かどうかという点です。PEFは、1つのコンテナ(フラグメント)が実行可能ファイルに1対1に マップされるフォーマットです。これに対してdyldの世界では、1つの実行可能ファイルを複数の Mach-Oコンテナ(オブジェクトファイル)から構成することができます。C H A P T E R 1 4 マルチ環境の問題点とオプション Library Managerと実行可能フォーマット 269  Apple Computer, Inc. February 2001 コード生成モデル ここまでに2つのライブラリマネージャの違いと、それらが使用する2つの実行可能フォーマット の違いについては説明しましたが、それはCFMベースのプログラムがdyldベースのライブラリに 含まれる関数を呼び出せない理由の説明にはなりません。CFMランタイムとdyldランタイムの間 に互換性がないことの本当の原因は、それらのコード生成モデルで使用されている外部呼び出し 規約が異なることです。この違いは、Cの関数ポインタの表現方法とグローバルデータへのアク セス方法に影響を与えます。 ■ CFMのコード生成モデルでは、関数ポインタの基礎としてTVectorへのポインタを使用します。 このモデルは、グローバルデータへのベースポインタとしてR2レジスタを使用し、R2レジス タを介してグローバルデータに間接的にアクセスします。このようなアクセス方法はTOCと呼 ばれます。 ■ dyldのコード生成モデルは、コードへの単純なポインタを関数ポインタの基礎として使用し ます。このモデルでは、ベースアドレスへのオフセットを使用して、コードに関連するグ ローバルデータにアクセスします。このようなアクセス方法はGOTと呼ばれます。 ベクタライブラリ Mac OS XのすべてのシステムフレームワークはdyldとMach-Oにもとづいています。これらのフ レームワークの一部にはCarbon APIが含まれます。したがって、CFMベースのCarbonアプリケー ションまたはライブラリを開発した場合、そのコードではこれらのシステムフレームワークに含 まれる関数を呼び出す必要があります。そこでアップル社では、ベクタライブラリと呼ばれるテ クノロジーを介して、CFMベースのコードがdyldベースのフレームワークに含まれる関数を呼び 出せるようにしました。ベクタライブラリは、Carbon APIを含むシステムフレームワークへの 橋渡しとして機能します。この橋渡しの一部は、コード生成モデルの違いを処理するための「グ ルー」コードを提供するベクタまたはジャンプテーブルになっています。CFMベースのクライ アント(アプリケーションまたはライブラリ)は、これらのベクタライブラリを使って、対応す るdyldベースのフレームワークに含まれるCarbon APIにアクセスできるようになります。 Carbonデベロッパは、システムフレームワークのコードがCarbonの一部として定義されている かぎり、そのコードにアクセスするために何か特別なことをする必要はありません。CarbonLib SDKの中にあるスタブライブラリにリンクするだけで、ベクタライブラリという橋渡しのテクノ ロジーを利用できます。270 Library Managerと実行可能フォーマット  Apple Computer, Inc. February 2001 C H A P T E R 1 4 マルチ環境の問題点とオプション なお、ベクタライブラリは逆方向の橋渡し(dyldアプリケーションまたはフレームワークからCFM ライブラリへの橋渡し)は行いません。CFPlugInを使用すれば、dyldからCFMへの呼び出しを行う ことはできますが、このソリューションはあらゆる状況で適切ではありません。一般に、すべての Mac OS X実行環境で使用可能なライブラリが必要な場合は、dyldベースのライブラリとしてビル ドしてください。 CFM実行可能ファイルと非Carbon API CFMベースのアプリケーションまたはライブラリがCarbon APIをまったく含まないシステムフ レームワークを呼び出さなければならないこともあります。このようなフレームワークの代表例 はSystem.frameworkです。このフレームワークは多くのPOSIXカーネル環境APIを実装してい ます。Mac OS Xには、このような目的に対応するベクタライブラリは用意されていません。 しかし、システムには、システムフレームワークに含まれる非Carbon APIにアクセスするための 別のメカニズムが用意されています。それはプラグインです。非Carbonフレームワークにリン クし、その結果、フレームワークの関数を直接的に呼び出すことのできるdyldベースのプラグイ ンを作成することができます。CFMアプリケーションでは、CarbonプラグインAPI(特に、Core Foundationのプラグインサービス)を使ってプラグインをロードし、それを使って非Carbonフ レームワークを呼び出すことができます。図14-2に、そのしくみを示します。 図14-2 CarbonアプリケーションによるBSDシステムルーチンの呼び出し Carbon.framework System.framework 1. Core Foundation API  を呼び出す� 2. ロードする� 3. BSD API  を呼び出す� MyCarbonApp.app MyPlugin.plugin CFM dyldC H A P T E R 1 4 マルチ環境の問題点とオプション Library Managerと実行可能フォーマット 271  Apple Computer, Inc. February 2001 CFMまたはdyldの使用 特定のプラットフォームに対するアプリケーションのパフォーマンスを最大限に向上させるには、 そのプラットフォームに合わせてコードを最適化する必要があります。Mac OS Xはdyldネイティ ブのプラットフォームです。Carbon APIを含むものを含めて、すべてのシステムフレームワークは dyldとMach-Oにもとづいています。実際、Code Fragment Managerそのものでさえ、dyldテクノロ ジーの上位に構築されています。このような理由から、アップル社では、デベロッパがdyldと Mach-Oを使用することを強く推奨しています。 互換性の維持を目的として、Mac OS XではCFMベースのプログラムもサポートされています。 しかし、アップル社では、「アプリケーションのパッケージング」(119ページ)で説明したアプ リケーションのパッケージング方式に従って、複数の実行可能フォーマットを含むアプリケー ションバンドルを構築することを推奨しています。開発しているCarbonアプリケーションがMac OS XとMac OS 9の両方で最大限のパフォーマンスを実現する必要がある場合は、同一のソース コードのセットを両方のランタイム環境用にコンパイルし(1つはdyld用、もう1つはCFM用)、 目的のプラットフォームに合わせてそれぞれの実行可能ファイルを最適化します。こうすれば、 アプリケーションは両方のプラットフォームでネイティブのランタイム環境を最大限に利用で きるようになります。272 Library Managerと実行可能フォーマット  Apple Computer, Inc. February 2001 C H A P T E R 1 4 マルチ環境の問題点とオプション273  Apple Computer, Inc. February 2001 1 用語集 AppleTalk Macintoshコンピュータで標準となって いるネットワークプロトコルのスイート。AppleTalk は、インターネットなどの他のネットワークシステム と統合することができます。 Application Kit アプリケーショ ンのユーザイン タフェースを実装するCocoaフレームワーク。 Application Kitには、スクリーン 上で描画を行い、 イベントに応答するアプリケーションのための基 本的なプログラム構造が用意されています。 ASCII(American Standard Code for Information Interchange) 128個の一意な文字コードを定 義す る7ビットの文字セット(通常、8ビットを使って表現 されます)。「Unicode」も参照。 BSD(Berkeley Software Distribution) 以前は、バー クレー版UNIXと呼ばれていましたが、現在では単に BSDオペレーティングシステムと呼ばれます。Mac OS XのBSD部分は、4.4BSD Lite 2と、4.4BSDの変種で あるFreeBSDにもとづいています。 Carbon Mac OSの以前のバージョンから派生した プログラミングインタフェースのセットを特徴とす るMac OS Xのアプリケーション環境。Carbon APIは、 Mac OS X、とりわけオペレーティングシステムの基 礎部分であるカーネル環境とともに適切に動作する ようにさまざまな変更が加えられてきました。 Carbonアプリケーションは、Mac OS X、Mac OS 9、 およびMac OS 8.1より後にリリースされたすべての Mac OS 8のバージョンで実行できます。 CFM(Code Fragment Manager) PEF(Preferred Executable Format)オブジェクトファイル(Carbon) にもとづいたプロセスが使用するライブラリマネー ジャおよびコードローダ。 Classic Carbonに対応していないレガシー Mac OS ソフトウェアの実行を可能にするMac OS Xのアプリ ケー ション 環境。この アプリ ケー ション 環境は、 Power PCおよび68Kチップアーキテクチャに対応し て構築されたプログラムをサポートし、Finderおよ びその他のアプリケーション環境と完全に統合され ます。 Cocoa Mac OS Xの先進的なオブジェクト指向開 発プラットフォーム。Cocoaは、JavaとObjective-C の両方で書かれたプログラミングインタフェースを 含ん だフ レー ムワ ークの セッ トで す。Cocoaは、 OPENSTEP、アップル社のテクノロジー、および Java を統合したものにもとづいています。 ColorSync 異なるデバイス(スキャナ、ビデオディ スプレイ、プリンタなど)やオペレーティングシステ ム上で、高い信頼性でカラー画像を再現する業界標準 のアーキテクチャ。 Darwin Mac OS Xのコアオペレーティングシステム の別名。Darwinのカーネルは、Mac OS Xのカーネル に、BSDコマンド環境に不可欠なBSDライブラリと BSDコマンドを加えたものに相当します。Darwinは オープンソーステクノロジーです。 DVD CD-ROMをはるかに超える容量と帯域幅を提 供する光記憶メディア。DVDはマルチメディアおよ びデータストレージの両方に使用されます。用 語 集 274  Apple Computer, Inc. February 2001 dyld 「ダイナミックリンクエディタ」を参照。 Ethernet 高速のローカルエリアネットワークテク ノロジー。 HFS(Hierarchical File System) Mac OS標準ファ イルシステムフォーマット。これは、ファイルの集 合をディレクトリ(フォルダ)の階層として表現す るために使用されます。各フォルダには、ファイル やフォルダが含まれます。HFSは2つのフォークを使 用するボリュームフォーマットです。 HFS+(Hierarchical File System Plus) Mac OS拡 張ファイルシステムフォーマット。このファイルシ ステムフォーマットは、Mac OS 8.1の一部として導 入され、31文字を超えるファイル名、ファイル名と ディレクトリ名のUnicode表現、および大容量ディ ス クで の 効 率的 な 操 作を サ ポ ート し て いま す。 HFS+は複数のフォークを使用するボリューム フォーマットです。 Mach Mac OS Xカーネルの最下層レベル。Machに より、スレッド、タスク、ポート、プロセス間通信 (IPC)、スケジューリング、物理および仮想アドレス 空間の管理、仮想メモリ、タイマなどの基本的なサー ビスとアブストラクションが提供されます。 Mach-O Machオブジェ クトファイ ルの実行可 能 フォーマット。「PEF」も参照。 makefile アプリケーションの実行可能バージョン をビルドするプログラムによって使用さ れる仕様 ファイル。makefileは、アプリケーションのビルドに 使用されるファイル、依存関係、および規則の詳細を 記述します。 NFS(Network File System) NFSファイルサーバを 使用すると、ネットワークユーザは他のホスト上にあ るファイルをあたかも自分のローカルディスク上に あるかのように共有できるようになります。 Objective-C オブジェクト指向プログラム言語の 1つで、標準C言語と、C言語のダイナミック関数を 実装したランタイムシステムをベースにしていま す。Objective-CのC言語に対する拡張は多くなく、 その大部分は、史上最初のオブジェクト指向プログ ラム言語の1つであるSmalltalkにもとづいています。 Objective-CはCocoaアプリケーション環境で使用で きます。 opaque型 Core FoundationとCarbonにおいて、集合 データ型と、その型のインスタンスに対して処理を行 う一群の関数を合わせたもの。初期化されたopaque 型の個々のフィールドはクライアントに対して隠蔽 されますが、この型の関数により、フィールドの大部 分の値にアクセスすることができます。オブジェクト 指向プログラミングでは、opaque型はおおむねクラ スに相当します。 Open Transport Open Transportは、Mac OSが動作 しているコンピュータ上でネットワークプロトコル やその他の通信機能を実装している通信アーキテク チャです。Open Transportには、とりわけAppleTalk プロトコルとTCP/IPプロトコルの両方をサポートす るプログラミングインタフェースのセットが用意さ れています。 PEF(Preferred Executable Format) Code Fragment Managerによって認識される実行可能フォーマット。 「Mach-O」も参照。 POSIX(Portable Operating System Interface) ISO/IEC、IEEE、およびThe Open Groupによってサ ポートされている、標準化されたオペレーティングシ ステムのインタフェース。用 語 集 275  Apple Computer, Inc. February 2001 PostScript 出力されたページの表示(テキストおよ びグラフィックス)を記述する言語。PostScriptは印 刷とイメージングの業界標準です。多数のプリンタ が、PostScriptソフトウェアを含んでいるか、または ロード可能です。PostScriptは、Type 1およびTrueType フォーマットの、業界標準のスケーラブルなタイプ フェースを取り扱えます。PostScriptはQuartzの出力 形式です。 Pthreads POSIXスレッドパッケージ(BSD)。 RAM(Random Access Memory) マイクロプロセッ サが読み書きできるメモリ。 ROM(Read Only Memory) 書き込みができないメ モリ。 SCSI(Small Computer Systems Interface) ディス クドライブなどのデバイスをコンピュータに接続す るために使用される標準コネクタおよび通信プロト コル。 SMP(Symmetric Multiprocessing) 2つまたはそれ 以上のプロセッサが1つのカーネルによって管理され るオペレーティングシステムの機能。これにより、複 数のプロセッサは、同一のメモリを共有し、I/Oデバ イスに同等にアクセスします。また、カーネルタスク を含む任意のタスクを任意のプロセッサで実行でき るようになります。 TCP/IP(Transmission Control Protocol/Internet Protocol) ネットワークを介したコンピュータ間で のメッセージの配信に使用される業界標準のプロト コル。TCP/IPサポートはMac OS Xにも組み込まれて います。 UDF(Universal Disk Format) DVDディスクで使用 されるファイルシステムフォーマット。 UFS(UNIX File System) BSDなどのUNIX系オ ペ レーティングシステムで使用される業界標準のファ イルシ ステムフ ォーマッ ト。Mac OS XのUFSは、 4.4BSD UFSから派生したものです。そのディスクレ イアウトは、他のBSDのUFS実装とは非互換です。 Unicode 広範囲の言語で使用されている各種の文 字に一意の文字コードを割り当てる16ビットの文字 セット。ASCIIは128個の文字を定義しており、通常は 8ビットで表現されますが、Unicodeには、さまざま な言語で使用されているあらゆる文字を表現するた め、最大65,536個のUnicode文字が含まれます。 VFS(Virtual File System) 標準内部ファイルシステ ムインタフェースと、複数のファイルシステムのサ ポートを容易にするユーティリティから構成される セット。VFSは、カーネル内に構築される、ファイル システムのインフラストラクチャを提供します。 アクセス権 BSDにおいて、ファイルシステム内の リソースに対して、読み取り、書き込み、および実 行操作を行うことができるものを示す属性のセ ッ ト。アクセス権は、ls -lコマンドの出力に、9つの文 字から成るコードとして表示されます。このコード は3文字から成る3つのバイナリサブコードに分割さ れ、1番目のサブコードはファイルのオーナーのアク セス権、2番目はファイルが所属するグループのアク セス権、3番目はその他のすべてのユーザのアクセス 権を示します。たとえば-rwxr-xr--は、ファイルの オーナーに、読み取り、書き込み、および実行アク セス権があり(rwx)、グループに読み取りおよび実行 アクセス権(r-x)、その他のユーザには読み取りアク セス権のみがあることを示します(一番左の位置は、 対象が普通のファイルであるか(-)、ディレクトリで あるか(d)、シンボリックリンクであるか(l)、 または特殊な疑似ファイルデバイスであるかを示す 特殊文字用に予約されています)。実行可能かどうか を示すビットは、ディレクトリに対しては異なる意 味、つまり検索可能かどうかを示します。用 語 集 276  Apple Computer, Inc. February 2001 アクティブウインドウ 最前面のモーダルウインド ウまたは書類ウインドウ。ユーザのアクションの影 響が及ぶのはアクティブウインドウの内容だけ で す。アクティブでないウインドウではウインドウの 細部表現が省略されますが、アクティブなウインド ウでは表示されます。 アップルイベント AEIMP(Apple Event Interprocess Messaging Protocol)に準拠 するハイレ ベルのオ ペ レーティングシステムイベント。1つのアップルイベ ントは通常、あるアプリケーションから自分自身また は別のアプリケーションにあてて送信される1つの メッセージで構成されます。 アドレス空間 あるプロセスが実行中に使用するメ モリ(物理メモリと仮想メモリ)の範囲を記述しま す。Mac OS Xでは、複数のプロセスがアドレス空間 を共有することはありません。 アプリケーションパッケージング アプリケーショ ンバンドル内部の既定のディレクトリ位置にコード とリソースを置くこと。「アプリケーションバンドル」 と同義に使用されることもあります。 暗号化 認証されていない者には容易に理解できな い形態(暗号文)にデータを変換すること。暗号化さ れたデータは、対となる処理である復号により、元の 形態に変換されます。 アンチエイリアシング エイリアシングが原因で引 き起こされる画像やサウンドの粗さを除去して滑ら かにする技術。周波数サンプリングを行うと、エイリ アシングにより、正しい周波数のほかに虚像(エイリ アス)の周波数が生成されます。画像の場合、これに より階段状のジャギーが現れます。アンチエイリアシ ングでは、ピクセル間の移行がより多段階的になるよ うに、ピクセル位置の調整やピクセル強度の設置を 行って、ジャギーを除去します。 アンブレラフレームワーク 構成要素となっている サブフレームワークやその他のパブリックフレーム ワークのインクルードとリンクを行うシ ステムフ レームワーク。アンブレラフレームワークには、アプ リケーション環境またはシステムソフトウェアのレ イヤを定義するシステムソフトウェアが含まれてい ます。「サブフレームワーク」も参照。 インスタンス JavaやObjective-Cなどのオブジェク ト指向言語で、特定のクラスに属する(特定のクラス のメンバーである)オブジェクト。インスタンスは、 クラス定義の仕様に従って、実行時に生成されます。 ウインドウサーバ 基本的な画面表示、ウインドウ の構成と管理、イベントルーティング、およびカーソ ル管理を担当するシステム規模のプロセス。ローレベ ルのウインドウ表示動作を調整し、画面に表示される ものの基礎的な統一性を維持します。 エイリアス Mac OS標準(HFS)およびMac OS拡張 (HFS+)ファイルシステム内のファイルやフォルダ への簡易参照。エイリアスを使用すると、同一のファ イルやフォルダを複数作成しなくても、それらの項 目を繰り返し参照できるようになります。エイリア スは、参照先のファイルやフォルダが格納されてい るボリュームや位置を識別するため、シンボリック リンクほど脆弱ではなく、参照先のファイルやフォ ルダを移動してもエイリアスが壊れることはありま せん。「シンボリックリンク」も参照。 オープンソース ソースコードの利用、再配布、 変更、およびソースコードから派生した生産物の利 用を自由に行うことができるソフトウェアを定義す る語。完全な定義はwww.opensource.orgで参照で きます。用 語 集 277  Apple Computer, Inc. February 2001 オブジェクト データ構造(インスタンス変数)と、 そのデータを使ったり変更したりする操作(メソッ ド)とをひとまとめにしたプログラミング単位。オブ ジェクトは、オブジェクト指向プログラムの主要な構 築ブロックです。 オブジェクトファイル 実行可能コードとデータを 含むファイル。Mach-O実行可能フォーマットのオブ ジェクトファイルは、.oというサフィックスを持ち、 GNUコンパイラ(gcc)を使用したコンパイルの成果 物です。通常、プログラムは、ひとまとめにリンク された複数のオ ブジェクトファイルと、必要な フ レームワークで構成されます。「コードフラグメン ト」、「ダイナミックリンク」も参照。 カーネル Mach、BSD、I/O Kit、ファイルシステム、 およびネットワーキングコンポーネントを含む、完全 なMac OS Xのコアオペレーティングシステム環境。 カーネル環境とも呼ばれます。 解像度 ディスプレイモニタにあるピクセル(それ ぞれの色の点)の数。水平軸と垂直軸それぞれのピク セルの数で表します。ディスプレイ上の画像の鮮明度 は解像度とモニタのサイズに依存します。解像度が同 一であれば、小さいモニタほど画像が鮮明で、大きく なるに従って鮮明度が低くなります。これは同じ数の ピクセルが広い領域に分散するためです。 仮想アドレス ソフトウェアによって使用可能なア ドレス。それぞれのタスクは、アドレスゼロから始 まる一定の範囲の仮想アドレスを独自に確保してい ます。Machオペレーティングシステムでは、必要な ときだけ、CPUハードウェアにこれらのアドレスを物 理メモリにマップさせ、そうでないときはディスクメ モリを使用します。「物理アドレス」も参照。 仮想マシン(VM) ホストコンピュータ上で実行さ れているが、独立したコンピュータのように動作する シミュレートされたコンピュータ。Java仮想マシン は、Javaのアプリケーションやアプレットを実行する ための自己完結的な動作環境として機能します。 仮想メ モリ(VM) 通 常はRAMが提供す る機能を ディスクパーティションまたはディスク上のファイ ルを使って提供すること。Mac OS Xの仮想メモリマ ネージャは、各タスクに32ビット(最小)の保護さ れたアドレス空間を提供し、そのアドレス空間の効 率的な共有を促進します。 キー 辞書などのデータ構造でデータを検出するの に使われる任意の値(通常は文字列)。 協調的マルチタスキング 他のプログラムが許可す る場合のみ、実行中のプログラムが処理時間を受け取 ることのできるマルチタスキング環境。それぞれのア プリケーションは、他のアプリケーションの実行を許 可するために、プロセッサの制御を「協調的」に渡さ なければなりません。Mac OS 8および9は協調的マル チタスキング環境です。「プリエンプティブマルチタ スキング」も参照。 クラス JavaやObjective-Cなどのオブジェクト指向 言語では、特定の種類のオブジェクトのプロトタイ プ。クラス定義は、クラスのすべてのメンバーについ て、インスタンス変数を宣言し、メソッドを定義しま す。同じクラスに属するオブジェクトは、同じ種類の インスタンス変数を持ち、同じメソッドにアクセスし ます(スーパークラスから継承したインスタンス変数 とメソッドを含む)。用 語 集 278  Apple Computer, Inc. February 2001 クリップボード アプリケーション間(Finderを含 む)でのデータ転送を可能にするユーザごとのサー バ。ペーストボードとも呼ばれます。クリップボー ドは動作中のすべてのアプリケーションによって共 有され、ユーザがカットまたはコピーしたデータだ けでなく、アプリケーションが別のアプリケーショ ンに(たとえばドラッグ操作などで)転送しようと しているその他 のデータも保持します。クリッ プ ボー ド内のデ ータに関 連付けら れている 名前は、 データの使用目的を示します。クリップボードによ るデータ転送操作は、Core Foundationのペースト ボードサービス、またはCocoaのNSPasteboardを使用 して実装します。「ペーストボード」も参照。 具体型 情報プロパティリストで、あるタイプの書 類の特定の特性(拡張子、HFS+のタイプコードや クリエータコードなど)を定義します。それぞれの 具体型には、対応する抽象型があります。「抽象型」 も参照。 継承 オブジェクト指向プログラミングにおいて、 特性(メソッド、インスタンス変数)をサブクラスに 渡すスーパークラスの機能。 コードフラグメント CFMベースのアーキテクチャ における、実行可能コードとそのコードのスタティッ クデータの基本単位。すべてのフラグメントは基礎的 なプロパティ(基本構造、コードやデータのアドレッ シング方式など)が同一です。1つのフラグメントは、 別のフラグメントに含まれているコードやデータに 容易にアクセスできます。さらに、項目をエクスポー トするフラグメントは、複数のクライアントにより共 有されることが可能です。コードフラグメントはPEF (Preferred Executable Format)に従って構造化されて います。 国際化 ローカリゼーションが容易になるように、 オンラインヘルプやマニュアルを含むソフトウェア 製品を設計すること、またはソフトウェア製品に変 更を加えること。通常、ソフトウェアの国際化には、 ロケールに対応したオペレーティングシステムサー ビスを利用して、正しくローカライズされたテキス トの入力、画面表示、フォーマッティング、および 処理を行うためにコードを記述または変更すること などが含まれます。「ローカリゼーション」も参照。 コンポジット化 別々にレンダリングされた複数の 画像を1つの最終的な画像にオーバーレイする方法。 この方法は、単純なコピーだけでなく、透明度を利用 したより高度な操作も含みます。 サーバ 同一の、または異なるコンピュータ上にあ る別のプロセス(クライアント)にサービスを提供す るプロセス。 サブフ レームワー ク ア ップルイベ ントや Open Transportなどの特定のアップル社のテクノロジーを パッケージングしているパブリックフレームワーク。 さまざまなメカニズムにより、アップル社はデベロッ パがサブフレームワークのインクルード やサブフ レームワークとの直接的なリンクを行えないように しています。「アンブレラフレームワーク」も参照。 システムフレームワーク アップル社によって開発 され、システムソフトウェアのファイルシステム位置 にインストールされているフレームワーク。用 語 集 279  Apple Computer, Inc. February 2001 シンボ リックリン ク UFSフ ァイルシ ステム内 の ファイルやフォルダへの簡易参照。シンボリックリ ンクを使用すると、同一のファイルやフォルダを複 数個作成しなくても、それらの項目を繰り返し参照 できるようになります。シンボリックリンクは脆弱 で、参照先をファイルシステム内の別の場所に移動 すると、リンクは壊れてしまいます。ただし、参照 先のファイルやフォルダの位置が変更される可能性 がない場合は非常に便利です。「エイリアス」も参照。 実行ループ Mac OS Xでイベントモニタを行う基 礎メカニズム。実行ループは、スレッドについて、 ソケット、Machポート、およびパイプなどの入力 ソースを登録します。これらのソースを経由してイ ベントの配信も行います。ソースのほかに、実行ルー プはタイマとオブザーバも登録できます。スレッド ごとに1つだけの実行ループが存在します。 情報プロパティリスト バンドルの必須の設定情 報を含んだプロパティリスト。Info.plistという名前 の(プラットフォームによって使用されるファイル 名が異なることがあります)ファイルが情報プロパ ティリストを含んでおり、このファイルはバンドル 内にパッケージングされます。 スクリプト AppleScriptやPerlなどのスクリプト言 語で記述された一連のステートメントで、アプリケー ションまたはオペレーティングシステムに、さまざま な処理を実行するよう指示します。インタープリタプ ログラムがスクリプトを変換します。 スケジューリング 開始時間の割り当てを含めて、 それぞれのプロセスまたはタスクが実行されるタイ ミングを決定すること。 スプール 後で処理できるようにファイルをキュー に入れて管理するデバイスやプログラム(スプーラま たはデーモンと呼ばれます)にファイルを送信するこ と。プリントスプーラは、プリンタへのジョブの出力 を制御します。プロッタや入力デバイスなど、ほかの デバイスがスプーラを持つこともあります。 スレッド Machでは、CPU使用単位。スレッドは、 プログラムカウンタ、レジスタのセット、およびス タックポインタから構成されます。「タスク」も参照。 スレッドセーフコード 複数のスレッドが同時に使 用しても安全なコード。 セマフォ 複数のプロセスによる同一のカーネルリ ソースの競合が発生しているときに、アクティビティ を調整するためのプログラミングテクニック。通常、 セマフォは、共通のメモリ空間を共有したり、ファイ ルへのアクセスを共有したりするのに使用されます。 セマフォはBSDにおけるプロセス間通信のテクニッ クの1つです。 ソケット (1)BSDから派生したシステムでは、 ソケットという用語はユーザおよびカーネルのオペ レーションに関連するさまざまなエンティティを指 しま す。ユー ザプ ロセ スの場 合、ソケ ット とは、 socket(2)を使って割り当てられたファイルディス クリ プタ のこ とです。また、カーネル の場 合は、 socket(2)呼び出しを実装するときに割り当てられ るデータ構造のことです。 (2)AppleTalkプロトコルでは、ソケットはIPトラン スポートプロトコルの「ポート」と同じ目的に使用 されます。用 語 集 280  Apple Computer, Inc. February 2001 タイマ 特定の間隔でイベントをトリガーするカー ネルリソース。イベントは1回のみ発生させることも、 繰り返し発生させることもできます。タイマは、実行 ループ の入力ソ ースの 1つ です。タイマは、Core FoundationのCFTimerやCocoaのNSTimerなどのよう に、システム内の比較的上位のレベルでも実装されて います。 タスク 仮想アドレス空間とポートのネームスペー スから構成されるMachアブストラクション。タスク そのものは処理を実行しません。タスクはその内部で スレッドが実行されるコンテキストです。「スレッド」 も参照。 ダイナミック共有ライブラリ 並行して実行されて いる複数のプログラムが共有できるコードを含んだ ライブラリ。これらのプログラムは、物理的に1つの ライブラリコードを共有します。自分が使用するため にコードを複製することはありません。ダイナミック 共有ライブラリを使用すると、プログラムは未定義シ ンボルの解決を、実行時、しかも、シンボルがプログ ラム実行中に参照される場合にのみ行います。 ダイナミックリンク プログラムの実行時にダイナ ミックリンクエディタが行うモジュールのバイ ン ド。通常、ダイナミックリンクエディタは、モジュー ルを「レイジー」に(つまり使用時に)プログラム 内にバインドします。したがって、実行時に実際に 使用されないモジュールはプログラム内にバインド されません。 ダイナミックリンクエディタ Mach-O実行可能 フォ ーマ ット のデ ータ を扱 うラ イブ ラリマ ネー ジャ。ダイナミックリンクエディタは、システム上 のすべてのMach-Oプログラム内にあるダイナミッ クライブラリです。「CFM」、「Mach-O」も参照。 抽象型 情報プ ロパティリ ストで、書類のファ ミ リーの一般的な特性を定義します。それぞれの抽象型 には対応する具体型があります。「具体型」も参照。 通知 一般的な意味では、プログラム実行中にある 種のイベントが発生したときに、関係のある通知先 (オブザーバ)に警告を送信するプログラム上のメカ ニズム。ユーザ、他のプロセス、および通知を発行 するプロセス自身のいずれもオブザーバになること が可能です。Mac OS Xでは、「通知」という用語は基 本的意味のバリエーションである特定のメカニズム を指すのに使用されます。カーネル環境では、IPC経 由でカーネル空間からユーザ空間に送信されるメッ セージを特定するのに「通知」という用語が使用さ れます。例としては、デバイスドライバからウイン ドウサーバのイベントキューへ送信されるIPC通知 が挙げられます。分散化された通知では、あるプロ セスが、その通知のオブザーバであると主張するす べての他のプロセスに、警告(および追加データ)を ブロードキャストします。Notification Manager (Carbonマネージャの1つ)は、ユーザの操作を必要 とするバックグラウンドのプログラムが、メニュー バーのアイコンの点滅、サウンド、およびダイアロ グのいずれかの手段でユーザに通知することを可能 にするメカニズムです。 デバイスドライバ デバイスとの間のデータのやり 取りを処理し、同時にそのデバイスを制御するオペ レーティングシステムのコンポーネント。 デマンドページング データのページを、その必要 が生じたときに初めてディスクから物理メモリに移 動させるオペレーティングシステムの機能。用 語 集 281  Apple Computer, Inc. February 2001 ドメイン ソフトウェア、書類、およびリソース用 に予約されているファイルシステム内の領域で、それ らの項目のアクセス可能性を制限します。ドメイン は、ほかのドメインから区分されています。ユーザ、 ローカル、ネットワーク、およびシステムの4つのド メインがあります。 ネットワーク 互いに直接的に情報をやり取りでき るホストのグループ。 バージョン割り当て フレームワークでは、フレー ムワークの後方互換性と前方互換性を実装する方式。 バージョン情報はフレームワークのダイナミック共 有ライブラリに書き込まれ、同時に、フレームワーク の内部構造にも反映されます。「メジャーバージョ ン」、「マイナーバージョン」も参照。 バイトコード 仮想マシンによって処理されるコン ピュータオブジェクトコード。仮想マシンは、一般 化されたマシン用の命令を、特定のマシン用の命令 (コンピュータのプロセッサが理解できる命令)に変 換します。バイトコードは、この手法をサポートす る任意の言語で記述されたソース言語のステートメ ントをコンパイルすることにより得られます。バイ トコードと仮想マシンの手法を使用する言語の う ち、現在最も有名なのはJavaです。Javaでは、バイト コードは.classというサフィックスをファイル名に 付けたバイナリファイルに格納されます(厳密には、 「バイトコード」とは個々の命令が1バイト長である ことを意味します。それ以外のコードには、たとえ ば4バイト長の命令であるPowerPCコードがありま す)。「仮想マシン」も参照。 バッファウインドウ すべての描画のレンダリン グが行われるメモリバッファを含んだウインドウ。 すべてのグラフィックスはまずバッファ内で描画さ れ、そのあとでバッファがフラッシュされて画面に 表示されます。 バンドル 実行可能コードとそのコードに関連する ソフトウェアリソースを格納するファイルシステム 内のディレクトリ。アプリケーション、プラグイン、 およびフレームワークは、それぞれ異なるタイプのバ ンドルです。フレームワークを除くバンドルはファイ ルパッケージで、Finderでは単一のファイルとして表 示されます。 パッ ケー ジ Javaに おいて、関連 するJavaクラス ファイルを格納、組織化、および分類する方式の 1つ。主要な パッケージには、たとえばjava.utilや com.apple.cocoa.foundationがあります。「アプリ ケーションパッケージング」も参照。 非保持ウインドウ 画面ピクセル値を保持するオフ スクリーンバッファを持たないウインドウ。 ビット深度 ピクセルのカラーなどを記述するのに 使用されるビット数。2進数であるビットを1桁増やす ごとに、表現可能な数は2倍になります。 ビットマップ ピクセルの集合の位置と状態を表現 するデータ構造。 ピクセル コンピュータディスプレイに表示される プログラム可能な色、またはコンピュータ画像に含ま れるプログラム可能な色の基本的な論理単位。ピクセ ルの物理サイズはディスプレイの解像度によって変 わります。 ファイアウォール ネットワーク外部のユーザによ る、ネットワークへの認証されていないアクセスを防 ぐソフトウェア(またはそのようなソフトウェアを実 行するコンピュータ)。本来のファイアウォール(防 火壁)は2つの物理的空間を仕切ることで火災が広が るのを防ぎますが、ソフトウェアのファイアウォール は認証されていないデータがネットワーク上に広が るのを防ぎます。用 語 集 282  Apple Computer, Inc. February 2001 ファイルシステム カーネル環境の一部で、マウン トされている特定のボリュームフォーマットの記憶 デバイスにおけるデータの読み書きを管理します。 ファイルの格納と取り出しに使用される論理構造を 指す場合もあります。ファイルシステムは、ファイル の命名規則、ファイル中のデータ格納方式、および ファイルの位置指定の方式を指定します。「ボリュー ムフォーマット」も参照。 ファイルパッケージ Finderがあたかも1つのファイ ルであるかのようにユーザに提示するフォルダ。つま りFinderは、ユーザにフォルダの内容が見えないよう にします。このようにフォルダの内容を見えにくくす ることで、ユーザが誤って(あるいは意図的に)バン ドルの内容を変更できないようにします。 フォーク (1)一般的なファイル名によって個別に 開いたりアクセスしたりできるデータのストリ ー ム。Mac OS標準ファイルシステムおよびMac OS拡張 ファイルシステムでは、すべてのファイルにおいて、 データフォークとリソースフォークが別々に格納さ れています。それぞれのフォークに含まれるデータ は、もう一方のフォークのデータに関係なくアクセ スおよび操作可能です。 (2)BSDでは、新しいプロセスを作成するシステム コールをフォークと呼びます。 フォールト 仮想メモリシステムにおける、ページ インアクティビティを開始するためのメカニズム。 物理メモリにマップされていない仮想アドレスにあ るデータへのアクセスが試みられた場合に発生する 割り込みです。ソフトフォールトは、参照されたペー ジが物理メモリにあるが、マップされていない場合 に発生します。ハードフォールト(ページフォール ト)は、ページがバッキングストアにスワップアウ トされている場合に発生します。「ページ」、「仮想メ モリ」も参照。 フレームバッファ ビデオRAM(ランダムアクセス メモリ)内のアクセス性の高い部分。画像を画面上に 表示するデバイスに送信するデータを、絶えず更新お よびリフレッシュしています。 フレームワーク ダイナ ミック共有ライブラリ を パッケージングしているバンドルのタイプ。この中に は、ヘッダファイルやリファレンスマニュアルなど の、ライブラリが必要とするリソースも含まれます。 物理アドレス メモリチップなどのハードウェアデ バイスが直接的に応答できるアドレス。Machカーネ ルなどのプログラムは仮想アドレスを使用しており、 このアドレスが、Machカーネルによって制御される ハードウェアをマップすることで物理アドレスに変 換されます。 物理メモリ RAM(ランダムアクセスメモリ)チッ プを含む電子回路。実行時に一時的に情報を保持する のに使用されます。あるプロセスの仮想メモリにある アドレスは、物理メモリのアドレスにマップされてい ます。「仮想メモリ」も参照。 プラグイン ホスト(アプリケーション、オペレー ティングシステム、ほかのプラグインなど)から分離 された外部モジュールで、コードまたはデータを含 み、ホストにより定義されたインタフェースに準拠す ることによって、ホストのソースコードにアクセスす ることなく、ホストに機能を追加します。プラグイン はロード可能バンドルの一種で、Core Foundationの プラグインサービスを使用して実装されています。 プリエンプション 別のタスクにCPU時間を与える ために現在実行中のタスクに割り込みをかけること。 プリエンプティブマルチタスキング 別のタスクを 実行するために、オペレーティングシステムが現在実 行中のタスクに必要に応じて割り込みをかけること ができるマルチタスキングのタイプ。「協調的マルチ タスキング」も参照。用 語 集 283  Apple Computer, Inc. February 2001 プロセス 実行中のプログラムを表すBSDアブスト ラクション。プロセスのリソースには、仮想アドレス 空間、スレッド、およびファイルディスクリプタが含 まれます。Mac OS Xでは、プロセスは1つのMachタス クと1つまたは複数のMachスレッドにもとづいてい ます。 プロセス間通信(IPC) プロセス間でのデータまた は情報のやり取りを可能にするプログラミングイン タフェースのセット。IPCのメカニズムは、カーネル にあるMachメッセージングから、アプリケーション 環境にある分散化された通知とアップルイベントま で、システム内のさまざまなレイヤに散在していま す。それぞれのIPCメカニズムには、独自の利点と制 限があるため、1つのプログラムで複数のIPCメカニズ ムが使用されることも珍しくありません。このほかに も、パイプ、名前付きパイプ、シグナル、メッセージ キュー、セマフォ、共有メモリ、ソケット、クリップ ボード、アプリケーションサービスなどのIPCメカニ ズムがあります。 プロパティリスト 構造化の手段としてXML (Extensible Markup Language)を使用するデータの構 造化されたテキスト表現。プロパティリストの要素 は、配列、辞書、または文字列などの特定のデータ型 のデータを表現します。 変形 座標系に変更を加えて、新しい座標系を定義 すること。標準的な変形には、回転、拡大縮小、変換 などがあります。変形は行列によって表現されます。 ベクタグラフィックス 2次元ま たは3次元の空間 に線や図形を配置する一連のコマンドまたは数式を 使用してデジタル画像を作成すること。ビットマッ プグラフィックス(ラスタグラフィックス)との比 較でのベクタグラフィックスの利点は、画像内のど の要素も、いつでも変更可能であることです。これ は、各要素が独立したオブジェクトとして格納され ているためです。ベクタグラフィックのもう1つの利 点は、同一の画像を含む画像ファイルのサイズが、 通常、ビットマップファイルよりも小さいことです。 ベク タ画像を 使用した ファイル タイプの 例には、 PDFやEPS(encapsulated PostScript)があり ます。 「ラスタグラフィックス」も参照。 ページ 仮想メモリシステムが物理メモリとバッキ ングストアとの間でやり取りする情報の最小単位。 単位はバイトです。文字通り、物理メモリとバッキ ングストアとの間でページをやり取りすることを指 します。 ペーストボード クリップボードの別名。 保持ウインドウ 画面ピクセル値を保持するオフス クリーンバッファを持つウインドウ。ウインドウ内 の、表示されるオンスクリーン以外のすべての部分で は、それに対応する画像がバッファ内にレンダリング されます。 ホスト 特定のプログラムを実行している(特定の プログラムのホストとなっている)コンピュータ。 この用語は通常、ネットワーク上のコンピュータを 指すために使用されます。 ボリューム 特定のファイルシステムのフォルダや ファイルを含むようにフォーマットされた記憶デバ イス、またはそのデバイスの一部分。たとえば、1台 のハードディスクを複数のボリュームに分割するこ とができます。パーティションとも呼ばれます。用 語 集 284  Apple Computer, Inc. February 2001 ボリュームフォーマット ハードディスク、 CD-ROM、またはコンピュータシステムにマウント されているその他のボリューム上にあるファイルや フォルダ(ディレクトリ)の情報の構造。ボリュー ムフォ ーマット は、マルチ フォーク(HFSおよび HFS+)、シンボリックリンクまたはハードリンク (UFS)、ファイル名の大文字と小文字を区別するか どうか、ファイル名の最大長などを指定することが できます。「ファイルシステム」も参照。 ポート (1)Machでは、単一のシステム上で実行さ れているタスク間の通信に使用される、セキュリティ が確保された一方向チャネル。(2)IPトランスポート プロトコルでは、着信パケットの受信先を選択した り、送信パケットの送信元を特定するために使用され る整数の識別子。 マイナーバージョン メジャーバージョンが同一で ビルドがより新しいフレームワークにリンクされて いるプログラムと互換性のあるフレームワークを示 す、フレームワークのバージョン識別子。 マネージャ Carbonでプログラミングインタフェー スを定義する単一のライブラリ、または関連ライブラ リ群。 マルチキャスト 単一のネットワークパケットを、 複数の受信者を宛先として送信するプロセス。マルチ キャストは、たとえば、何メガバイトものデータが ネットワークを介して送信されるストリーミングビ デオなどで使用されます。 マルチタスキング 複数のプログラムを並行して実 行すること。Mac OS Xはプリエンプティブマルチタ スキングを使用します。Mac OS 8および9は協調的マ ルチタスキングを使用します。 マル チホーミ ング 1台の コンピ ュータ に複数 の ネットワークアドレスを割り当てる機能。たとえば、 マルチホーミングを使って、1つのアドレスをファイ アウォールの外部にあるホストとの通信に使用し、 もう1つのアドレスをファイアウォールの内部にあ るホストとの通信に使用するシステムを構築するこ とができます。このとき、オペレーティングシステ ムは2つのアドレス間で情報のやり取りを行う機能 を提供します。 メインスレッド デフォルトで、プロセスにはメイ ンスレッドと呼ばれる1つのスレッドがあります。 プロセスが複数のスレッドを持つ場合、プロセス内 の先頭のスレッドがメインスレッドです。ユーザプ ロセスはPOSIXスレッディングAPI(Pthread)を使っ て、他のユーザスレッドを作成することができます。 メジャーバージョン フレームワークのダイナミッ ク共有ライブラリの以前のバージョンにリンクされ ているプログラムと非互換のフレームワークを指定 するフレームワークのバーション識別子。 メソッド オブジェクト指向プログラミングにおい て、オブジェクトが実行可能なプロシージャ。 メモリ保護 プログラムが別のプログラムのメモリ パーティションを変更したり壊したりできないよう にするメモリ管理のシステム。Mac OS 8と9にはメモ リ保護はありません。Mac OS Xにはメモリ保護があ ります。 メモリマップファイル 内容がメモリにマップされ ている ファイル。仮想メモ リシステムが、ペー ジ フォールトに応じて内容の一部をファイルから物理 メモリに転送します。これにより、ディスクファイル は、物理メモリですぐに必要にならないコードまたは データのバッキングストアとして機能します。用 語 集 285  Apple Computer, Inc. February 2001 役割 アプリケーションと書類のタイプとの関係を 表す識別子。役割には、エディタ(読み込みと変更)、 ビューア(読み込みのみ)、プリンタ(印刷のみ)、 シェル(ランタイムサービスを提供する)、および、 なし(タイプに関する情報を宣言する)という5つの 役割が存在します。書類の役割は、アプリケーショ ンの情報プロパティリストの中で指定します。 ラスタグラフィックス 特定の空間の標本の集合 として作成または キャプチャ(たとえば写真のス キャニングによって)されるデジタル画像。ラスタ とは、表示空間上のx軸座標(水平)とy軸座標(垂 直)で形成されるグリッドです(3D画像にはz軸も あります)。ラスタ画像は、モノクロームまたはカ ラーの値を識別して、各座標の明るさを決定します。 ラスタ画像は、表示グリッドに直接マップされる情 報を含むため、ビットマップと呼ばれることがあり ます。通常、情報の損失を伴わずにラスタ画像を編 集することは困難です。ラスタ画像ファイルの例に は、BMP、TIFF、GIF、およびJPEGなどのファイル があります。「ベクタグラフィックス」も参照。 ランタイム(実行時) プログラムが実行される期 間。コンパイル時やロード時との対比で使用されま す。ランタイム環境を指すこともあります。ランタイ ム環境は、ソフトウェアから実行可能コードを生成す る方法、コードをメモリにマップする方法、および関 数が相互に呼び出しを行う方法を調停す る規則の セットを指定します。 リアルタイム オペレーティングシステムに関連す る用語で、指定された時間内に特定の機能が実行され ることを保証し、タイミングが重要な動作を予定通り に確実に実現すること。ユーザがイベントの定義また は起動を行ったときに、そのイベントが即座に発生す る場合、コンピュータはリアルタイムに動作している と言われます。リアルタイムサポートは、特にマルチ メディアアプリケーションで重要になります。 リエントラント 相次いで発生する複数のサービス 要求をコードがほぼ同時に処理する能力。たとえば、 リエントラントな関数では、いくつかの呼び出しを それぞれシリアルに受信および実行しているように 見えても、実際には、ある呼び出しに応答を開始し、 ほかの呼び出しにより割り込みをかけられ、同一の 結果を与えてすべての呼び出しを完了するという順 序で動作していることがありえます。 リソース 実行可能コード、特にアプリケーション によって使用されるすべてのもの。リソースには、画 像、サウンド、アイコン、ローカライズされた文字 列、アーカイブされたユーザインタフェースオブジェ クト、およびその他のさまざまなものが含まれます。 Mac OS Xでは、Resource Managerスタイルのリソー スと「ファイルごと」のリソースの両方がサポートさ れています。ローカライズされたリソースとローカラ イズされないリソースは、バンドル内の特定の位置に 置かれます。 例外 プログラムの実行中に、エラーやその他の特 殊条件が検出された場合に発生する、通常のプログ ラム制御フローの中断。例外が発生すると、例外を 発生させたコードから別のコード、通常は例外ハン ドラと呼ばれるルーチンに制御が渡されます。 ローカリゼーション オリジナル製品が開発された 国や地域に加えて、世界のその他の国や地域で使用 するために、オンラインヘルプやマニュアルを含む ソフトウェア製品を適合させること。ソフトウェア のローカリゼーションには、ユーザインタフェース テキストの翻訳、テキストに関連したグラフィック 要素のリサイズ、ユーザインタフェースの画像やサ ウンドの変更または修正などが含まれます。「国際 化」も参照。用 語 集 286  Apple Computer, Inc. February 2001 ロック 共有リソースへのアクセスを同期化するの に使用するデータ構造。ロックが使用される最も一般 的な場合は、マルチスレッドプログラムで、複数のス レッドがグローバルデータにアクセスする必要があ るときです。同時には1つのスレッドのみがロックを 保持でき、そのスレッドのみが、ロックを保持してい る間に限り、データを変更できます。287  Apple Computer, Inc. February 2001 索引 記号 #importディレクティブ 149 #includeディレクティブ 149–153 #pragma コマンド 152 %@指定子 218 「 ._」プレフィックス 186 .plist拡張子 203 /etc/rc.boot スクリプト 85 /etc/rcスクリプト 85 n$修飾子 218 /System/Library 248 /System/Library/Frameworks 147 @ 記号 151 数字 68K コード 57 A Abstract Windowing Toolkit(AWT) 61 AFP(Apple File Protocol) 36, 244 AirMac 48 Apache HTTPサーバ 46, 89 AppKit.framework 58 Apple File Protocol(AFP) 36, 244 Apple Help 127 AppleLanguages キー 209 AppleScript 30, 263 AppleTalk 45 Apple Type Solution(ATS) 255 Apple Type Solutionサーバ 93 Application Kit 58 .app拡張子 185 Aqua Human Interface Guidelines 233 Aquaヒューマンインタフェース 23–42, 180 ATS(Apple Type Solution) 42, 255 ATSUI 177 AWT(Abstract Windowing Toolkit) 61 B .bomファイル 251 BootROM 84 BootX booter 84 BSDアクセス権 235–237 BSDオペレーティングシステム 33, 54 BSDコマンド環境 52, 55 BSDシグナル 265 BSDソケット 264 BSDのパイプ 264 BSDプロセス 257 「プロセス間通信」も参照 C Carbon Event Manager 81, 73 CarbonLib SDK 269 Carbon Process Manager(CPM) 257 Carbon環境 56–58 CFM ベースのコード 269–271 nib ファイル 234 イベント処理 82 起動サービスキー 201 紹介 52 ドキュメント Webサイト 58索 引 288  Apple Computer, Inc. February 2001 Carbonグラフィックポートプリミティブ(GrafPort) 267 CFBundle 211, 217 CFCopyLocalizedString マクロ 219, 220 CFM(Code Fragment Manager) 267–271 CFMessagePort 263 CFM 実行可能ファイル 201, 230–232 CFNotificationCenter 263 CFPlugInオブジェクト 270 CFRunLoop 264 CFSocket 264 CFStringオブジェクト 220 CFURL クラス 78, 221 Classic環境 240–247 Finder 180, 245–246 Mac OS X の統合 243 「Quit All」アップルイベントと~ 95 印刷 246 インストール 160 環境設定 245 クリップボード 247 サポートするファイルシステム 244 システム機能拡張 245 紹介 51 ディレクトリ 160 デバイスのサポート 242 ネイティブの Mac OS 9 との互換性 241 ネットワーキング 246 ユーザの操作感と~ 26 起動サービスキー 201 Cocoa.framework 59 Cocoa 環境 58–59 イベント処理 82 紹介 52 Code Fragment Manager(CFM) 267–271 ColorSync 38 Core Foundation 77–79 CoreFoundation.framework 77 Core Foundation URLサービス 78 Core Foundation環境設定サービス 79 Core Foundation実行ループサービス 79 Core Foundation通知サービス 79 Core Foundationのコレクションサービス 78 Core Foundationのバンドルサービス 78, 118 Core Foundationのベースサービス 78 Core Foundationフレームワーク 77 Core Foundationプラグインサービス 78, 270 Core Foundationプロパティリストサービス 78 Core Foundation文字列サービス 78, 220 Core Foundationユーティリティサービス 79 Core Graphics Rendering 38, 63, 65–77 Core Graphics Services 38, 63, 65 CoreServices.framework 147, 74 Currentディレクトリ 152 D DARPA プロトコル 93 Darwin 31–36 defaults ユーティリティ 205 Desktop Printer Utility 247 Desktop フォルダ 183 Developerディレクトリ 168–169 Dock 24, 91 dyld(ダイナミックリンクエディタ) 137, 230, 267–271 .dylib拡張子 136 E Ethernet 43索 引 289  Apple Computer, Inc. February 2001 F FIFO(First In, First Out)スペシャルファイル 264 File Reference Inspector 213 fileSystemRepresentationメソッド 177 Finder 24–25, 179–187 Classic環境 180, 245–246 格納する情報 182–184 キー 197–199 起動 89 書類の取り扱い 184, 228 情報プロパティリスト 197–199 バンドル 110, 119 ファイル操作 186–187 ファイル属性とフォルダ属性 183 Finder Info 183 Finderでの移動操作 186 Finderでのコピー操作 186 FireWire 47 Foundation.framework 58 Frameworksディレクトリ 111, 122, 152 .framework 拡張子 131, 133 fsck スクリプト 86 G genstrings関数 219 genstringsコマンドラインユーティリティ 214, 219 gettyコマンド 85 GOT 269 Grab アプリケーション 233 H HFS(Mac OS標準フォーマット) 35, 176, 180, 187 HFS+(Mac OS拡張フォーマット) 35, 176, 180, 187 Hotspot Java仮想マシン 60 Human Interface Guidelines 233 I Icon Composerアプリケーション 233 IDE(Integrated Development Environment:統合開 発環境) 215 IEEE 1394標準 47 Info.plist ファイル 106, 190–195 InfoPlist.stringsファイル 107, 191 initプロセス 91 Installerアプリケーション 250 In -sコマンド 187 Interface Builder 215 I/O Kit 33, 54 IPエイリアシング 45 ISO(Internationalization Standards Organization:国 際標準化機構) 211 ISO 3166 114, 211 ISO 639 114, 211 ISO 9660 35 J java.lang.Thread クラス 260 Java仮想マシン(JVM) 60, 230 Java環境 60–62 イベント処理 82 紹介 52 JDirect 60 JIT(Just-in-time)バイトコードコンパイラ 60 JNI(Java Native Interface) 60 Job Manager 70 K kextd デーモン 86, 93 killコマンドラインユーティリティ 265索 引 290  Apple Computer, Inc. February 2001 L Libraryディレクトリ 166–168 Localizable.stringsファイル 219 loginwindow アプリケーション 99–101 .login ファイル 91 lookupdデーモン 90 .lprojディレクトリ 210, 215 nib ファイル 215 検索 210 バンドル内での位置 109 命名方式の標準 113 LSBackgroundOnly起動サービスキー 201 LSRequireCarbon 起動サービスキー 201 LSRequireClassic起動サービスキー 201 M Mach 31–32, 54 Mach-O 230, 268 Machスレッド 259 Machタスク 257 Machポートオブジェクト 266 Machポートのアクセス権 267 Machメッセージング 85, 93, 267 Mac OS拡張フォーマット(HFS+) 35, 176, 180, 187 Mac OS標準フォーマット(HFS) 35, 176, 180, 187 MacRomanエンコーディング 176, 221 Memory Manager 56, 76 MLTE(Multilingual Text Engine) 221 N NetInfo 28 NetInfo Kit 239 NetInfo Managerアプリケーション 238 NFS(Network File System) 36 nib ファイル 215, 234 NKE(Network Kernel Extensions) 33, 54 NSBundleクラス 211, 217 NSDistributedNotificationCenter 263 NSFileManagerクラス 221 NSLocalizedStringマクロ 219 NSPasteboard 262 NSRegistrationDomain定数 91 NSTaskクラス 258 NSThreadクラス 260 O Objective-C 266 Open Firmware 84 OpenGL 39 Open Transport 45, 79 P Package Makerアプリケーション 250, 254 .paxアーカイブファイル 251 pbs デーモン「ペーストボードサーバ」を参照 PDF(Portable Document Format) 37, 41, 66 PEF(Preferred Executable Format) 230, 268 Pixieアプリケーション 233 PkgInfo ファイル 107 POSIXコール 264 POSIXスレッド 259 POSIXセマフォ「セマフォ」を参照 PostScript印刷 41 Power On Self Test(POST) 84 Print Centerアプリケーション 41, 68, 70 Print Job Creator(PJC) 70 PrivateHeaders ディレクトリ 152 Process Manager 72 Process Viewer 92 Project Builder 213 Property List Editorアプリケーション 99, 203, 232 Pthread「POSIXスレッド」を参照索 引 291  Apple Computer, Inc. February 2001 Q Quartz 37–39, 63–64 Queue Manager 70 QuickDraw 39, 177 QuickTime 40, 53 「Quit All」アップルイベント 95 R rc.bootスクリプト 86 rcスクリプト 86 Read Meファイル 252 Resource Manager 76, 109, 227 Resources ディレクトリ 210, 253 RPC(Remote Procedure Call) 93 RTP(Real-Time Transport Protocol) 40 RTSP(Real-Time Streaming Protocol) 40 S SharedFrameworksディレクトリ 111, 122 SharedSupport ディレクトリ 124 Sherlock 2 31 StartupParameters.plist 87, 98 stderr 90 .strings拡張子 115, 216 strings ファイル 214–219 Swingパッケージ 61 sync スクリプト 86 SystemStarterプログラム 85, 97, 98 T Terminalアプリケーション 205 Text Encoding Conversion Manager 76 Thread Manager 76, 260 Time Manager 76 TOC 269 ttysファイル 101 TVector 269 U UDF(Universal Disk Format) 35 UFS(UNIX File System) 35, 176 umask定数 91 Unicode 176, 209, 220 Unicodeユーティリティ 76 URLサービス 78, 221 USB(Universal Serial Bus) 46 UTF-16エンコーディング 176 UTF8Stringメソッド 177 UTF-8エンコーディング 176, 177 V Velocity Engine 38, 47 Versionsディレクトリ 152 VFS(Virtual File System) 34, 53, 55 W Window Manager ポート 241 WindowServer 101 X XML(Extensible Markup Language) 189 XMLパーサ 79索 引 292  Apple Computer, Inc. February 2001 あ アイコン Aquaの~ 24 Finder属性 183 作成 233 識別できないファイルのデフォルト 228 情報プロパティリスト 181 アットマーク(@) 151 アップルイベント 73, 262–263 アプリケーション FAQ 224–229 Finder 184 アクセス権 239 アプリケーション間通信 262 インストールする 247–255 エクスポートされたサービス 30 拡張性 29 環境設定 128 共有コード 121–125 国際化 208–221 サービス 266 実行可能ファイルのフォーマット 230 情報の収集 182 統合の問題点 223–247 バックグラウンドのみ 201 バンドル 224 バンドル形式 120 パッケージキー 200 パッケージング 119–129 フレームワーク 121–125 プラグイン 125 ヘルプファイル 127 メタデータ 224 ユーザインタフェースの問題点 233–235 リソース 127–129, 225 ロード可能バンドル 125 アプリケーション環境 55–62 次の項目も参照 BSDコマンド環境 Carbon環境 Cocoa 環境 Java環境 Finder 179 システムアーキテクチャのレイヤ 49 ユーザの操作感 26 次の項目も参照 Classic環境 アプリケーションサービス 49, 52, 62–74 「アプリケーションの強制終了」ウインドウ 89 アンチエイリアシング 37 アンブレラフレームワーク 145–153 構造 151–152 紹介 55 目的 147 リンク 149–150 い イベント処理 80–82 印刷関連ダイアログ機能拡張 70 印刷システム 41, 67–72, 246 印刷スプーリング 41 印刷データのコンバータ 70 印刷プレビュー 41 印刷用 I/O モジュール 70 インストーラ 249–254 インストーラアプリケーション 160 インストールのパーティション 160 インストールパッケージ 251–255 インターネットアドレスポート番号 267 インターネットサポート 42索 引 293  Apple Computer, Inc. February 2001 う ウインドウサーバ 64–65, 93, 201 ウインドウの構成 65 え エイリアス 172–173, 187 「シンボリックリンク」も参照 お オープンソース 36 か カーネル環境 50, 53–55 カーネルの初期化 85 カスタムコントロール 234 仮想メモリ 32, 53, 93 環境設定アプリケーション「システム環境設定アプリ ケーション」を参照 環境設定サービス 79 環境設定システム 202–205 Classic環境 245 アプリケーションが使用する~ 128 キーと値のペア 202 言語 209–211 ロケール 211 環境設定ドメイン 204 管理者 238 き 起動項目 86–88, 97–99 起動サービスキー 201 起動処理 83–89, 97 「起動ディスク」コントロールパネル 160 共有アプリケーションコード 124 「フレームワーク」を参照 共有フレームワーク 123 共有メモリ 265 データ破損 265 共有ライブラリ 136–139 「ダイナミック共有ライブラリ」参照 く クリエータコード 183, 184–185 クリップボード 「ペーストボードサーバ」も参照 Classic環境 247 紹介 74 プロセス間通信 266 グラフィックスとイメージング 37–42, 62–67 け 言語環境設定 209–211 こ コアサービス 49, 53, 74–79 コアサービスにある Carbon マネージャ 75–76 コアサービスフレームワーク 74, 147 項目のリストファイル「.bomファイル」を参照 国際化 28, 207–221 国際標準化機構(Internationalization Standards Organization:ISO) 211 コレクションサービス 78 さ 「サービス」メニュー 266 サービスメニュー 30 サブフレームワーク 147, 151–152索 引 294  Apple Computer, Inc. February 2001 し シグナルハンドラルーチン 265 システムアピアランス 234 システム環境設定アプリケーション 93, 160 Classicペイン 160 システム管理者 238 システム機能拡張 245 システム終了 95–97 システム全体のリソース 255 システムデーモン 92–94 システムドメイン 157, 159 システムの初期化 85 システムフレームワーク 139, 239, 259 書類 FAQ 224–229 Finder 184 アクセス権 239 アプリケーションの役割と~ 192 タイプ 227 抽象型 191 リソース 129 シンボリックリンク 172–173 Finderが認識する~ 187 フレームワーク 133, 151 実行可能フォーマット 267–271 実行ループサービス 79 情報プロパティリスト 118, 181, 190–201 情報プロパティリストの標準キー 195–201 「情報を見る」コマンド 199 ジョブチケット 70 す スーパーユーザ 236, 238 スレッディングパッケージ 258–260 せ 正規形のテキストエンコーディング 177 設定アシスタント 89, 238 セマフォ 265 そ ソフトウェアの設定 189–205 た 対称マルチプロセッシング 53, 258 タイプコード 183, 184–185 タスク 257 ダイナミック共有ライブラリ 132 ダイナミックページャ 86, 93 ダイナミックリンク 113, 136 ダイナミックリンクエディタ(dyld) 137, 230, 267–271 ち 中央ディレクトリ 123 つ 通知サービス 79, 263 て テキストユーティリティ 76 デバイスドライバ 33, 54 デバイスドライバローダ 93索 引 295  Apple Computer, Inc. February 2001 と 統合開発環境(IDE:Integrated Development Environment) 215 ドラッグ&ドロップによるアプリケーションのインス トール 248 ね ネットワーキング 42–46, 54 ネットワーキング機能拡張 33 ネットワークソケット 264 ネットワークドメイン 157, 165 ネットワークのルーティング 45 ネットワークファイルプロトコルのサポート 36 ネットワークプロトコル 44 は バージョン付きバンドル 105, 111, 132 「フレームワーク」も参照 バンドル 103–118 Finder 110, 119 アプリケーション 111, 112, 224 構造 105–110 国際化 209 タイプ 111 フレームワーク 112, 113 ロード可能 112, 113, 129 バンドル化されたリソース 209 バンドルサービス Core Foundation 78, 118 strings ファイル 214 言語環境設定 209 紹介 78 リソース 118 バンドルビット 133, 183, 184 パーソナル Web共有 46 パブリックフレームワーク 146 パレット 112 ひ 標準エラー出力 90 ビデオフレームバッファ 38 ふ ファイルエンコーディング 176 ファイルシステム 34–36, 155–176 Classic環境 244 カーネル環境 55 ドメイン 157–170 ファイルソケット 264 ファイルのアクセス権 235–238 ファイルパッケージ 110 ファイル名拡張子 225 ファイルやフォルダのアクセス権 235–239 ファイルやフォルダのオーナーシップ 235–239 フォント 176 フレームワーク 131–144 「アンブレラフレームワーク」も参照 インストールする 248 共有 123 構造 133–135 バージョン 139–144 バンドル形式 104 パブリック 146 プライベート 122, 146 ライブラリパッケージ 132 ブートストラップポートサーバ 85, 91, 93 分散オブジェクト 266 分散化された通知 263 プライベートフレームワーク 122, 146索 引 296  Apple Computer, Inc. February 2001 プラグイン ディレクトリ位置 126 メタデータ 228 利点 29 ロード可能バンドル 112, 125 プラグインサービス 78 プリエンプティブスレッディング 258 プリエンプティブマルチタスキング 28, 53 プリンタの発見 71 プリンタブラウザモジュール(PBM) 70 プリンタモジュール 70 プロセス 257 プロセス間通信 261–267 BSDシグナル 265 BSDソケット 264 BSDのパイプ 264 CFMessagePort 263 Machポートオブジェクト 266 アップルイベント 262 アプリケーションサービス 266 概要 261 処理の例外 265 分散オブジェクト 266 分散化された通知 263 リソースの共有 265 プロパティリスト 87, 97, 189–190 プロパティリストサービス 78 へ ヘッダファイル 132, 149–150 ヘルプビューア 127 ベースサービス 78 ベクタライブラリ 269 ペーストボード「クリップボード」を参照 ペーストボードサーバ 90, 94 ほ ポートアクセス権「Machポートのアクセス権」を 参照 ま マルチスクリプトサポート 207, 220–221 マルチスレッディング 258, 260 マルチタスク 28, 53 マルチプロセッシング 53, 258, 260 マルチプロセッシングサービス 76, 258 マルチホーミング 45 マルチユーザ環境 27–28 め メインバンドル 112 メタパッケージ 255 メッセージング 「分散オブジェクト」を参照 メモリ Carbon 56 仮想「仮想メモリ」を参照 共有 265 保護 32, 257 も 文字列サービス 78, 220 文字列ファイル 115索 引 297  Apple Computer, Inc. February 2001 ゆ ユーザアプリケーション 238 ユーザインタフェース Classic環境 243–244 統合の問題点 233 ローカライズ 215 ユーザドメイン 157, 161–164 ユーザの認証 90 ユーティリティサービス 79 ら ライセンスファイル 252 ライブラリマネージャ 267–270 ラスタプリンタ 41 ランタイム環境 267–271 り リソース アプリケーションの外部 127–129 インストール時に使用される 253 システム全体 255 バンドル構造と~ 105, 109 ローカライズ「ローカライズされたリソース」を参 照 ローカライズされない 135, 226 リソースの格納 データフォーク 173, 225 リソースフォーク 110, 173–176, 225 る ルートユーザ 236, 238 れ レイジーリンク 137 ろ ローカライズ 文字列 115, 216 ローカライズされたリソース 114–115 格納 226 国際化 210 作成ツール 214 バンドル内での位置 109, 226 ローカライズされないリソース 135, 226 ローカリゼーション 紹介 207 ツール 213–214 文字列 115, 216–218 ユーザインタフェース 215–219 ローカルドメイン 157, 158–160 ロード可能 112, 113 ロード可能バンドル 125 ログアウト 95–97 ログイン手順 89–94, 99–101 ロケール環境設定 211 わ ワイヤレス通信 48索 引 298  Apple Computer, Inc. February 2001 Mac Pro Guide de l’utilisateur Contient des informations sur la configuration, l’extension et le dépannage de votre Mac Pro Apple Inc. © 2007 Apple Inc. Tous droits réservés. En application des lois et conventions en vigueur, aucune reproduction totale ni partielle du manuel n’est autorisée, sauf consentement écrit préalable d’Apple. Le logo Apple est une marque d’Apple, Inc., déposée aux États-Unis et dans d’autres pays. En l’absence du consentement écrit d’Apple, l’utilisation à des fins commerciales de ce logo via le clavier (Option (z) + 1) pourra constituer un acte de contrefaçon et/ou de concurrence déloyale. Tout a été mis en œuvre pour que les informations présentées dans ce manuel soient exactes. Apple n’est pas responsable des erreurs de reproduction ou d’impression. Apple 1 Infinite Loop Cupertino, CA 95014-2084 408-996-1010 www.apple.com Apple, le logo Apple, AirPort, AppleShare, AppleTalk, FireWire, iCal, iLife, iPod, iTunes, Mac, Mac OS et Macintosh sont des marques d’Apple, Inc., déposées aux États-Unis et dans d’autres pays. Finder, le logo FireWire, Safari et SuperDrive sont des marques d’Apple, Inc. AppleCare et Apple Store sont des marques de service d’Apple, Inc. déposées aux États-Unis et dans d’autres pays. Mighty Mouse © Viacom International Inc. Tous droits réservés. La marque Mighty Mouse est utilisée sous licence. La marque et les logos Bluetooth sont la propriété de Bluetooth SIG, Inc. et sont utilisés sous licence par Apple, Inc. Ce produit inclut des logiciels développés par l’Université de Californie, Berkeley et ses collaborateurs. Intel et Intel Xeon sont des marques d’Intel Corp. aux États-Unis et dans d’autres pays. Les autres noms de produits et de sociétés sont la propriété de leurs détenteurs respectifs. Les produits commercialisés par des entreprises tierces ne sont mentionnés que pour information, sans aucune intention de préconisation ni de recommandation. Apple décline toute responsabilité quant à l’utilisation et au fonctionnement de ces produits. Fabriqué sous licence de Dolby Laboratories. « Dolby », « Pro Logic » et le logo double-D sont des marques déposées de Dolby Laboratories. Travaux confidentiels inédits. © 1992–1997 Dolby Laboratories, Inc. Tous droits réservés. Le produit décrit dans le présent manuel intègre des technologies de protection de droits d’auteur elles-mêmes protégées par divers brevets américains ainsi que d’autres droits de propriété intellectuelle appartenant à Macrovision Corporation et à d’autres détenteurs. L’utilisation de ces technologies de protection des droits d’auteurs doit être autorisée par Macrovision Corporation et est destinée à un cadre privé ou de visualisation restreinte, sauf consentement de Macrovision Corporation. Tout démontage ou ingénierie inverse est interdit. Réclamations concernant l’appareillage aux États-Unis. Brevets n˚ 4 631 603, 4 577 216, 4 819 098 et 4 907 093 sous licence à des fins de visualisation limitée uniquement. Publié simultanément aux États-Unis et au Canada.3 Table des matières 5 Chapitre 1 :Premiers contacts 5 Configuration de votre Mac Pro 14 Extinction ou suspension d’activité de votre Mac Pro 17 Chapitre 2 :Familiarisation avec votre Mac Pro 18 Éléments principaux se trouvant à l’avant de votre Mac Pro 20 Ports et connecteurs situés à l’arrière de votre Mac Pro 22 Autres ports et connecteurs à l’arrière 24 Options d’extension interne 26 Obtenir des réponses 29 Chapitre 3 :Interventions à l’intérieur de l’ordinateur 30 Ouverture de l’ordinateur 34 Installation de la mémoire 41 Installation d’unités de stockage internes 50 Ajout de cartes PCI Express 55 Remplacement de la pile de secours interne 57 Chapitre 4 :Dépannage 57 Problèmes du Mac Pro4 Table des matières 60 Problèmes liés au logiciel 61 Maintien à jour de vos logiciels 62 Problèmes de communication sans fil AirPort Wireless 62 Problèmes de moniteur 65 Problèmes de connexion à Internet 68 Utilisation d’Apple Hardware Test 69 Réinstallation des logiciels fournis avec votre ordinateur 70 Optimisation des performances Ethernet 71 En savoir plus, service et assistance technique 73 Localisation du numéro de série 75 Annexe A :Caractéristiques 83 Annexe B :Environnement de travail, sécurité et entretien 83 Consignes de sécurité importantes 84 Entretien général 86 Informations importantes sur l’organisation de l’espace de travail et la santé 89 Prévention des dommages auditifs 91 Regulatory Compliance Information 94 Apple et l’environnement1 5 1 Premiers contacts Félicitations pour l’acquisition de votre nouvel ordinateur Mac Pro à hautes performances. Ce chapitre contient des instructions pour l’installation de l’ordinateur et du moniteur. Votre Mac Pro est équipé de composants de pointe, notamment un processeur à plusieurs cœur 64 bits, de la mémoire FB-DIMM rapide, une carte graphique PCI Express et des cartes d’extension ainsi que de périphériques de stockage interne, le tout réuni dans un châssis en aluminium anodisé avec accès facile aux éléments internes. Configuration de votre Mac Pro Votre Mac Pro est conçu pour être configuré rapidement et utilisé immédiatement. Suivez les instructions présentées aux pages suivantes pour configurer votre Mac Pro. Avant de commencer, retirez les éventuelles pellicules protectrices appliquées sur les surfaces externes de l’ordinateur et sur la paroi interne du panneau latéral. Vous trouverez des renseignements pour ouvrir le panneau latéral à la section « Ouverture de l’ordinateur » à la page 30.6 Chapitre 1Premiers contacts Étape 1 :positionnez l’ordinateur et le moniteur Soulevez le Mac Pro par ses deux poignées en utilisant des techniques de levage adaptées. Si votre moniteur est lourd, veillez à utiliser également des techniques de levage correctes lorsque vous le mettez en place. Placez le moniteur et l’écran de telle sorte que :  ils reposent chacun sur une surface plane et robuste ;  les fiches des câbles d’alimentation ne soient coincées ni contre un mur ni contre tout autre objet ;  rien n’obstrue la circulation d’air devant, derrière ou sous le moniteur ou l’ordinateur ;  les plateaux des lecteurs optiques aient suffisamment d’espace pour s’ouvrir. Le seul moyen de couper totalement l’alimentation de votre ordinateur et de votre moniteur consiste à débrancher leur fiche de la source d’alimentation électrique. Assurez-vous que les câbles d’alimentation de votre ordinateur et de votre moniteur soient facilement accessibles, pour pouvoir débrancher l’ordinateur ou le moniteur en cas de besoin.Chapitre 1Premiers contacts 7 Étape 2 :branchez le câble d’alimentation Enfoncez complètement le câble d’alimentation dans la prise encastrée au dos du Mac Pro et branchez l’autre extrémité dans une prise secteur avec mise à la terre ou une multiprise avec mise à la terre. Prise du câble d’alimentation Fiche du câble d’alimentation8 Chapitre 1Premiers contacts Étape 3 :connectez le moniteur Connectez votre moniteur comme illustré ci-dessous. En fonction de votre moniteur, vous devrez connecter un seul ou plusieurs câbles. Vérifiez les instructions fournies avec le moniteur pour d’autres informations sur sa configuration. Vous pouvez connecter deux moniteurs équipés de connecteurs DVI (Digital Visual Interface) aux ports d’affichage situés à l’arrière de votre Mac Pro. Port USB Port FireWire 400 Câble de l’écran Ports d’écranChapitre 1Premiers contacts 9 Vous pouvez connecter n’importe quel moniteur Apple à chacun des ports. Pour obtenir de la pleine résolution sur un moniteur Cinema HD Display de 30 pouces d’Apple, utilisez le port DVI 1. Vous pouvez également connecter des moniteurs équipés d’un connecteur ADC (Apple Display Connector) ou VGA (Video Graphics Array) à l’aide d’un des adaptateurs suivants :  Pour connecter un moniteur VGA au port DVI, utilisez l’adaptateur DVI vers moniteur VGA d’Apple (fourni avec votre Mac Pro).  Pour connecter un moniteur ADC au port DVI, utilisez un adaptateur DVI vers moniteur ADC d’Apple (non inclus) pour relier le moniteur au port DVI. Ports de moniteur DVI Adaptateur DVI vers moniteur VGA Connecteur VGA du câble du moniteur Port de moniteur DVI10 Chapitre 1Premiers contacts Vous pouvez vous procurer un adaptateur DVI vers moniteur ADC d’Apple auprès d’un revendeur agréé Apple, d’un magasin Apple Store ou de l’Apple Store en ligne à l’adresse www.apple.com/fr/store. Étape 4 :connectez un câble Ethernet Pour accéder à Internet ou à un réseau, connectez une extrémité d’un câble Ethernet à l’un des ports Ethernet situés à l’arrière de votre Mac Pro. Connectez l’autre extré- mité à un modem DSL, un modem câble ou un réseau Ethernet. Ports Gigabit EthernetChapitre 1Premiers contacts 11 Étape 5 :connectez le clavier et la souris Connectez le câble du clavier à l’un des ports USB (d) de l’ordinateur ou du moniteur. Branchez le câble de la souris Mighty Mouse sur l’un des ports USB du clavier. Si le câble du clavier n’est pas assez long pour atteindre un port USB de votre ordinateur, employez le câble d’extension clavier fourni avec votre ordinateur. Clavier Souris Branchez la souris sur l’un des ports USB du clavier. Câble d’extension de clavier Apple12 Chapitre 1Premiers contacts Utilisation d’un clavier et d’une souris sans fil Si vous avez fait l’acquisition d’un clavier Apple Wireless Keyboard et d’une souris Apple Wireless Mouse avec votre Mac Pro, consultez les instructions fournies avec ces périphériques pour les configurer et les utiliser avec votre ordinateur. Étape 6 :allumez votre Mac Pro Pour allumer votre ordinateur, appuyez sur le bouton d’alimentation (®) situé à l’avant. Si votre moniteur doit être allumé séparément, appuyez sur son bouton d’alimentation. Étape 7 :utilisez Assistant Réglages La première fois que vous démarrez votre Mac Pro, Assistant réglages démarre. Il vous aide à saisir les informations concernant la configuration Internet et le courrier électronique et à configurer un compte d’utilisateur sur votre Mac Pro. Si vous possédez déjà un Mac, Assistant réglages peut vous aider à transférer automatiquement les fichiers, les applications et d’autres informations depuis votre ordinateur existant vers votre nouveau Mac Pro. Étape 8 :personnalisez votre bureau et réglez vos préférences Grâce à Préférences Système, vous pouvez donner à votre bureau l’apparence souhaitée sans perdre de temps. Choisissez le menu Pomme () > Préférences Système dans la barre des menus. Pour personnaliser votre ordinateur, explorez Préférences Système, votre poste de contrôle pour la majorité des réglages de votre Mac Pro. Pour en savoir plus, ouvrez l’Aide Mac et recherchez « Préférences Système » ou les préférences spécifiques que vous souhaitez modifier.Chapitre 1Premiers contacts 13 Vous avez besoin d’aide pour configurer votre ordinateur ? Si rien n’apparaît à l’écran après quelques instants ou si vous pensez que votre ordinateur n’a pas démarré correctement, effectuez les vérifications suivantes :  L’ordinateur est-il connecté à une source d’alimentation ? S’il est connecté à une multiprise munie d’un interrupteur, est-elle allumée ?  Le câble d’alimentation est-il branché sur la prise située à l’arrière de l’ordinateur et correctement enclenché ?  Les câbles du clavier et du moniteur sont-ils correctement connectés ?  Le moniteur est-il allumé ? La luminosité et le contraste du moniteur sont-ils correctement réglés ? Si votre moniteur est muni d’un contrôle de luminosité, réglez-le.  Si toujours rien n’apparaît à l’écran, redémarrez votre ordinateur. Appuyez sur le bouton de mise en marche de l’ordinateur et maintenez-le enfoncé pendant 5 ou 6 secondes jusqu’à ce que l’ordinateur s’éteigne. Appuyez à nouveau sur ce bouton pour allumer l’ordinateur.  Si un point d’interrogation clignote à l’écran ou si le voyant d’état émet une série de clignotements, consultez le chapitre 4, « Dépannage », à la page 57.14 Chapitre 1Premiers contacts Extinction ou suspension d’activité de votre Mac Pro Une fois que vous avez fini d’utiliser votre Mac Pro, vous pouvez suspendre son activité ou l’éteindre. Suspension de l’activité de votre Mac Pro Suspendez l’activité de votre Mac Pro si vous ne comptez vous en éloigner que quelques instants. Lorsque l’ordinateur est en mode de suspension d’activité, son écran est noir. Vous pouvez le réactiver rapidement sans passer par la procédure de démarrage. Pour suspendre l’activité de votre ordinateur, procédez de l’une des manières suivantes :  Choisissez le menu Pomme () > Suspendre l’activité.  Appuyez sur le bouton d’alimentation situé à l’avant de votre Mac Pro.  Choisissez le menu Pomme () > Préférences Système, cliquez sur Économiseur d’énergie et définissez un délai pour la minuterie de mise en veille. Chapitre 1Premiers contacts 15 Pour sortir votre ordinateur du monde de suspension d’activité, procédez de l’une des manières suivantes :  Appuyez sur n’importe quelle touche du clavier.  Cliquez avec la souris.  Appuyez sur le bouton d’alimentation situé à l’avant de votre Mac Pro. Extinction de votre Mac Pro Cette option est préférable si vous ne comptez pas utiliser votre Mac Pro pendant un jour ou plus. Pour éteindre votre Mac Pro, choisissez le menu Pomme () > Éteindre. AVERTISSEMENT : n’éteignez jamais le Mac Pro via l’interrupteur d’une multiprise ou en débranchant sa fiche d’alimentation, sauf si vous ne parvenez pas à l’éteindre d’une autre manière. Toute extinction incorrecte de l’ordinateur risque d’endommager vos fichiers ou le logiciel système. AVERTISSEMENT : éteignez votre Mac Pro avant de le déplacer. Tout déplacement de votre ordinateur lorsque le disque dur est en train de tourner risque d’endommager ce dernier et d’entraîner une perte de données ou l’impossibilité de démarrer à partir du disque dur.2 17 2 Familiarisation avec votre Mac Pro Dans ce chapitre, vous trouverez des informations élémentaires concernant votre Mac Pro. Les sections suivantes présentent les éléments et ports de votre ordinateur. Pour obtenir les informations les plus récentes Le site web d’Apple, à l’adresse www.apple.com/fr, vous donne accès aux renseignements, aux téléchargements gratuits et aux catalogues en ligne des logiciels et maté- riels Apple les plus récents destinés à votre Mac Pro. Vous trouverez également les manuels de nombreux produits Apple, ainsi que l’assistance technique pour tous les produits Apple, sur le site web de service et d’assistance Apple à l’adresse www.apple.com/fr/support.18 Chapitre 2Familiarisation avec votre Mac Pro Éléments principaux se trouvant à l’avant de votre Mac Pro Lecteur optique Prise pour casque d’écoute Voyant d’état f ® Bouton d’alimentation Port FireWire 800 FireWire 400 port Deuxième lecteur optique (facultatif) Port FireWire 400Chapitre 2 Familiarisation avec votre Mac Pro 19 Lecteur optique Votre Mac Pro est équipé d’un lecteur SuperDrive DVD+R DL/DVD±RW/CD-RW qui peut lire les disques CD-ROM, CD de photos, disques audio et disques DVD. Le lecteur vous permet également de graver de la musique, des documents et d’autres fichiers sur des disques CD-R, CD-RW, DVD±R, DVD±RW et DVD+R double couche. Pour ouvrir le lecteur, appuyez sur la touche d’éjection (C) située sur votre clavier Apple. Si votre Mac Pro est équipé d’une deuxième lecteur optique, appuyez sur le touches Option (z) et Éjection (C) pour l’ouvrir. ® Bouton d’alimentation Appuyez sur ce bouton pour allumer votre Mac Pro, suspendre son activité ou la lui faire reprendre. Pour redémarrer, maintenez ce bouton enfoncé pendant 5 ou 6 secondes jusqu’à l’extinction du Mac Pro, puis appuyez dessus une nouvelle fois pour le rallumer. H Ports FireWire 400 et 800 Connectez votre Mac Pro à des caméras vidéo numériques, des scanners ou des disques durs externes FireWire. Connectez et déconnectez les périphériques FireWire sans redémarrer. Le port FireWire 400 prend en charge des débits de données pouvant aller jusqu’à 400 Mbit/s. Le port FireWire 800 prend en charge des débits de données pouvant aller jusqu’à 800 Mbit/s. d Ports USB 2.0 Connectez votre Mac Pro à des claviers, souris, imprimantes, scanners, iPod, haut-parleurs, microphones et concentrateurs USB. Il est également possible que votre moniteur soit doté de ports USB. f Prise pour casque d’écoute Connectez des écouteurs à votre Mac Pro via la prise pour casque d’écoute. Lorsqu’une prise d’écouteurs est insérée dans la prise pour casque d’écoute, le haut-parleur interne est désactivé. Voyant d’état Un témoin lumineux blanc indique que votre Mac Pro est allumé ; un témoin clignotant indique que son activité est suspendue.20 Chapitre 2 Familiarisation avec votre Mac Pro Ports et connecteurs situés à l’arrière de votre Mac Pro Prise d’alimentation Loquet de verrouillage Ports USB 2.0 (3) Port FireWire 400 G d ¥ H H Port FireWire 800 Ports Gigabit Ethernet (2)Chapitre 2 Familiarisation avec votre Mac Pro 21 Prise d’alimentation Connectez le câble d’alimentation fourni avec votre Mac Pro. N’utilisez pas de câble ou de rallonge du commerce. ¥ Loquet de verrouillage Soulevez le loquet pour ouvrir le panneau latéral et accéder aux éléments internes du Mac Pro. Si l’ordinateur est ouvert et le loquet abaissé, les lecteurs optiques et disques durs sont verrouillés. Il est possible de placer un verrou sur ce loquet pour empêcher l’accès aux éléments internes et les sécuriser. Il est également possible de fixer un câble de sûreté au loquet ou de le passer à travers les poignées afin de protéger votre Mac Pro (voir la page 40). d Ports USB 2.0 Connectez votre Mac Pro à des périphériques USB tels que claviers, souris, imprimantes, scanners, haut-parleurs, microphones USB et concentrateurs USB. Il est également possible que votre moniteur soit doté de ports USB. H Ports FireWire 400 et 800 Le port FireWire 400 prend en charge des débits de transfert de 100, 200 et 400 Mbit/s. Le port FireWire 800 prend en charge des débits de transfert de 100, 200, 400 et 800 Mbit/s. G Ports Gigabit Ethernet doubles avec prise en charge de cadre de grande taille Connectez votre Mac Pro à un réseau Ethernet grande vitesse pour accéder à Internet ou à des ressources du réseau telles que des imprimantes ou des serveurs et partager des informations à travers le réseau à l’aide d’un câble CAT 5e.22 Chapitre 2 Familiarisation avec votre Mac Pro Autres ports et connecteurs à l’arrière Logements d’extension PCI Express Port de moniteur DVI 1 - , Port optique de sortie audio numérique Port optique d’entrée Port optique de sortie Port optique d’entrée audio numérique Port de moniteur DVI 2 £ £Chapitre 2 Familiarisation avec votre Mac Pro 23 Logements d’extension PCI Express (3) Étendez les capacités de votre Mac Pro en installant jusqu’à 3 cartes PCI (Peripheral Component Interconnect) Express dans les logements couverts numérotés 2, 3 et 4. £ Ports d’affichage DVI Branchez sur les ports d’affichage DVI des moniteurs qui utilisent un connecteur Digital Visual Interface (DVI). Branchez sur l’un des ports un moniteur Apple, par exemple un moniteur Cinema Display d’Apple de 20, 23 ou 30 pouces. Pour bénéficier d’une pleine résolution, branchez le moniteur Cinema HD Display de 30 pouces d’Apple sur le port 1. Vous pouvez également brancher un connecteur VGA (Video Graphics Array) à l’aide de l’adaptateur DVI-VGA fourni avec votre Mac Pro. Ports d’entrée et sortie audio numérique optique Connectez platines, récepteurs, instruments numériques et chaînes Surround 5.1 à l’aide de câbles Toslink standard ou fibre optique avec des prises optiques en plastique ou nylon de 3,5 mm. Vous pouvez transférer de l’audio stéréo ou encodée en Surround 5.1 à travers le protocole S/PDIF (Sony/Philips Digital Interface) et à des câbles Toslink. , Port d’entrée audio analogique Connectez microphones auto-alimentés, lecteurs MP3 et CD et autres périphériques à capacité analogique. - Port de sortie audio analogique Connectez microphones analogiques auto-alimentés et autres périphériques équipés d’une sortie analogique. 24 Chapitre 2 Familiarisation avec votre Mac Pro Options d’extension interne Supports de disque dur (4) Support de lecteur optique Logement 1 : carte graphique PCI Express à double largeur (installée) Carte de mémoire supérieure Carte de mémoire inférieure Logements 2 à 4 : PCI Express PileChapitre 2 Familiarisation avec votre Mac Pro 25 Lecteurs optiques Votre Mac Pro est fourni avec un ou deux lecteurs SuperDrive DVD+R DL/DVD±RW/CD-RW installés dans le support de lecteurs optiques. Pour remplacer un disque optique, consultez la section « Remplacement du lecteur optique » à la page 45. Disque dur Votre Mac Pro est fourni avec jusqu’à quatre disques durs installés dans les supports de disque dur. Pour installer ou remplacer les disques durs, consultez la section « Installation d’unités de stockage internes » à la page 41. Logements PCI Express Votre Mac Pro est doté de trois logements d’extension PCI Express. Pour installer des cartes PCI dans les logements 2 à 4 pour étendre les possibilités de votre ordinateur, consultez la section « Ajout de cartes PCI Express » à la page 50. Pile Votre Mac Pro utilise une pile interne de secours. Si votre Mac Pro a des problèmes au démarrage ou que la date et l’heure du système sont souvent incorrectes, vous devez peut-être remplacer la pile (voir « Remplacement de la pile de secours interne » à la page 55). Logement graphique PCI Express à double largeur Connectez jusqu’à deux moniteurs à la carte graphique insérée dans le logement graphique PCI Express (logement 1). Vous pouvez remplacer la carte située dans ce logement et installer des cartes graphiques supplémentaires dans les logements PCI 2 à 4 (voir « Ajout de cartes PCI Express » à la page 50). Cartes de mémoire Votre Mac Pro contient deux cartes mémoire. Chacune peut accommoder jusqu’à 4 FB-DIMM, soit 8 DIMM au total. Pour ajouter de la mémoire supplémentaire, insérez des paires de barrettes FB-DIMM 667 MHz sur les cartes mémoire. Consultez la section « Installation de la mémoire » à la page 34 pour en savoir plus sur le type spécifique de mémoire utilisé dans le Mac Pro.26 Chapitre 2 Familiarisation avec votre Mac Pro Obtenir des réponses Beaucoup plus de renseignements concernant l’utilisation de votre Mac se trouvent dans Aide Mac et sur Internet à l’adresse www.apple.com/fr/support/. Pour ouvrir Aide Mac : 1 Cliquez sur l’icône Finder dans le Dock (la barre d’icônes située au bord de l’écran). 2 Choisissez Aide > Aide Mac (cliquez sur le menu Aide dans la barre des menus puis sélectionnez Aide Mac). 3 Cliquez dans le champ Rechercher, tapez votre question, puis appuyez sur la touche Retour du clavier.Chapitre 2 Familiarisation avec votre Mac Pro 27 Renseignements supplémentaires Pour plus de renseignements sur l’utilisation de votre Mac Pro, consultez les sections suivantes : Pour en savoir plus sur... Consultez... l’installation de disques durs, de lecteurs, de mémoire et de cartes d’extension ou le remplacement de la pile le chapitre 3, « Interventions à l’intérieur de l’ordinateur », à la page 29. le dépannage de votre ordinateur si vous rencontrez un problème le chapitre 4, « Dépannage », à la page 57. le service et l’assistance technique pour votre Mac Pro « En savoir plus, service et assistance technique » à la page 71 ou le site web de service et d’assistance Apple à l’adresse www.apple.com/fr/support. l’utilisation de Mac OS X le site web Mac OS X à l’adresse www.apple.com/fr/macosx/overview. Ou ouvrez Aide Mac et recherchez « Mac OS X ». l’utilisation des applications iLife le site web iLife à l’adresse www.apple.com/fr/ilife. Ou ouvrez une application iLife, puis ouvrez Aide Mac et tapez une question dans le champ de recherche. la modification de Préférences Système Préférences Système en choisissant Apple () > Préférences Système. Ou ouvrez Aide Mac et recherchez « préférences système ». l’utilisation de la souris ou du clavier Aide Mac et recherchez « souris » ou « clavier ».28 Chapitre 2 Familiarisation avec votre Mac Pro l’utilisation de la technologie sans fil AirPort le site web d’assistance technique AirPort à l’adresse www.apple.com/fr/support/airport. Ou ouvrez l’Aide AirPort tout en maintenant enfoncé le bouton de la souris sur le bouton Départ en haut d’une page Aide Mac, puis en sélectionnant Aide AirPort dans la liste. l’utilisation de la technologie sans fil Bluetooth® le site web d’assistance technique Bluetooth à l’adresse www.apple.com/fr/support/bluetooth. Ou ouvrez l’application Échange de fichiers Bluetooth dans le dossier Utilitaires du dossier Applications, puis choisissez Aide > Aide Bluetooth. la connexion d’une imprimante Aide Mac et recherchez « impression ». les connexions FireWire et USB Aide Mac et recherchez « USB » ou « FireWire ». la connexion à Internet Aide Mac et recherchez « Internet ». Pour en savoir plus sur... Consultez...3 29 3 Interventions à l’intérieur de l’ordinateur Utilisez les informations du présent chapitre afin de personnaliser et étendre votre Mac Pro pour l’adapter à vos besoins. Ce chapitre fournit des renseignements et des instructions sur les interventions réalisées à l’intérieur de l’ordinateur. Il présente des renseignements relatifs aux procédures importantes dans les sections suivantes :  « Ouverture de l’ordinateur » à la page 30  « Installation de la mémoire » à la page 34  « Installation d’unités de stockage internes » à la page 41  « Ajout de cartes PCI Express » à la page 50  « Remplacement de la pile de secours interne » à la page 55 AVERTISSEMENT : Apple recommande de faire appel à un technicien agréé Apple pour l’installation de barrettes de mémoire, de cartes d’extension PCI Express et d’unités de stockage internes. Pour contacter un Centre de Maintenance Agréé Apple (CMAA) ou Apple pour tout service, consultez la section « En savoir plus, service et assistance technique » à la page 71. Si vous tentez d’installer vous-même ces composants, vous risquez d’endommager votre équipement. Dans ce cas, les dommages ne sont pas couverts par la garantie limitée de votre ordinateur. Adressez-vous à un revendeur agréé Apple ou à un Centre de Maintenance Agréé Apple pour toute information complémentaire relative à la garantie.30 Chapitre 3 Interventions à l’intérieur de l’ordinateur Ouverture de l’ordinateur 1 Avant d’ouvrir votre Mac Pro, éteignez-le en sélectionnant le menu Pomme () > Éteindre. 2 Patientez 5 à 10 minutes pour laisser aux composants internes de l’ordinateur le temps de refroidir. 3 Touchez la surface métallique de l’intérieur du Mac Pro afin de décharger toute électricité statique que vous pouvez avoir emmagasinée. Important :déchargez-vous toujours de l’électricité statique que vous êtes susceptible d’avoir accumulé avant de toucher ou d’installer tout composant à l’intérieur de l’ordinateur. Pour éviter de générer de l’électricité statique, ne vous déplacez pas dans la pièce avant d’avoir achevé l’installation de la carte, de la mémoire ou du dispositif de stockage interne et d’avoir refermé l’ordinateur. · AVERTISSEMENT : veillez à toujours éteindre votre Mac Pro avant de l’ouvrir pour éviter d’endommager ses composants internes ou les composants à installer. N’ouvrez pas l’ordinateur et n’essayez pas d’y installer des composants s’il est allumé. · AVERTISSEMENT : laissez votre ordinateur refroidir avant d’en manipuler les composants internes car ils peuvent être très chauds.Chapitre 3 Interventions à l’intérieur de l’ordinateur 31 4 Débranchez tous les câbles de l’ordinateur, y compris le câble d’alimentation. · AVERTISSEMENT : débranchez toujours votre Mac Pro pour éviter d’endommager ses composants internes ou ceux que vous souhaitez installer. N’essayez pas d’y installer des composants lorsqu’il est branché. Touchez le métal sur le dessus de l’ordinateur.32 Chapitre 3 Interventions à l’intérieur de l’ordinateur 5 Tenez le panneau latéral et soulevez le loquet à l’arrière de l’ordinateur. Soulevez le loquet en tenant le panneau latéral.Chapitre 3 Interventions à l’intérieur de l’ordinateur 33 6 Enlevez le panneau latéral. Important :lorsque vous ôtez le panneau latéral, tenez-le fermement. Soulevez le panneau latéral en tirant sur le haut.34 Chapitre 3 Interventions à l’intérieur de l’ordinateur Installation de la mémoire Votre Mac Pro est fourni avec deux cartes mémoire, chacune dotée de 4 logements mémoire (quatre banques de deux). Votre Mac Pro est fourni avec au minimum 1 Go de mémoire installée sous forme d’une paire de barrettes de mémoire double en ligne à cache intégral (FB-DIMM) de 512 Mo dans deux des logements DIMM. Vous pouvez installer des paires supplémentaires de FB-DIMM de 512 Mo, 1 Go ou 2 Go dans les logements DIMM disponibles sur les cartes mémoire. Les barrettes DIMM doivent être installées par paires de capacité identique et être conformes aux caractéristiques suivantes :  barrettes FB-DIMM 667 MHz ;  barrettes de 72 bits à 240 broches ;  36 barrettes de mémoire maximum par DIMM ;  code de correction d’erreur (ECC). Important :Apple vous recommande d’utiliser des FB-DIMM agréées par Apple. Avec des FB-DIMM non approuvées par Apple, votre Mac Pro pourrait fonctionner à un niveau sonore plus élevé ou une vitesse plus lente afin d’éviter un échauffement. Les barrettes DIMM d’ordinateurs Mac moins récents ne peuvent pas être utilisées dans le Mac Pro. Chapitre 3 Interventions à l’intérieur de l’ordinateur 35 Remarque :lorsque vous achetez de la mémoire DIMM pour ordinateurs Mac, assurezvous qu’elle est conforme aux spécifications JEDEC (Joint Electron Device Engineering Council). Vérifiez auprès de votre fournisseur de mémoire que la mémoire DIMM gère les modes d’horloge adéquats et que la fonction SPD (Serial Presence Detect) a été correctement programmée, conformément aux spécifications JEDEC. Pour vérifier la compatibilité de vos barrettes DIMM, consultez le guide des produits Macintosh sur le site web d’Apple, à l’adresse www.apple.com/fr/guide. Vous pouvez acheter de la mémoire de marque Apple sur l’Apple Store en ligne à l’adresse store.apple.com/f/store. Pour installer de la mémoire : 1 Éteignez votre ordinateur, ouvrez-le et ôtez le panneau latéral en suivant les instructions indiquées à la page 30. · AVERTISSEMENT : laissez votre ordinateur refroidir de 5 à 10 minutes avant d’en manipuler les composants internes. Les composants des cartes mémoire peuvent être très chauds.36 Chapitre 3 Interventions à l’intérieur de l’ordinateur 2 Retirez la carte mémoire et placez-la sur un tissu doux et propre. 3 Ouvrez les éjecteurs du logement DIMM en les écartant. Chapitre 3 Interventions à l’intérieur de l’ordinateur 37 4 Alignez la première barrette FB-DIMM dans le logement de la carte mémoire et appuyez sur les deux extrémités de la barrette jusqu’à ce que les deux loquets soient verticaux et que les éjecteurs soient enclenchés fermement. Répétez la procédure pour installer la seconde barrette FB-DIMM. Ne touchez pas aux connecteurs dorés de la barrette DIMM. Important :ajoutez des barrettes DIMM aux cartes mémoire dans l’ordre indiqué ici. Carte de mémoire supérieure Première paire de barrettes DIMM supplémentaires Deuxième paire de barrettes DIMM supplémentaires Troisième paire de barrettes DIMM supplémentaires Carte de mémoire inférieure38 Chapitre 3 Interventions à l’intérieur de l’ordinateur 5 Placez votre Mac Pro sur un tissu doux et propre sur le bureau ou la surface de travail pour éviter de rayer celle-ci ou le Mac Pro. 6 Installez les cartes mémoire en appuyant légèrement dessus jusqu’à ce qu’elles soient bien insérées dans le logement mémoire. Lorsque l’ordinateur est sur le côté, enfoncez les cartes de mémoire dans les logements de mémoire.Chapitre 3 Interventions à l’intérieur de l’ordinateur 39 7 Relevez le Mac Pro et replacez le panneau latéral. Important :lorsque vous replacez le panneau latéral, maintenez-le de façon à l’immobiliser lorsque vous abaissez le loquet. Mettez le panneau latéral dans le logement puis appuyez pour fermer.40 Chapitre 3 Interventions à l’intérieur de l’ordinateur 8 Poussez le loquet vers le bas pour verrouiller le panneau latéral. Lorsque vous poussez le panneau latéral contre l’ordinateur, enfoncez le loquet jusqu’à ce qu'il soit fermement maintenu en place à l’arrière de l’ordinateur. Pour verrouiller le panneau latéral ou l’ordinateur, rabattez l’onglet de verrouillage avant de fermer le loquet. Vous pouvez alors attacher un cadenas ou un câble à la boucle métallique qui apparaît.Chapitre 3 Interventions à l’intérieur de l’ordinateur 41 Installation d’unités de stockage internes Votre Mac Pro peut accommoder jusqu’à six lecteurs internes : deux lecteurs optiques et quatre disques durs. Dans la plupart des configurations, un disque dur occupe la première baie de disque dur et un lecteur optique est installé dans la baie de lecteur optique supérieure. Vous pouvez ajouter jusqu’à trois disques dur Serial ATA (SATA) de 3 Gbit/s dans les baies libres pour disque dur. Les disque durs doivent respecter les spécifications suivantes :  type :SATA 3 Gbit/s ;  largeur :102 mm ;  profondeur :147 mm ;  hauteur :25,4 mm. Pour plus de renseignements sur les conditions requises et les périphériques compatibles, consultez votre distributeur agréé Apple ou le site de support technique Apple à l’adresse www.apple.com/fr/support. Important :utilisez les câbles d’Apple d’origine fournis avec votre Mac Pro pour installer ou remplacer les lecteurs optiques. Installation de disques durs SATA 3 Gbit/s Votre Mac Pro peut héberger jusqu’à quatre disques durs internes SATA 3 Gbit/s de 15 mm de hauteur dans les baies pour disque dur. Si votre Mac Pro est fourni avec un seul disque dur installé, celui-ci se trouve dans la première baie de disque dur. Vous pouvez installer des disques durs dans la deuxième, la troisième et la quatrième baie.42 Chapitre 3 Interventions à l’intérieur de l’ordinateur Pour installer un disque dur : 1 Ouvrez votre Mac Pro et ôtez le panneau latéral en suivant les instructions indiquées à la page 30. 2 levez le loquet pour déverrouiller les supports de disque dur. Important :une fois le loquet abaissé, les supports sont verrouillés dans les baies pour disque et ne peuvent pas être retirés. 3 Sortez le support de disque dur hors de la baie. Retirez le support de disque dur. Soulevez le loquet pour déverrouiller les supports.Chapitre 3 Interventions à l’intérieur de l’ordinateur 43 4 Utilisez les quatre vis du support pour y fixer le disque dur. Important :si une carte à circuit imprimé est visible au-dessous du disque dur, tenez le disque par ses côtés. Ne touchez pas la carte à circuit imprimé car cela pourrait endommager le disque. Placez les connecteurs vers l’arrière44 Chapitre 3 Interventions à l’intérieur de l’ordinateur 5 Soulevez le loquet puis faites glisser le support sur les rainures et insérez-le dans la baie de disque jusqu’à ce qu’il s’y enclenche. 6 Replacez le panneau latéral et poussez le loquet vers le bas pour le verrouiller. Lorsque le disque est complètement installé, ses connecteurs se branchent sur l’ordinateur. Assurez-vous que le loquet est soulevé.Chapitre 3 Interventions à l’intérieur de l’ordinateur 45 Remplacement du lecteur optique Votre Mac Pro est fourni avec un ou deux lecteurs SuperDrive installées dans les baies de lecteur optique. Suivez la procédure suivante pour remplacer votre lecteur optique. Important :pour savoir si votre lecteur est réglé pour le mode de sélection par câble, adressez-vous au fabricant ou consultez son site web. Avant l’installation, réglez le lecteur sur le mode de sélection par câble si cela n’a pas été fait par le fabricant. Pour remplacer le lecteur optique : 1 Ouvrez votre Mac Pro et ôtez le panneau latéral en suivant les instructions indiquées à la page 30. 2 Levez le loquet pour déverrouiller les supports de lecteur optique. Important :une fois le loquet abaissé, les lecteurs et supports sont verrouillés dans les baies pour disque et ne peuvent pas être retirés. 3 Sortez le support de lecteur optique partiellement hors de la baie. Faites glisser le support partiellement hors de l’ordinateur. Assurez-vous que le loquet est soulevé.46 Chapitre 3 Interventions à l’intérieur de l’ordinateur 4 Déconnectez le câble d’alimentation et les rubans du lecteur optique, puis retirez le support.Chapitre 3 Interventions à l’intérieur de l’ordinateur 47 5 Retirez le lecteur optique du support en dévissant les quatre vis de fixation. 6 Utilisez les quatre vis imperdables du lecteur optique d’origine pour fixer le lecteur de remplacement au support. Quatre vis supplémentaires48 Chapitre 3 Interventions à l’intérieur de l’ordinateur 7 Faites glisser le lecteur optique et le support sur les rainures et insérez-les partiellement dans la baie de lecteur. 8 Connectez le câble d’alimentation et les rubans à l’arrière du lecteur. Connecteur de l'extrémité du câble plat Connecteur intermédiaire du câble d'alimentationChapitre 3 Interventions à l’intérieur de l’ordinateur 49 9 Levez le loquet puis faites glisser le support de lecteur optique dans la baie de lecteur en le poussant en place. 10 Replacez le panneau latéral et poussez le loquet vers le bas pour le verrouiller. Assurez-vous que le loquet est soulevé.50 Chapitre 3 Interventions à l’intérieur de l’ordinateur Ajout de cartes PCI Express Vous pouvez augmenter les capacités de votre Mac Pro en installant des cartes dans les logements PCI (Peripheral Component Interconnect) Express. Votre Mac Pro dispose d’un logement graphique PCI Express à double largeur et de trois logements d’extension PCI Express, soit quatre logements au total. Ces logements acceptent des cartes graphiques PCI Express et des cartes d’extension. À propos des cartes PCI Express Votre Mac Pro est fourni avec une carte graphique PCI Express haute performance, qui intègre le processeur graphique (GPU - graphics processor unit) et contient les ports d’affichage de l’ordinateur. La carte graphique est installée dans le logement 1. Vous pouvez installer des cartes graphiques PCI Express et des cartes d’extension. Avant d’installer une carte, vérifiez ses spécifications pour vous assurer qu’elle peut fonctionner dans votre Mac Pro. Pour régler la bande passante des logements PCI Express de votre Mac Pro, utilisez l’Utilitaire de logement d’extension, accessible depuis votre disque de démarrage, dans le dossier /Système/Bibliothèque/Core Services. Important :la consommation de courant combinée des quatre logements PCI Express ne doit pas dépasser 300 watts (W).Chapitre 3 Interventions à l’intérieur de l’ordinateur 51 Pour installer une carte PCI Express : 1 Ouvrez votre ordinateur et ôtez le panneau latéral (voir la page 30). 2 Placez votre Mac Pro sur un tissu doux et propre pour éviter de rayer la surface de travail ou l’ordinateur. 3 Dévissez les vis imperdables du support PCI puis enlevez le support. · AVERTISSEMENT : veillez à toujours éteindre puis débrancher votre Mac Pro pour éviter d’endommager ses composants internes ou ceux que vous souhaitez installer. N’essayez pas d’installer des composants lorsqu’il est branché. Laissez votre ordinateur refroidir de 5 à 10 minutes avant d’en manipuler les composants internes qui peuvent être très chauds.52 Chapitre 3 Interventions à l’intérieur de l’ordinateur 4 Enlevez le cache d’accès aux ports du logement où vous souhaitez installer la carte. 5 Enlevez la nouvelle carte de son sachet antistatique et tenez-la par les coins. Ne touchez pas les connecteurs dorés ou les composants de la carte. 6 Alignez le connecteur de la carte sur le logement d’extension, puis enfoncez la carte dans le logement. Cache d’accès aux ports Pour enlever une carte, poussez sur l’onglet pour libérer le loquet. Support PCIChapitre 3 Interventions à l’intérieur de l’ordinateur 53 Le saviez-vous ?—Installation d’une carte PCI de longueur complète Il est peut-être plus simple d’installer une carte PCI si vous enlevez les disques durs, les supports et les cartes adjacentes. Si vous avez une carte de longueur complète, installez d’abord le bout de la carte dans la rainure de la carte, puis alignez la carte sur le logement PCI pour terminer son installation. Ouverture d’accès au port Logement PCI Express Maintenez la carte en place avec le support PCI. Insérez le support PCI sous le renfort. Si vous installez une carte PCI Express pleine longueur (12 pouces), assurez-vous qu’elle tienne dans le guide de carte approprié.54 Chapitre 3 Interventions à l’intérieur de l’ordinateur 7 Appuyez délicatement mais fermement sur la carte jusqu’à ce que le connecteur soit complètement enclenché. Appuyez seulement sur les parties vides de la carte pour éviter d’endommager les composants. Remarque :n’enfoncez pas la carte dans le logement en exerçant des pressions successives sur ses côtés ou en forçant. Si vous rencontrez une résistance, vérifiez si le connecteur et le logement sont endommagés ou obstrués, puis essayez à nouveau. 8 Tirez légèrement sur la carte pour voir si elle est correctement connectée. Si elle reste en place et que ses connecteurs dorés sont à peine visibles, la carte est connectée. 9 Remettez en place le support PCI puis serrez les vis pour maintenir la carte en place. 10 Replacez le panneau latéral et poussez le loquet vers le bas pour le verrouiller. AVERTISSEMENT :si vous retirez une carte sans en installer une autre, recouvrez le logement vide au moyen d’un cache d’accès aux ports pour éviter que des corps étrangers ne pénètrent dans le boîtier. Un logement non couvert peut modifier la circulation d’air qui refroidit les composants internes de l’ordinateur et causer des dommages.Chapitre 3 Interventions à l’intérieur de l’ordinateur 55 Remplacement de la pile de secours interne Le Mac Pro utilise une pile CR 2032 au lithium qui permet de conserver certains réglages, comme l’heure et la date, quand le Mac Pro est éteint. Si vous rencontrez fréquemment des problèmes au démarrage de votre Mac Pro ou des dérèglements de la date et de l’heure, vous devriez probablement changer la pile. Important :jetez la pile usagée en respectant les lois environnementales locales. Pour remettre la pile en place : 1 Ouvrez votre Mac Pro et ôtez le panneau latéral en suivant les instructions indiquées à la page 30. 2 Retirez toute carte PCI Express qui bloquerait l’accès à la pile. Pour obtenir des instructions, consultez la section « Ajout de cartes PCI Express » à la page 50. 3 Retirez l’ancienne pile de son compartiment. · AVERTISSEMENT : l’installation incorrecte de la pile peut provoquer une explosion. Utilisez uniquement une pile de type identique ou une pile équivalente recommandée par le fabricant de la pile d’origine.56 Chapitre 3 Interventions à l’intérieur de l’ordinateur 4 Insérez la nouvelle pile dans son compartiment, son côté positif (+) tourné vers le haut. 5 Remettez en place les cartes PCI Express que vous avez retirées (voir la rubrique à la page 50). 6 Replacez le panneau latéral et poussez le loquet vers le bas pour le verrouiller. Faites glissez la pile usagée hors de l’ordinateur. Insérez la nouvelle pile, côté positif (+) vers le haut. Enlevez la carte du logement 1. Appuyez sur l’onglet pour libérer le loquet.4 57 4 Dépannage En cas de problèmes de fonctionnement de votre Mac Pro, voici quelques suggestions susceptibles d’y remédier. Vous rencontrez un problème de fonctionnement occasionnel du Mac Pro. Ce chapitre indique quelques solutions potentielles. Problèmes du Mac Pro Si votre Mac Pro ne répond ou ne s’allume pas, un disque ne s’éjecte pas ou le voyant d’état clignote, essayez les méthodes de cette section. Si l’ordinateur ne répond pas ou le pointeur est bloqué : Commencez par vous assurer que la souris et le clavier sont connectés. Pour cela, débranchez-les et rebranchez-les sur les connecteurs en vous assurant que le connexions sont fermes. Essayez ensuite d’annuler l’opération en cours.  Appuyez simultanément sur les touches Commande (x) et Q pour essayer de fermer l’application en cours d’exécution.  Appuyez simultanément sur les touches Commande (x) et point. Si une boîte de dialogue apparaît, cliquez sur Annuler. 58 Chapitre 4 Dépannage  Choisissez Pomme (), cliquez sur Forcer à quitter puis sélectionnez l’application à fermer. Il est aussi possible de forcer l’application à quitter en appuyant simultanément sur les touches Échap + Option (z) + Commande (x). Redémarrez votre Mac Pro en sélectionnant Pomme () > Redémarrer pour être certain que le problème est entièrement résolu. Vous pouvez également redémarrer l’ordinateur en appuyant sur le bouton d’alimentation (®) pendant 5 à 6 secondes jusqu’à ce que le Mac Pro s’éteigne. Appuyez à nouveau sur le bouton d’alimentation (®) pour allumer votre Mac Pro.  Si le problème ne survient qu’avec une application particulière, consultez l’éditeur de l’application concernée afin de vérifier si elle est compatible avec votre ordinateur.  Si le problème survient fréquemment, sélectionnez Aide > Aide Mac et recherchez « problèmes ». L’ordinateur ne démarre pas ou ne s’allume pas.  Assurez-vous que le câble d’alimentation est branché sur une prise électrique en état de fonctionnement. La fiche du câble d’alimentation doit être totalement insérée dans la prise de l’ordinateur.  Si votre ordinateur ne redémarre toujours pas, essayez de réinitialiser la mémoire PRAM (mémoire des paramètres). Allumez l’ordinateur et maintenez immédiatement les touches Commande (x), Option (z), P, et R enfoncées jusqu’à entendre une deuxième fois le son du démarrage. Relâhcez les touches. Configurez votre disque dur comme disque de démarrage de l’ordinateur, en procédant comme suit : 1 Choisissez le menu Pomme () > Préférences Système. 2 Cliquez sur Démarrage. 3 Sélectionnez votre disque dur.Chapitre 4 Dépannage 59 La mémoire PRAM est réinitialisée à ses valeurs par défaut et vos réglages d’horloges auront peut-être besoin d’être refaits.  Si votre ordinateur ne redémarre pas après réinitialisation de la PRAM, redémarrez-le en maintenant la touche Option (z) enfoncée afin de choisir le disque de démarrage.  Si cela ne donne pas de résultats, redémarrez l’ordinateur tout en maintenant la touche Majuscule enfoncée. Impossible d’éjecter un disque. Un fichier est peut-être en cours d’utilisation sur ce disque. Quittez toutes les applications ouvertes, puis essayez à nouveau. Si cela ne fonctionne pas, sélectionnez le menu Pomme () > Redémarrer et maintenez enfoncé soit le bouton de la souris soit la touche d’éjection (C) de votre clavier Apple Keyboard. Si le problème persiste : 1 Éteignez l’ordinateur. 2 Appuyez doucement sur le panneau protégeant le plateau du lecteur. 3 Insérez avec précaution l’extrémité d’un trombone déplié dans le petit orifice sous le plateau du lecteur. 4 Poussez fermement jusqu’à ce que le plateau s’ouvre. 5 Tirez sur le plateau pour l’ouvrir, retirez le disque et repoussez le plateau pour le fermer. Le voyant d’état clignote et l’ordinateur ne démarre pas.  Si vous avez récemment ajouté de la mémoire, une carte d’extension PCI ou tout autre composant interne, assurez-vous qu’il est correctement installé et compatible avec votre ordinateur. Essayez de l’enlever pour savoir si l’ordinateur peut démarrer.60 Chapitre 4 Dépannage  Si le voyant d’état continue à clignoter, déterminez le nombre de clignotements pour identifier le problème :  un clignotement court suivi d’une extinction plus longue : pas de mémoire valide.  trois clignotements courts suivis d’une extinction plus longue : mémoire défaillante. Problèmes liés au logiciel Lorsqu’une application est bloquée ou ne répond pas, Mac OS X vous laisse la quitter sans redémarrer votre ordinateur, ce qui permet d’enregistrer le travail effectué dans d’autres applications ouvertes. Pour forcer une application à se fermer : 1 Appuyez sur les touches Commande (x) + Option (z) + Échap ou choisissez Pomme () > Forcer à quitter dans la barre des menus. 2 Sélectionnez le nom de l’application que vous souhaitez quitter dans la zone de dialogue Forcer à quitter les applications. 3 Cliquez sur Forcer à quitter. L’application se ferme, en laissant toutes les autres applications ouvertes. Vous rencontrez un problème avec une application.  Utilisez Mise à jour de logiciels afin de vous assurer que vous disposez des tous derniers gestionnaires, résolutions de problèmes et autres mises à jour.  Pour les problèmes liés aux logiciels provenant d’éditeurs tiers, contactez l’éditeur concerné.Chapitre 4 Dépannage 61 Vous rencontrez un problème de fonctionnement de votre ordinateur ou de Mac OS X.  Consultez Aide Mac (dans le menu Aide) pour obtenir des instructions et des renseignements de dépannage.  Pour obtenir les derniers renseignements de dépannage et des mises à jour de logiciels, consultez le site web de support d’Apple à l’adresse www.apple.com/fr/support. Maintien à jour de vos logiciels Vous pouvez vous connecter à Internet pour télécharger et installer automatiquement les dernières versions de logiciels, gestionnaires et autres améliorations fournis par Apple. Chaque fois que vous vous connectez à Internet, « Mise à jour de logiciels » consulte les serveurs Internet d’Apple pour rechercher les mises à jour disponibles pour votre ordinateur. Vous pouvez configurer votre Mac de façon à télécharger périodiquement à partir des serveurs Apple les mises à jours de logiciels et à les installer. Pour rechercher des logiciels mis à jour : 1 Ouvrez Préférences Système. 2 Cliquez sur l’icône « Mise à jour de logiciels » et suivez les instructions à l’écran.  Pour plus de renseignements, recherchez « Mise à jour de logiciels » dans l’Aide Mac.  Pour obtenir les toutes dernières informations concernant Mac OS X, accédez au site web Mac OS X à l’adresse www.apple.com/fr/macosx.62 Chapitre 4 Dépannage Problèmes de communication sans fil AirPort Wireless En cas de problèmes avec les communications sans fil AirPort :  Assurez-vous que le logiciel est correctement configuré conformément aux instructions incluses avec votre borne d’accès.  Vérifiez que l’ordinateur ou le réseau auquel vous souhaitez vous connecter est activé et dispose d’un point d’accès sans fil.  Assurez-vous que l’autre ordinateur ou le point d’accès au réseau se trouve dans la zone de couverture de l’antenne de votre ordinateur. Des appareils électroniques ou des structures métalliques se trouvant à proximité peuvent interférer avec les communications sans fil et réduire la portée de votre antenne. Vous pouvez éventuellement améliorer la réception en réorientant l’ordinateur.  Vérifiez la puissance du signal AirPort. Il est possible que l’icône d’état AirPort de la barre des menus indique quatre barres.  Pour en savoir plus, consultez les instructions fournies avec votre périphérique sans fil ou recherchez « AirPort » dans Aide Mac. Problèmes de moniteur AVERTISSEMENT : si vous rencontrez un problème avec votre moniteur Apple Display et que vous ne parvenez pas à le résoudre à l’aide de ce manuel, sollicitez l’assistance d’un Centre de Maintenance Agréé Apple ou d’Apple. Si vous tentez de le réparer vousmême, les dommages éventuels ne seront pas couverts par la garantie limitée de votre moniteur. Adressez-vous à un revendeur agréé Apple ou à un Centre de Maintenance Agréé Apple pour tout renseignement complémentaire relatif à la garantie.Chapitre 4 Dépannage 63 Aucune image ne s’affiche à l’écran.  Assurez-vous que le moniteur et l’ordinateur sont sous tension.  Vérifiez que les câbles sont correctement connectés à l’ordinateur et au moniteur.  Si votre carte graphique a un câble d’alimentation interne, assurez-vous qu’il est connecté à la carte et à la carte mère.  Assurez-vous que votre ordinateur n’est pas en veille. Appuyez sur le bouton d’alimentation ou sur n’importe quelle touche pour voir si cela réactive l’ordinateur.  Assurez-vous que la luminosité et le contraste du moniteur sont réglés correctement. Certains moniteurs disposent de commandes de luminosité et de contraste situées sur ou sous leur face avant.  Réinitialisez la mémoire des paramètres (PRAM) en redémarrant l’ordinateur tout en maintenant les touches Commande (x) + Option (z) + P + R enfoncées, jusqu’à entendre une deuxième fois le signal de démarrage. Démarrez alors en utilisant le disque d’installation du logiciel fourni avec l’ordinateur. L’image à l’écran est sombre ou vacillante.  Réglez la luminosité et le contraste. Certains moniteurs disposent de commandes de luminosité et de contraste situées sur ou sous leur face avant. Vous pouvez peut- être également ajuster la luminosité ou le contraste de votre moniteur dans la fenê- tre Moniteurs de Préférences Système.  Calibrez le moniteur en sélectionnant menu Pomme () > Préférences Système. Cliquez sur Moniteurs, sélectionnez Couleur puis cliquez sur Calibrer. Consultez Aide Mac pour en savoir plus sur les couleurs et sur votre moniteur.64 Chapitre 4 Dépannage  Il se peut que le vacillement soit dû à des interférences provoquées par la proximité d’une ligne électrique, d’une lampe fluorescente ou d’un appareil électrique tel qu’une radio, un four à micro-ondes ou un autre ordinateur. Essayez de trouver un autre endroit pour les appareils électriques situés à proximité ou de déplacer le moniteur et l’ordinateur. Les couleurs n’apparaissent pas à l’écran ou présentent un aspect inhabituel.  Assurez-vous que le moniteur est correctement connecté à l’ordinateur.  Calibrez votre moniteur comme décrit ci-dessus.  Ouvrez la fenêtre Moniteurs de Préférences Système et vérifiez que votre moniteur est réglé pour un affichage en couleur. Consultez Aide Mac pour en savoir plus sur les couleurs et sur votre moniteur. Les icônes du bureau changent de place après la modification de la résolution d’écran. Toute modification de la résolution d’écran influe sur l’affichage des informations à l’écran. Une fois la résolution d’écran modifiée, le système d’exploitation est susceptible de réorganiser les icônes. Écran figé.  Forcer l’application bloquée à quitter. Choisissez Pomme (), cliquez sur Forcer à quitter puis sélectionnez l’application à fermer.  Si cela ne fonctionne pas, forcez l’ordinateur à redémarrer en appuyant sur son bouton d’alimentation (®) pendant 5 ou 6 secondes jusqu’à l’extinction de votre Mac Pro. Appuyez à nouveau sur le bouton d’alimentation (®) pour allumer votre Mac Pro.Chapitre 4 Dépannage 65 Le voyant situé sur la face avant du moniteur clignote. Sur certains moniteurs à écran plat d’Apple, le témoin d’alimentation clignote rapidement pendant quelques instants lorsqu’une erreur est détectée.  Si vous voyez une séquence répétée de trois clignotements courts, cela signifie que le moniteur détecte un signal en entrée dont le format vidéo est incorrect. Assurez-vous que votre moniteur est compatible avec la carte graphique et que vous avez installé le bon pilote (si le moniteur a été fourni avec un logiciel d’installation).  Si vous voyez une séquence répétée de deux clignotements courts et un clignotement long, le moniteur détecte un problème de lampe de rétro-éclairage. Contactez un revendeur agréé Apple ou un Centre de Maintenance Agréé Apple. Problèmes de connexion à Internet En cas de problèmes avec votre connexion à Internet, vous pouvez suivre les recommandations de cette section, en commençant par Diagnostic réseau. Pour utiliser Diagnostic réseau : 1 Choisissez le menu Pomme () > Préférences Système. 2 Cliquez sur Réseau puis cliquez sur « Assistant ». 3 Cliquez sur Diagnostic pour lancer Diagnostic réseau. 4 Suivez les instructions à l’écran. Si Diagnostic réseau n’est pas en mesure de résoudre le problème, celui-ci est peut-être lié au fournisseur d’accès à Internet auquel vous essayez de contacter, au périphérique externe utilisé pour la connexion au fournisseur d’accès à Internet ou au serveur auquel vous essayez d’accéder. Vous pouvez également essayer les méthodes suivantes.66 Chapitre 4 Dépannage Connexions à Internet par modem câble, ligne DSL et réseau local (LAN) Assurez-vous que tous les câbles du modem sont complètement branchés, y compris le câble d’alimentation du modem, le câble reliant le modem à l’ordinateur et le câble raccordant le modem à la prise murale. Vérifiez les câbles et l’alimentation des routeurs et des concentrateurs Ethernet. Éteignez puis rallumez le modem pour le réinitialiser. Éteignez votre modem câble ou DSL, puis rallumez-le après quelques minutes. Certains fournisseurs d’accès à Internet conseillent de débrancher le câble d’alimentation du modem. Si votre modem dispose d’un bouton de réinitialisation, vous pouvez l’actionner avant d’avoir éteint puis rallumé le modem, ou après. Connexions PPPoE Si vous ne parvenez pas à vous connecter à votre fournisseur d’accès à Internet via PPPoE, assurez-vous que les informations correctes ont été saisies dans les préférences Réseau. Vérifiez les réglages de Préférences Système : 1 Choisissez le menu Pomme () > Préférences Système. 2 Cliquez sur Réseau. 3 Dans le menu local Afficher, sélectionnez Configurations de ports réseau. 4 Sélectionnez Ethernet intégré, puis faites glisser cette configuration en haut de la liste des configurations de ports. 5 Dans le menu local Afficher, sélectionnez Ethernet intégré. 6 Cliquez sur PPPoE. 7 Sélectionnez Se connecter via PPPoE.Chapitre 4 Dépannage 67 8 Vérifiez le champ Nom de compte pour vous assurer d’avoir tapé les informations correctes fournies par votre FAI. 9 Si vous avez choisi d’enregistrer votre mot de passe, tapez-le à nouveau en vous assurant qu’il est correct. 10 Cliquez sur TCP/IP. Assurez-vous d’avoir saisi dans cette sous-fenêtre les bonnes informations fournies par votre fournisseur d’accès à Internet. 11 Cliquez sur Appliquer. Connexions par réseau Assurez-vous que le câble Ethernet est branché dans votre ordinateur et au réseau. Vérifiez les câbles et l’alimentation de vos routeurs et concentrateurs Ethernet. Si vous disposez de plusieurs ordinateurs partageant une connexion à Internet, assurez-vous que votre réseau est correctement configuré. Vous devez savoir si votre fournisseur d’accès à Internet fournit une seule ou plusieurs adresses IP, autrement dit, une pour chaque ordinateur. Si une seule adresse IP est utilisée, vous devez disposer d’un routeur capable de partager la connexion (on parle alors de conversion d’adresses réseau (NAT) ou de masquage d’adresses IP). Pour obtenir des informations sur la configuration, consultez la documentation fournie avec votre routeur ou contactez la personne qui a configuré votre réseau. La borne d’accès AirPort peut servir à partager une adresse IP entre plusieurs ordinateurs. Pour plus de renseignements sur l’utilisation d’une la borne d’accès AirPort, consultez Aide Mac ou rendez-vous sur le site web AirPort, à l’adresse www.apple.com/fr/support/airport.68 Chapitre 4 Dépannage Si ces méthodes s’avèrent insuffisantes pour résoudre les problèmes rencontrés, contactez votre fournisseur d’accès à Internet ou votre administrateur réseau. Utilisation d’Apple Hardware Test Apple Hardware Test vous aide à déterminer s’il existe un problème matériel sur votre ordinateur. Pour utiliser Apple Hardware Test : 1 Déconnectez tous les périphériques de votre ordinateur sauf le clavier et la souris. Si un câble Ethernet est connecté, déconnectez-le. 2 Insérez le disque 1 d’installation de Mac OS X fourni avec votre ordinateur. 3 Redémarrez ensuite votre ordinateur en maintenant la touche D enfoncée lors du démarrage. Une liste de volumes de démarrage disponibles apparaît alors. 4 Cliquez sur Apple Hardware Test, puis sur la flèche droite. 5 Lorsque l’écran principal Apple Hardware Test apparaît (environ 45 secondes plus tard), suivez les instructions affichées à l’écran. 6 En cas de détection d’un problème, Apple Hardware Test affiche un code d’erreur. Notez le code d’erreur avant d’entreprendre les démarches d’assistance. Si Apple Hardware Test ne détecte pas de panne matérielle, il est probable que le problème soit lié aux logiciels. Pour en savoir plus sur Apple Hardware Test, consultez le fichier « À propos d’AHT » sur le disque « Mac OS X Install Disc 1 ». Chapitre 4 Dépannage 69 Réinstallation des logiciels fournis avec votre ordinateur Les disques d’installation de logiciels fournis avec votre ordinateur permettent de réinstaller Mac OS X et les applications livrées avec votre ordinateur. Important :Apple vous recommande de sauvegarder les données de votre disque dur avant de procéder à la restauration du logiciel. Apple décline toute responsabilité en cas de perte de données. Installation de Mac OS X Pour installer Mac OS X : 1 Sauvegardez vos fichiers importants si cela est possible. 2 Insérez le disque 1 d’installation de Mac OS X fourni avec votre ordinateur. 3 Double-cliquez sur « Install Mac OS X and Bundled Software ». 4 Suivez les instructions à l’écran. 5 Sélectionnez le disque de destination pour l’installation, puis continuez de suivre les instructions à l’écran. Il se peut que votre ordinateur redémarre et vous demande d’insérer le prochain disque de Mac OS X. Important :nous vous conseillons de sauvegarder vos fichiers essentiels avant d’installer Mac OS X et les autres applications car l’option « Effacer et installer » efface votre disque de destination. Installation des applications Pour installer les applications fournies avec votre ordinateur, veuillez procéder comme suit. Mac OS X doit déjà être installé sur votre ordinateur. 70 Chapitre 4 Dépannage Pour installer les applications : 1 Sauvegardez vos fichiers importants si cela est possible. 2 Insérez le disque 1 d’installation de Mac OS X fourni avec votre ordinateur. 3 Double-cliquez sur « Bundled Software ». 4 Suivez les instructions à l’écran. 5 Sélectionnez le disque de destination pour l’installation, puis continuez de suivre les instructions à l’écran. Remarque :iCal, iChat, iSync, iTunes et Safari font partie de Mac OS X. Pour installer ces applications, suivez les instructions « Installation de Mac OS X » ci-dessus. Optimisation des performances Ethernet Votre ordinateur fonctionne de façon optimale lorsque le port Ethernet auquel il est connecté est réglé sur la négociation automatique. Demandez à votre administrateur de réseau de vérifier ce réglage. Important :si vous rencontrez des problèmes de connexion sur votre réseau, vérifiez si possible que le commutateur de réseau est réglé sur la négociation automatique. Si le port du commutateur ne fonctionne pas en négociation automatique, votre ordinateur détecte la vitesse appropriée, mais se règle par défaut sur le mode semi-duplex. Si le port du commutateur à l’autre extrémité de la liaison est configuré en mode bidirectionnel simultané (full duplex), un grand nombre d’événements retardés peuvent se produire sur la liaison. S’il n’est pas possible de régler le commutateur sur la négociation automatique, réglez alors le port du commutateur sur semi-duplex. Pour plus de renseignements, reportez-vous à la documentation fournie avec le commutateur Ethernet.Chapitre 4 Dépannage 71 Remarque :si vous connectez votre ordinateur directement à un commutateur Ethernet configurable, demandez à votre administrateur de réseau de désactiver l’arborescence sur ce port. Dans le cas contraire, il se peut que votre ordinateur duplique l’adresse AppleTalk d’un autre ordinateur du même réseau, ce qui rendrait instables les deux connexions au réseau. En savoir plus, service et assistance technique Si votre Mac Pro a besoin de service, apportez-le à un Centre de Maintenance Agréé Apple ou contactez Apple. Pour plus de renseignements sur votre Mac Pro consultez les ressources en ligne, l’aide à l’écran, Informations Système ou le logiciel Apple Hardware Test. Si vous n’avez pas commandé de technologie sans fil AirPort ou Bluetooth avec votre Mac Pro, contactez un Centre de Maintenance Agréé Apple ou un magasin Apple Store. Ressources en ligne Pour tout service ou assistance technique en ligne, consultez le site www.apple.com/fr/support/. Choisissez votre pays dans le menu local. Vous pouvez effectuer des recherches dans la base de connaissances AppleCare, rechercher des mises à jour de logiciels ou obtenir de l’aide par le biais des forums de discussion Apple. Aide à l’écran Quelle que soit votre question, la réponse, des instructions et des informations relatives à la résolution du problème éventuel se trouvent probablement dans l’Aide Mac. Sélectionnez Aide > Aide Mac.72 Chapitre 4 Dépannage Informations Système Pour obtenir des informations détaillées sur votre ordinateur, utilisez Informations Système. Informations Système vous indique par exemple le matériel et les logiciels installés, le numéro de série et la version du système d’exploitation et la quantité de mémoire installée. Pour ouvrir Informations Système, choisissez Apple () > À propos de ce Mac dans la barre des menus, puis cliquez sur Plus d’infos. Apple Hardware Test Vous pouvez utiliser Apple Hardware Test pour diagnostiquer les problèmes de maté- riel survenant sur votre Mac Pro. Pour plus de renseignements, consultez la section « Utilisation d’Apple Hardware Test » à la page 68. Informations sur le service et l’assistance technique d’AppleCare Votre Mac Pro est fourni avec 90 jours d’assistance téléphonique et un an de service par un Centre de réparations agréé Apple. Pour étendre votre couverture, vous pouvez acheter le plan de protection AppleCare Protection Plan. Pour plus de renseignements, consultez le site web de votre pays indiqué ci-dessous. Si vous avez besoin d’une assistance complémentaire, les préposés à l’assistance téléphonique d’AppleCare pourront vous aider à installer et ouvrir des applications et à effectuer des opérations élémentaires de dépannage. Appelez le numéro du centre d’assistance le plus proche de chez vous (les premiers 90 jours sont gratuits). Ayez la date d’achat et le numéro de série de votre Mac Pro à portée de la main lorsque vous appelez.Chapitre 4 Dépannage 73 Remarque :votre période de 90 jours d’assistance téléphonique gratuite commence à la date d’achat. Des frais téléphoniques peuvent être applicables. Pour une liste complète, consultez la page www.apple.com/fr/contact/ phone_contacts.html. Le numéros de téléphone sont susceptibles de changer. Les tarifs de communication locaux et nationaux sont applicables. Localisation du numéro de série Informations Système vous indique le numéro de série de votre Mac Pro. Ouvrez Informations Système, dans le dossier Utilitaires du dossier Applications, puis cliquez sur l’onglet Informations Système. Le numéro de série de votre Mac Pro est également indiqué sur l’étiquette de configuration qui se trouve à l’arrière. Pays Téléphone site web Autriche (43) 0810 300 427 www.apple.com/at/support Belgique (flamand) (français) (32) 070 700 772 (32) 070 700 773 www.apple.com/benl/support www.apple.com/befr/support France (33) 0825 888 024 www.apple.com/fr/support Allemagne (49) 01805 009 433 www.apple.com/de/support Luxembourg (352) 800 24550 www.apple.com/befr/support Suisse (français) (allemand) (41) 0848 000 132 (41) 0848 000 132 www.apple.com/chfr/support www.apple.com/chde/supportAnnexe 75 A A Caractéristiques Caractéristiques techniques du processeur et de la mémoire Processeur  Deux processeurs double cœur ou quadruple cœur Intel Xeon  4 mégaoctets (Mo) de mémoire cache L2 sur puce par processeur bicœur  8 Mo de mémoire cache L2 sur puce par processeur quadrule cœur  Double bus frontaux indépendants cadencés à 1 333 MHz Mémoire vive (RAM)  Barrettes de mémoire en ligne doubles à mise en cache totale (FB-DIMM)  Barrettes FB-DIMM PC2-5300 DDR2 667 MHz  Les barrettes DIMM doivent être installées par paires de taille et capacité identiques (le même nombre de barrette par DIMM)  Huit logements de mémoire DIMM sont disponibles (quatre par carte mémoire)  Code de correction d’erreur (ECC)  barrettes de 72 bits à 240 broches ;  36 dispositifs de mémoire maximum par DIMM  Contient un dissipateur thermique approuvé par Apple (pour optimiser les performances acoustiques)  Conforme aux spécifications JEDEC (voir la page 35)76 Annexe A Caractéristiques  Hauteur maximale de 31 mm  Sans parité Informations Système, dans le dossier Utilitaires du dossier Applications, fournit des informations sur votre ordinateur et notamment sur la quantité de mémoire. Carte graphique Carte graphique PCI Express dotée de deux connecteurs d’interface vidéo numérique (DVI). Modes d’affichage vidéo Pour connaître les caractéristiques techniques de votre écran :  Moniteurs Apple :rendez-vous à www.apple.com/fr/displays.  Moniteurs de tierce partie :rendez-vous à www.apple.com/fr/guide. Caractéristiques techniques du lecteur SuperDrive (DVD+R DL/ DVD±RW/CD-RW)  Diamètres de disque gérés :12 cm et 8 cm Formats de données  CD-ROM  CD Audio  CD-R  CD-RW  CD-I  CD-I Bridge  CD Extended (CD étendu)Annexe A Caractéristiques 77  CD Mixed Mode (CD en mode mixte)  CD Photo  CD Vidéo  CD Extra  DVD vidéo  DVD±R  DVD±RW  DVD+R DL Caractéristiques techniques des ports USB  Gestion des normes USB (Universal Serial Bus) 2.0 et 1.1  Sept ports USB externes Type A:  deux ports USB 2.0 à l’avant  trois ports USB 2.0 à l’arrière  deux ports USB 1.1 intégrés au clavier Apple Keyboard  Chaque port arrière se trouve sur un canal USB distinct de 480 mégabits par seconde (Mbit/s)  500 milliampères (mA) disponibles pour un total de 1,5 A à l’arrière et 1,0 A à l’avant Caractéristiques techniques de FireWire  Prise en charge de FireWire 400 et FireWire 800  Quatre ports FireWire externes : un port FireWire 400 et un port FireWire 800 sur chacune des faces avant et arrière de l’ordinateur78 Annexe A Caractéristiques  Vitesse de transfert des données :  FireWire 400 :100, 200 et 400 Mbit/s  FireWire 800 :100, 200, 400 et 800 Mbit/s Puissance  Tension de sortie :environ 12 V  Puissance de sortie :jusqu’à 28 W pour les 4 ports ou 7 W pour chaque port Caractéristiques techniques du réseau Ethernet  Conforme à la directive IEEE 802.3  Longueur maximale du câble : 100 mètres (m)  Protocoles :Open Transport, AppleShare, AppleTalk, NetWare pour Macintosh, TCP/IP  Connecteur :RJ-45 pour 10Base-T, 100Base-TX et 1000Base-T  Support, 10Base-T :câble UTP de catégorie 3 (CAT 3) ou supérieure sur 2 paires jusqu’à 100 m  Support, 100Base-TX :câble UTP de catégorie 5e (CAT 5e) sur 2 paires jusqu’à 100 m  Support, 1000Base-T :câble UTP de catégorie 5e (CAT 5e) sur 4 paires jusqu’à 100 m  Vitesses de canal :auto-négociation IEEE de 10Base-T, 100Base-TX et 1000Base-T Caractéristiques Bluetooth 2.0+EDR (facultatif)  Débit sur liaison sans fil :jusqu’à 3 Mbit/s  Portée :jusqu’à 10 mètres (le débit de transmission des données peut varier en fonction des conditions ambiantes)  Bande de fréquences :2,4 gigahertz (GHz)Annexe A Caractéristiques 79 Caractéristiques AirPort Extreme (facultatif)  Bande de fréquences :2,4 et 5 gigahertz (GHz)  Puissance de sortie radio :20 dBm (nominal) Compatibilité  802.11a, b, g et projet de standard n Caractéristiques audio numérique optique  Format de données :protocole S/PDIF (Sony/Phillips Digital Interface, IEC60958-3)  Type de connecteur :optique Toslink (IEC60874-17)  Bits par échantillon :16 bits ou 24 bits Sortie audio numérique optique Basé sur situation typique, avec lecture d’une onde sinusoïdale de 1 kHz, 0 dBFS, 24 bits et fréquence d’échantillonnage en sortie de 44,1 kHz, sauf indications contraires ci-dessous.  Fréquence d’échantillonnage en sortie :44,1 kHz, 48 kHz ou 96 kHz  Rapport signal bruit :supérieur à 130 dB  Distorsion harmonique totale + bruit :inférieurs à - 130 dB (0,00001 pour cent) Entrée audio numérique optique Basé sur situation typique, avec lecture d’une onde sinusoïdale de 1 kHz, 0 dBFS et 24 bits, sauf indication contraire ci-dessous.  Fréquence d’échantillonnage en entrée :44,1 kHz, 48 kHz ou 96 kHz  Rapport signal bruit :supérieur à 130 dB  Distorsion harmonique totale + bruit :inférieurs à - 130 dB (0,00001 pour cent)80 Annexe A Caractéristiques Caractéristiques audio analogique  Fréquence d’échantillonnage :44,1 kHz, 48 kHz ou 96 kHz  Type de prise :mini-jack 3,5 mm  Bits par échantillon :16 bits ou 24 bits  Réponse en fréquence :20 Hz à 20 kHz, + 0,5 dB/- 3 dB Sortie audio analogique via la prise pour casque d’écoute (valeurs typiques) Basé sur situation typique, avec lecture d’une onde sinusoïdale de 1 kHz, - 3 dBFS, 24 bits et fréquence d’échantillonnage en sortie de 44,1 kHz dans 150 ohms, sauf indications contraires ci-dessous.  Tension de sortie :1,4 volts (valeur efficace) (Veff ) (+ 5,1 dBµ)  Impédance de sortie :24 ohms  Puissance de sortie :90 milliwatts (mW)  Rapport signal bruit :supérieur à 90 dB  Distorsion harmonique totale + bruit :inférieure à - 75 dB (0,01 pour cent)  Séparation des voies :supérieure à 50 dB Entrée audio analogique (valeurs typiques) Basé sur situation typique, avec lecture d’une onde sinusoïdale de 1 kHz, -3 dBFS, 24 bits et fréquence d’échantillonnage en sortie de 44,1 kHz, sauf indications contraires ci-dessous.  Tension d’entrée maximale :2 Veff (+ 8,2 dBµ)  Impédance d’entrée :supérieure à 20 kiloohms  Rapport signal bruit :supérieur à 90 dBAnnexe A Caractéristiques 81  Distorsion harmonique totale + bruit :inférieure à - 85 dB (0,006 pour cent)  Séparation des voies :supérieure à 80 dB Sortie audio analogique (valeurs typiques) D’après un cas typique, avec lecture d’une onde sinusoïdale de 1 kHz, -3 dBFS, 24 bits et fréquence d’échantillonnage en sortie de 44,1 kHz en 100 ohms, sauf indications contraires ci-dessous.  Tension de sortie :1,6 Veff (+ 6,3 dBµ)  Impédance de sortie :24 ohms  Rapport signal bruit :supérieur à 90 dB  Distorsion harmonique totale + bruit :inférieure à - 85 dB (0,01 pour cent)  Séparation des voies :supérieur à 90 dB Alimentation Entrée de ligne, courant alternatif  Plages de tension :de 100 V à 240 V en courant alternatif (CA)  Intensité :Maximum de 12 A (plage basse tension) ou 6 A (plage haute tension)  Fréquence :50 à 60 Hz Alimentation requise pour les cartes d’extension et les périphériques Cartes d’extension La consommation de courant combinée des quatre logements PCI Express ne doit pas dépasser 300 watts (W). Périphériques USB Chacun des ports USB intégrés dispose de 500 mA. 82 Annexe A Caractéristiques Périphériques FireWire L’ordinateur peut fournir un total de 28 W aux ports FireWire. Horloge et pile du système Votre ordinateur est équipé d’un circuit cmOS personnalisé avec une pile longue durée. Pile Utilisez une pile de rechange au lithium, de type CR-2032 de 3 V (voir la rubrique « Remplacement de la pile de secours interne » à la page 55). Dimensions et conditions de fonctionnement Dimensions  Poids :19,2 kg. Le poids dépend du modèle. Le poids indiqué ci-dessus correspond à la configuration de base et peut être supérieur si des périphériques facultatifs sont installés.  hauteur : 511 mm  largeur : 206 mm  profondeur : 475 mm Conditions de fonctionnement  Température de fonctionnement :10° C à 35° C  Température de stockage :40° C à 47° C  Humidité relative :5 % à 95 % (sans condensation)  Altitude : 0 à 3 048 mètresAnnexe 83 B B Environnement de travail, sécurité et entretien Cette annexe contient des informations importantes concernant les consignes de sécurité et l’entretien ainsi que des remarques sur l’organisation de l’espace de travail pour l’utilisation de votre ordinateur et de votre moniteur. Consignes de sécurité importantes Le seul moyen de couper totalement l’alimentation de votre ordinateur consiste à débrancher le câble d’alimentation de la source d’alimentation principale. Pour déconnecter complètement votre moniteur, vous devez également débrancher le câble d’alimentation qui le raccorde à l’ordinateur ou à la source d’alimentation. Pour pourvoir débrancher l’ordinateur ou le moniteur en cas de besoin, veillez à pouvoir accéder facilement à l’une des extrémités du câble d’alimentation de l’appareil. Pour votre propre sécurité et celle de votre matériel, respectez toujours les consignes suivantes. Dans les situations suivantes, débranchez la fiche d’alimentation (en tirant sur la fiche et non sur le câble) de l’ordinateur ou du moniteur et débranchez le câble du téléphone :  Le câble ou la fiche d’alimentation est usé(e) ou endommagé(e).  Vous avez renversé quelque chose dans le boîtier de l’ordinateur.84 Annexe B Environnement de travail, sécurité et entretien  L’ordinateur ou le moniteur a été exposé à la pluie ou à une humidité excessive.  L’ordinateur ou le moniteur est tombé ou son boîtier a été endommagé.  Vous pensez que l’ordinateur ou le moniteur doit faire l’objet d’une révision ou d’une réparation.  Vous voulez nettoyer l’ordinateur, ou le boîtier ou l’écran du moniteur.  Si vous ne pensez pas utiliser votre ordinateur durant une période prolongée, retirez la pile. Pour des réparations ou des questions liées à votre garantie, contactez un CMAA (Centre de Maintenance Agréé Apple) ou Apple. La documentation fournie avec votre ordinateur contient des informations relatives à l’assistance et à la maintenance. Apple et l’environnement Apple reconnaît sa responsabilité en matière de minimisation de l’impact de ses opérations et de ses produits sur l’environnement. Pour plus de renseignements, consultez le site www.apple.com/environment (en anglais). Entretien général Pour nettoyer votre ordinateur ou le moniteur de manière plus complète, procédez comme suit : 1 Éteignez l’ordinateur et le moniteur. 2 Déconnectez le câble d’alimentation de l’ordinateur du côté de la prise ou multiprise électrique. Si votre moniteur est branché sur une prise, débranchez-le également. 3 Débranchez les câbles du moniteur du côté de l’ordinateur.Annexe B Environnement de travail, sécurité et entretien 85 4 Nettoyez l’écran du moniteur à l’aide d’un papier absorbant ou d’un tissu doux et non pelucheux imbibé d’eau légèrement savonneuse. 5 Nettoyez délicatement le boîtier de l’ordinateur ou du moniteur à l’aide d’un chiffon propre, doux et humide. Important :n’utilisez pas d’alcool, d’aérosol ni de produit solvant ou abrasif susceptible d’endommager la finition du boîtier. Protection de votre lecteur optique Pour garantir le bon fonctionnement de votre lecteur optique :  Placez votre ordinateur de telle sorte que le plateau du lecteur ne heurte aucun obstacle lors de son ouverture.  Laissez le lecteur fermé lorsque vous ne l’utilisez pas.  Ne placez aucun objet sur le plateau du lecteur lorsqu’il est ouvert.  Ne touchez pas la lentille du lecteur optique avec vos doigts. N’essuyez pas la lentille du lecteur avec un mouchoir en papier ni aucune autre matière abrasive. Si vous devez la nettoyer, procurez-vous les produits adéquats auprès d’un Centre de Maintenance Agréé Apple.  Maintenez votre ordinateur à l’écart de toute source d’humidité. · AVERTISSEMENT : ne vaporisez pas de liquide directement sur l’écran du moniteur. Une partie de ce liquide pourrait s’infiltrer à l’intérieur et provoquer une décharge électrique.86 Annexe B Environnement de travail, sécurité et entretien Entretien de votre moniteur Pour entretenir votre moniteur et en garantir la longévité :  N’appuyez pas sur la surface de l’écran.  N’écrivez pas sur l’écran et ne le touchez pas avec un objet tranchant.  Si vous ne pensez pas utiliser le moniteur et l’ordinateur pendant au moins une journée, éteignez-les ou utilisez les réglages Économiseur d’énergie.  En cas d’inactivité prolongée de votre ordinateur, éteignez l’écran, baissez la luminosité ou utilisez un programme d’économie d’écran qui assombrit ou modifie l’image affichée. Informations importantes sur l’organisation de l’espace de travail et la santé Voici quelques conseils permettant d’adapter votre environnement de travail à votre morphologie et prévenir la fatigue oculaire.  Optez pour un siège de bureau réglable et offrant un dossier et une assise confortables. Réglez la hauteur du siège de manière à ce que vos cuisses soient légèrement inclinées et que vos pieds soient posés à plat sur le sol. Le dossier du siège doit soutenir votre région lombaire, c’est-à-dire la partie inférieure de votre dos. Suivez les instructions du fabricant de telle sorte que le réglage du dossier soit parfaitement adapté à votre morphologie.Annexe B Environnement de travail, sécurité et entretien 87  Lorsque vous utilisez le clavier de l’ordinateur, vos épaules doivent être détendues. Le bras et l’avant-bras doivent former un angle droit, ou presque, et votre main doit être dans le prolongement du poignet. Au besoin, relevez le siège de manière à ce que vos avant-bras et vos mains soient placés correctement par rapport au clavier. Si, dans ce cas, vos pieds ne reposent plus à plat sur le sol, utilisez un repose-pied inclinable et réglable en hauteur. Si vous disposez d’un bureau modulaire, vous pouvez abaisser le niveau du plan de travail pour éviter l’emploi d’un repose-pied. Une troisième solution consiste à utiliser un bureau dont le poste de saisie est situé plus bas que le plan de travail.  Veillez à ce que la souris se trouve à hauteur du clavier. Prévoyez également un espace suffisant pour pouvoir la manipuler commodément.  Placez le moniteur de manière à ce que le haut de l’écran se trouve légèrement en dessous du niveau des yeux lorsque vous êtes assis à votre poste de travail. Il vous appartient de juger de la meilleure distance entre vos yeux et l’écran. Elle se situe en général entre 45 et 70 cm. 88 Annexe B Environnement de travail, sécurité et entretien  Positionnez le moniteur de façon à éviter que la réflexion sur sa surface de l’éclairage au plafond ou de la lumière des fenêtres de la pièce ne vous éblouisse. Si possible, utilisez un pied de moniteur inclinable. Le pied vous permet de régler le meilleur angle de vision et de réduire ou d’éliminer l’éblouissement causé par les sources lumineuses impossibles à déplacer. Pour plus d’information sur l’hygiène, la sécurité et la maintenance, consultez la page Internet d’Apple sur l’ergonomie à l’adresse www.apple.com/about/ergonomics (en anglais). Cuisses légèrement inclinées Épaules détendues Écran orienté de manière à réduire les reflets Mains dans le prolongement des avant-bras Avant-bras à l’horizontale ou légèrement relevés Dossier soutenant la région lombaire Pieds à plat sur le sol ou sur un repose-pied Haut de l’écran au niveau des yeux ou légèrement en dessous. (Vous devrez peut-être ajuster la hauteur du moniteur en surélevant votre plan de travail ou le moniteur lui-même) Espace dégagé sous le plan de travail 45–70 cm (18–28 in.)Annexe B Environnement de travail, sécurité et entretien 89 Prévention des dommages auditifs AVERTISSEMENT : l’utilisation d’écouteurs ou d’un casque d’écoute à un niveau de volume trop élevé peut provoquer une perte permanente d’acuité auditive. L’oreille peut s’adapter petit à petit à des volumes sonores de plus en plus élevés qui peuvent sembler normaux, mais qui risquent à la longue d’endommager votre système auditif. En cas de sifflements ou de perte d’acuité auditive, arrêtez d’utiliser le casque ou les écouteurs et consultez un médecin. Plus le volume est élevé, plus votre audition risque d’être affectée rapidement. Pour protéger votre système auditif, les spécialistes conseillent de prendre les mesures suivantes :  Limitez la durée d’utilisation à volume élevé de vos écouteurs ou de votre casque d’écoute.  Évitez d’augmenter le volume pour ne pas entendre les bruits environnants.  Baissez le volume si vous ne parvenez pas à entendre une personne qui vous parle.91 Regulatory Compliance Information Compliance Statement This device complies with part 15 of the FCC rules. Operation is subject to the following two conditions: (1) This device may not cause harmful interference, and (2) this device must accept any interference received, including interference that may cause undesired operation. See instructions if interference to radio or television reception is suspected. L‘utilisation de ce dispositif est autorisée seulement aux conditions suivantes : (1) il ne doit pas produire de brouillage et (2) l’utilisateur du dispositif doit étre prêt à accepter tout brouillage radioélectrique reçu, même si ce brouillage est susceptible de compromettre le fonctionnement du dispositif. Radio and Television Interference This computer equipment generates, uses, and can radiate radio-frequency energy. If it is not installed and used properly—that is, in strict accordance with Apple’s instructions—it may cause interference with radio and television reception. This equipment has been tested and found to comply with the limits for a Class B digital device in accordance with the specifications in Part 15 of FCC rules. These specifications are designed to provide reasonable protection against such interference in a residential installation. However, there is no guarantee that interference will not occur in a particular installation. You can determine whether your computer system is causing interference by turning it off. If the interference stops, it was probably caused by the computer or one of the peripheral devices. If your computer system does cause interference to radio or television reception, try to correct the interference by using one or more of the following measures:  Turn the television or radio antenna until the interference stops.  Move the computer to one side or the other of the television or radio.  Move the computer farther away from the television or radio.  Plug the computer into an outlet that is on a different circuit from the television or radio. (That is, make certain the computer and the television or radio are on circuits controlled by different circuit breakers or fuses.) In necessary, consult an Apple Authorized Service Provider or Apple. See the service and support information that came with your Apple product. Or, consult an experienced radio/television technician for additional suggestions. Important:changes or modifications to this product not authorized by Apple Inc., could void the EMC compliance and negate your authority to operate the product. This product has demonstrated EMC compliance under conditions that included the use of compliant peripheral devices and shielded cables between system components. It is important that you use compliant peripheral devices and shielded cables (including Ethernet network cables) between system components to reduce the possibility of causing interference to radios, television sets, and other electronic devices. 92 Responsible party (contact for FCC matters only): Apple Inc. Product Compliance 1 Infinite Loop M/S 26-A Cupertino, CA 95014-2084 Wireless Radio Use This device is restricted to indoor use due to its operation in the 5.15 to 5.25 GHz frequency range to reduce the potential for harmful interference to cochannel Mobile Satellite systems. Cet appareil doit être utilisé à l’intérieur. Exposure to Radio Frequency Energy The radiated output power of the AirPort Card in this device is below the FCC radio frequency exposure limits for uncontrolled equipment. This device should be operated with a minimum distance of at least 20 cm between the AirPort Card antennas and a person’s body and must not be co-located or operated with any other antenna or transmitter. FCC Bluetooth Wireless Compliance The antenna used with this transmitter must not be colocated or operated in conjunction with any other antenna or transmitter subject to the conditions of the FCC Grant. Bluetooth Industry Canada Statement This Class B device meets all requirements of the Canadian interference-causing equipment regulations. Cet appareil numérique de la Classe B respecte toutes les exigences du Règlement sur le matériel brouilleur du Canada. Industry Canada Statement Complies with the Canadian ICES-003 Class B specifications. Cet appareil numérique de la classe B est conforme à la norme NMB-003 du Canada. This device complies with RSS 210 of Industry Canada. Bluetooth Europe - EU Declaration of Conformity This wireless device complies with the specifications EN 300 328, EN 301-489, and EN 60950 following the provisions of the R&TTE Directive. Europe–EU Declaration of Conformity The equipment complies with the RF Exposure Requirement 1999/519/EC, Council Recommendation of 12 July 1999 on the limitation of exposure of the general public to electromagnetic fields (0 Hz to 300 GHz). This equipment meets the following conformance standards: EN300 328, EN301 893, EN301 489-17, EN60950. Par la présente, Apple Inc. déclare que la carte 802.11 Mini-PCIe est conforme aux exigences essentielles et aux autres dispositions pertinentes de la directive 1999/5/CE. Ce produit est conforme aux directives européennes 72/23/CEE, 89/336/CEE et 99/5/CE. Voir www.apple.com/euro/compliance.93 Korea Mouse Statement Korea Keyboard Statement Korea Statements Singapore Wireless Certification Taiwan Wireless Statements Taiwan Statement Taiwan Class B Statement VCCI Class B Statement Souris à diode électroluminescente (DEL) de Catégorie 1 La souris Mighty Mouse d’Apple est un produit à DEL de Catégorie 1 répondant aux normes IEC 60825-1 A1 A2. It also complies with the Canadian ICES-003 Class B Specification.94 Informations sur les modems USB externes Si vous connectez votre Mac Pro à la ligne téléphone par le biais d’un modem USB externe, reportez-vous aux informations fournies par l’organisme régissant les télécommunications mentionné dans la documentation accompagnant votre modem. Apple et l’environnement Apple Inc. reconnaît sa responsabilité en matière de minimisation de l’impact de son exploitation et de ses produits sur l’environnement. De plus amples informations sont disponibles sur le web à l’adresse : www.apple.com/fr/environment95 Informations sur l’élimination et le recyclage Le symbole ci-dessus signifie que vous devez vous débarrasser correctement de votre produit en accord avec les normes et la législation de votre pays. Lorsque votre produit n’est plus utilisable, contactez Apple ou les autorités locales pour connaître les options qui vous sont proposées en matière de recyclage. Pour en savoir plus sur les programmes de recyclage proposés par Apple, rendez-vous à l’adresse : www.apple.com/fr/environment/recycling Informations sur la mise au rebut de la pile système Jetez toute pile en respectant les lois et les directives locales en matière d’environnement. California : The coin cell battery in your product contains perchlorates. Special handling and disposal may apply. Refer to www.dtsc.ca.gov/hazardouswaste/perchlorate. Deutschland: Das Gerät enthält Batterien. Diese gehören nicht in den Hausmüll. Sie können verbrauchte Batterien beim Handel oder bei den Kommunen unentgeltlich abgeben. Um Kurzschlüsse zu vermeiden, kleben Sie die Pole der Batterien vorsorglich mit einem Klebestreifen ab. Nederlands: Gebruikte batterijen kunnen worden ingeleverd bij de chemokar of in een speciale batterijcontainer voor klein chemisch afval (kca) worden gedeponeerd. Taïwan: Union européenne — Informations sur la mise au rebut et le recyclage Le symbole ci-dessus signifie que vous devez vous débarrasser de votre produit sans le mélanger avec les ordures ménagères, selon les normes et la législation de votre pays. Lorsque ce produit n’est plus utilisable, portez-le dans un centre de traitement des déchets agréé par les autorités locales. Certains centres acceptent les produits gratuitement. Le traitement et le recyclage séparé de votre produit lors de son élimination aideront à préserver les ressources naturelles et à protéger l’environnement et la santé des êtres humains. iMac G5 Guide de l’utilisateur Contient des informations sur la configuration, l’utilisation et le dépannage de votre ordinateur iMac G5 F3531M23_M33.book Page 1 Monday, October 3, 2005 3:24 PMK Apple Computer, Inc. © 2005 Apple Computer Inc. Tous droits réservés. En application des lois et conventions en vigueur, aucune reproduction totale ni partielle du manuel n’est autorisée, sauf consentement écrit préalable d’Apple. Le logo Apple est une marque d’Apple Computer, Inc., déposée aux États-Unis et dans d’autres pays. En l’absence du consentement écrit d’Apple, l’utilisation à des fins commerciales de ce logo via le clavier (Option + 1) pourra constituer un acte de contrefaçon et/ou de concurrence déloyale. Tout a été mis en œuvre pour que les informations présentées dans ce manuel soient exactes. Apple n’est pas responsable des erreurs de reproduction ou d’impression. Apple 1 Infinite Loop Cupertino, CA 95014-2084 408-996-1010 www.apple.com Apple, le logo Apple, AirPort, Final Cut Pro, FireWire, iCal, iDVD, iLife, iMac, iMovie, iPhoto, iPod, iTunes, Mac, le logo Mac, Mac OS et Macintosh sont des marques d’Apple Computer, Inc. déposées aux États-Unis et dans d’autres pays. AirPort Express, Exposé, Finder, iSight, Safari, Spotlight, SuperDrive et Tiger sont des marques d’Apple Computer Inc. AppleCare et Apple Store sont des marques de service d’Apple Computer, Inc. déposées aux États-Unis et dans d’autres pays. .Mac est une marque de service d’Apple Computer, Inc. La marque et les logos Bluetooth sont la propriété de Bluetooth SIG, Inc. et sont utilisés sous licence par Apple Computer, Inc. ENERGY STAR® est une marque déposée aux États-Unis. Les autres noms de produits et de sociétés sont la propriété de leurs détenteurs respectifs. Les produits commercialisés par des entreprises tierces ne sont mentionnés que pour information, sans aucune intention de préconisation ni de recommandation. Apple décline toute responsabilité quant à l’utilisation et au fonctionnement de ces produits. Fabriqué sous licence de Dolby Laboratories. “Dolby”, “Pro Logic” et le logo double-D sont des marques déposées de Dolby Laboratories. Travaux confidentiels inédits. © 1992–1997 Dolby Laboratories, Inc. Tous droits réservés. Le produit décrit dans le présent manuel intègre des technologies de protection de droits d’auteur elles-mêmes protégées par divers brevets américains ainsi que d’autres droits de propriété intellectuelle appartenant à Macrovision Corporation et à d’autres détenteurs. L’utilisation de ces technologies de protection des droits d’auteurs doit être autorisée par Macrovision Corporation et est destinée à un cadre privé ou de visualisation restreinte, sauf consentement de Macrovision Corporation. Tout démontage ou ingénierie inverse est interdit. Réclamations concernant l’appareillage aux États-Unis. Brevets n˚ 4,631,603, 4,577,216, 4,819,098 et 4,907,093 sous licence à des fins de visualisation limitée uniquement. Publié simultanément aux États-Unis et au Canada. F3531M23_M33.book Page 2 Monday, October 3, 2005 3:24 PM 3 1 Table des matières Chapitre 1 5 Premiers contacts 8 Étapes suivantes 10 Extinction ou suspension d’activité de votre iMac G5 Chapitre 2 11 Découverte de votre iMac G5 12 Vue de face 14 Vue de dos 16 À propos de Mac OS X 17 Personnalisation du bureau et réglage des préférences 18 Connexion à une imprimante 19 Lecture d’un CD et connexion d’écouteurs 19 Maintien à jour de votre logiciel 20 Connexion à un réseau 20 Utilisation d’Internet 21 Transfert de fichiers vers un autre ordinateur 22 Lorsqu’une application ne répond plus 22 Utilisation des applications 23 Obtention de réponses grâce à l’Aide Mac Chapitre 3 25 Utilisation de votre iMac G5 26 Utilisation de la souris Mighty Mouse 28 Commandes du clavier 28 Utilisation de votre récepteur à infrarouge et de la télécommande 32 Utilisation de la caméra vidéo iSight intégrée 34 Mise en réseau sans fil AirPort Extreme 35 Utilisation de la technologie sans fil Bluetooth 2.0 EDR 37 Connexion à un réseau Ethernet 39 Utilisation de périphériques audio 41 Connexion de la prise en charge de moniteurs externes (VGA, Composite et S-vidéo) 43 Utilisation du standard USB 2.0 (High-Speed Universal Serial Bus) 45 Connexion via FireWire 47 Utilisation de votre lecteur optique 50 Protection de votre iMac G5 F3531M23_M33.book Page 3 Monday, October 3, 2005 3:24 PM4 Table des matières Chapitre 4 51 Installation de la mémoire 51 Installation de mémoire supplémentaire 56 Vérification de la reconnaissance de la nouvelle mémoire par votre iMac G5 Chapitre 5 57 Dépannage 58 Problèmes vous empêchant d’utiliser votre iMac G5 59 Réinstallation des logiciels fournis avec votre iMac G5 61 Autres problèmes 62 Localisation du numéro de série de votre produit 63 Utilisation de la fonction Apple Hardware Test Annexe A 65 Caractéristiques Annexe B 67 Consignes de sécurité, d’utilisation et d’entretien 67 Consignes de sécurité pour la configuration et l’utilisation de votre iMac G5 69 Connecteurs et ports 69 Prévention des dommages auditifs 70 Ergonomie 71 Nettoyage de votre iMac G5 71 Transport de votre iMac G5 71 Apple et l’environnement Annexe C 73 Connexion à Internet 75 Fiche technique Assistant réglages 77 Configuration manuelle de votre connexion à Internet 78 Connexion commutée 81 Connexions à Internet par ligne DSL, modem câble ou réseau LAN 87 Connexion sans fil AirPort 90 Dépannage de votre connexion F3531M23_M33.book Page 4 Monday, October 3, 2005 3:24 PM1 5 1 Premiers contacts Votre ordinateur iMac G5 a été conçu pour être configuré rapidement et être utilisé immédiatement. Si vous n’avez jamais utilisé d’iMac G5 ou n’êtes pas familiarisé avec les ordinateurs Macintosh, vous trouverez dans ce chapitre des instructions pour débuter. Si vous êtes un utilisateur expérimenté, peut-être êtes-vous déjà en mesure d’utiliser votre nouvel ordinateur. Veillez néanmoins à consulter les informations du chapitre 2, “Découverte de votre iMac G5” pour découvrir les nouvelles fonctionnalités de cet iMac G5. Câble CA Télécommande Clavier Souris Mighty Mouse MENU F3531M23_M33.book Page 5 Monday, October 3, 2005 3:24 PM6 Chapitre 1 Premiers contacts Suivez les instructions présentées aux deux pages suivantes pour configurer votre iMac G5. Étape 1 : Faites passer le câble d’alimentation à travers le trou présent sur le socle et branchez-le sur la prise d’alimentation située au dos de votre iMac G5. F3531M23_M33.book Page 6 Monday, October 3, 2005 3:24 PMChapitre 1 Premiers contacts 7 Étape 2 : Pour accéder à Internet ou à un réseau, branchez une extrémité du câble Ethernet à l’iMac G5 et l’autre extrémité à un modem câble, un modem DSL ou bien un réseau. Étape 3 : Branchez les câbles du clavier et de la souris. G d d d F3531M23_M33.book Page 7 Monday, October 3, 2005 3:24 PM8 Chapitre 1 Premiers contacts Étape 4 : Appuyez sur le bouton d’alimentation (®) pour allumer votre iMac G5. Utilisation d’un clavier et d’une souris sans fil Si vous avez fait l’acquisition d’un clavier Apple Wireless Keyboard et d’une souris Apple Wireless Mouse avec votre iMac G5, consultez les instructions fournies avec ces périphériques pour les configurer et les utiliser avec votre ordinateur. Étapes suivantes La première fois que vous démarrez votre iMac G5, l’Assistant réglages se met en route. Il vous aide à saisir les informations concernant Internet et le courrier électronique ainsi qu’à configurer un utilisateur sur votre iMac G5. Si vous possédez déjà un ordinateur Macintosh, l’Assistant réglages peut vous aider à transférer automatiquement les fichiers, les applications et d’autres informations depuis votre ancien ordinateur vers votre nouvel iMac G5. Transfert d’informations vers votre iMac G5 Vous pouvez utiliser l’Assistant réglages pour transférer automatiquement des informations présentes sur un autre Mac vers votre nouvel iMac G5. Pour transférer des informations, assurez-vous des points suivants :  Votre autre ordinateur Mac doit disposer d’un port FireWire intégré et prendre en charge le mode disque cible FireWire.  L’autre ordinateur Mac dont vous disposez doit Mac OS X 10.1 ou ultérieur installé.  Il vous faut un câble FireWire pour relier les deux ordinateurs. ® F3531M23_M33.book Page 8 Monday, October 3, 2005 3:24 PMChapitre 1 Premiers contacts 9 L’Assistant réglages vous guide tout au long du processus de transfert d’informations ; il vous suffit de suivre les instructions à l’écran. Le transfert d’informations vers votre iMac G5 n’affecte pas les informations se trouvant sur votre autre Mac. L’Assistant réglages vous permet de transférer :  Les comptes d’utilisateur, y compris les préférences et le courrier électronique.  Les réglages de réseau, afin que votre nouvel iMac G5 soit automatiquement configuré avec les mêmes réglages de réseau que votre autre Mac.  Le dossier Applications, afin que les applications que vous utilisiez sur votre autre Mac se trouvent à présent sur votre nouvel iMac G5 (certaines des applications transférées devront peut-être être réinstallées).  Les fichiers et dossiers stockés sur votre disque dur. Si vous n’utilisez pas l’Assistant réglages pour transférer vos informations lors du démarrage initial de votre iMac G5, vous pouvez le faire ultérieurement à l’aide de l’Assistant migration. Pour cela, ouvrez le dossier Applications, ouvrez le dossier Utilitaires, puis double-cliquez sur l’icône Assistant migration. Remarque : si vous effectuez votre transfert d’informations ultérieurement à l’aide de l’Assistant migration, veillez à ce que FileVault soit désactivé sur votre ancien ordinateur. Pour désactiver FileVault, choisissez le menu Pomme () > Préférences Système, cliquez sur Sécurité puis suivez les instructions à l’écran. Configuration de votre iMac G5 pour Internet Si vous n’avez pas transféré vos réglages de réseau, l’Assistant réglages peut également vous guider tout au long de la configuration de votre iMac G5 en vue de la connexion à Internet. Pour les particuliers, l’accès à Internet requiert généralement l’ouverture d’un compte auprès d’un fournisseur d’accès à Internet (éventuellement payant). Si vous disposez déjà d’un compte Internet, consultez l’annexe C, “Connexion à Internet”, à la page 73 pour savoir quelles sont les informations à saisir. Informations supplémentaires Pour obtenir davantage d’informations, consultez les sections suivantes : Pour en savoir plus sur... Consultez... L’extinction ou la suspension d’activité de votre iMac G5 “Extinction ou suspension d’activité de votre iMac G5” ci-après. L’utilisation des différentes parties de votre iMac G5 et la réalisation de certaines tâches courantes Le chapitre 2, “Découverte de votre iMac G5”, à la page 11. La recherche d’informations supplémentaires disponibles dans l’aide à l’écran “Obtention de réponses grâce à l’Aide Mac” à la page 23. L’utilisation d’une fonctionnalité spécifique de l’iMac G5 ou la connexion d’un périphérique numérique Le chapitre 3, “Utilisation de votre iMac G5”, à la page 25. F3531M23_M33.book Page 9 Monday, October 3, 2005 3:24 PM10 Chapitre 1 Premiers contacts Extinction ou suspension d’activité de votre iMac G5 Lorsque vous avez terminé de travailler avec votre iMac G5, suspendez l’activité de votre ordinateur ou éteignez-le. Suspendre l’activité de votre iMac G5 Si vous envisagez de ne pas utiliser votre iMac G5 pendant une période inférieure à quelques jours, suspendez-en l’activité. Lorsque l’activité de votre iMac G5 est suspendue, son écran s’éteint et une petite lumière blanche située dans l’angle inférieur droit de l’écran clignote. Vous avez la possibilité de le réactiver rapidement sans passer par la procédure de démarrage. Pour suspendre rapidement l’activité de votre ordinateur, procédez de l’une des manières suivantes :  Choisissez le menu Pomme () > Suspendre l’activité.  Appuyez sur le bouton d’alimentation situé à l’arrière de l’iMac G5.  Choisissez le menu Pomme () > Préférences Système, cliquez sur Économiseur d’énergie et définissez un délai pour la minuterie de mise en veille.  Maintenez enfoncé le bouton Lecture/Pause de la télécommande pendant 3 secondes. Pour réactiver votre iMac G5, appuyez sur une touche du clavier ou un bouton de la télécommande. À la réactivation de l’ordinateur, vos applications, documents et réglages d’ordinateur réapparaissent exactement tels que vous les aviez laissés. Éteindre votre iMac G5 Si vous ne comptez pas utiliser votre iMac G5 pendant plusieurs jours, éteignez-le. Choisissez le menu Pomme () > Éteindre. L’installation de mémoire Le chapitre 4, “Installation de la mémoire”, à la page 51. Le dépannage de votre iMac G5 en cas de problème Le chapitre 5, “Dépannage”, à la page 57. Pour en savoir plus sur... Consultez... Avertissement : éteignez votre iMac G5 avant de le déplacer. Tout déplacement de votre iMac G5 lorsque le disque dur est en train de tourner risque d’endommager ce dernier et d’entraîner une perte de données ou l’impossibilité de démarrer à partir du disque dur. F3531M23_M33.book Page 10 Monday, October 3, 2005 3:24 PM2 11 2 Découverte de votre iMac G5 Dans ce chapitre, vous trouverez des informations élémentaires concernant votre iMac G5. Il vous offre une vue d’ensemble des différents éléments de votre iMac G5 et des caractéristiques de Mac OS X, notamment des informations sur les tâches basiques, comme par exemple personnaliser l’apparence du bureau, se connecter à une imprimante, lire un CD, utiliser Internet, obtenir des réponses lorsque vous avez besoin d’aide et plus encore. Pour obtenir les informations les plus récentes Apple publiant fréquemment des nouvelles versions et mises à jour de ses logiciels système, il est possible que les images de ce manuel soient légèrement différentes de ce que vous voyez à l’écran. Le site Web d’Apple, à l’adresse www.apple.com, vous donne accès aux informations, téléchargements gratuits et catalogues en ligne des logiciels et matériaux Apple les plus récents destinés à votre iMac. Vous trouverez également les manuels de nombreux produits Apple, ainsi que l’assistance technique pour tous les produits Apple, sur le site Web de service et d’assistance Apple à l’adresse www.apple.com/fr/support. F3531M23_M33.book Page 11 Monday, October 3, 2005 3:24 PM12 Chapitre 2 Découverte de votre iMac G5 Vue de face Ports USB Haut-parleur intégré Capteur de lumière intégré Récepteur à infrarouge intégré Haut-parleur intégré Porte-télécommande Lecteur de disque optique à chargement par fente Touche d’éjection de disque Boutons de réglage du volume Caméra vidéo iSight intégrée Micro intégré Lampe témoin de la caméra vidéo Souris Mighty Mouse Clavier Apple Keyboard Lampe témoin d’alimentation d C - Télécommande MENU F3531M23_M33.book Page 12 Monday, October 3, 2005 3:24 PMChapitre 2 Découverte de votre iMac G5 13 - Micro intégré Enregistrez des sons directement sur votre iMac G5 ou parlez avec des amis en direct via une connexion à haut débit avec l’application intégrée iChat AV. Caméra vidéo iSight intégrée Participez à des vidéoconférences avec vos amis, votre famille et vos collègues grâce à l’application iChat AV intégrée. Lampe témoin de la caméra vidéo Une petite diode électroluminescente verte s’allume lorsque la caméra vidéo de votre iMac G5 capture et affiche des données vidéo. Lecteur de disque optique à chargement par fente Votre iMac G5 est équipé d’un lecteur SuperDrive qui peut lire des disques CD-ROM, des CD de photos, des disques audio standard, des DVD et des films DVD. Le lecteur SuperDrive vous permet également de graver de la musique, des documents et d’autres fichiers numériques sur des disques CD-R, CD-RW, DVD±R, DVD±RW et DVD+R double couche. Lampe témoin d’alimentation Un voyant blanc indique que votre iMac G5 est en veille. Lorsque votre iMac G5 est allumé, ce voyant est éteint. Haut-parleurs intégrés Écoutez de la musique, le son de vos films, jeux et fichiers multimédia. Porte-télécommande Rangez la télécommande lorsque vous ne vous en servez pas. - Boutons de réglage du volume Ces boutons permettent d’augmenter ou de baisser le volume du son provenant des haut-parleurs intégrés et du port de sortie audio. C Touche d’éjection de disque Maintenez cette touche enfoncée pour éjecter un CD ou un DVD. Il est également possible d’éjecter un disque en faisant glisser son icône dans la Corbeille. Souris Mighty Mouse Utilisez la souris multibouton programmable et sa boule de défilement innovatrice pour cliquer, activer des fonctionnalités et naviguer dans vos documents. Télécommande Utilisez la télécommande et l’interface Front Row pour accéder à vos morceaux dans iTunes, lire des diaporamas iPhoto, regarder des films et bien plus encore, sans même besoin d’être devant votre bureau. d Deux ports USB (Universal Serial Bus) 1.1 sur le clavier Apple Keyboard Branchez des périphériques USB 1.1 à faible consommation, tels qu’une souris, un appareil photo numérique ou une manette de jeu, au clavier de votre ordinateur iMac G5. Connectez votre souris à l’un des ports USB du clavier. (Trois ports USB 2.0 à haute vitesse se trouvent également à l’arrière de votre iMac G5.) Capteur de lumière intégré Réglez automatiquement la luminosité de la lampe témoin d’alimentation lorsque l’iMac G5 est en veille, en fonction de la lumière disponible. Récepteur à infrarouge intégré Utilisez la télécommande et le récepteur à infrarouge intégré pour travailler encore plus facilement avec votre iMac G5. F3531M23_M33.book Page 13 Monday, October 3, 2005 3:24 PM14 Chapitre 2 Découverte de votre iMac G5 Vue de dos Port de sortie casque/ sortie audio optique Port d’entrée audio optical out , f £ Port de sortie vidéo d Ports USB 2.0 (3) Port Ethernet (10/100/1000Base-T) G H Ports FireWire (2) Bouton d’alimentation Port d’alimentation ® Accès à la mémoire Logement de sécurité F3531M23_M33.book Page 14 Monday, October 3, 2005 3:24 PMChapitre 2 Découverte de votre iMac G5 15 £ Port de sortie vidéo La carte VGA Apple facultative (disponible sur www.apple.com/francestore) vous permet de connecter à votre ordinateur un moniteur externe ou un projecteur utilisant un port VGA. L’adaptateur vidéo Apple (disponible sur www.apple.com/francestore) vous permet de connecter un téléviseur, un magnétoscope ou autre appareil vidéo doté d’un connecteur vidéo S-vidéo ou composite. G Port Ethernet (10/100/1000Base-T) Connectez-vous à un réseau Ethernet 10/100/1000 Base-T à grande vitesse ou à un modem câble ou DSL, ou bien connectez-vous à un autre ordinateur et transférez les fichiers. Le port Ethernet détecte automatiquement les autres périphériques Ethernet. , Port d’entrée de ligne audio Permet l’entrée audio d’un microphone ou de tout autre appareil audio connecté à votre iMac G5. f Port de sortie casque/sortie audio optique Permet de connecter des écouteurs ou tout autre périphérique de sortie audio. Il permet également de brancher votre iMac G5 à un récepteur, à un système home cinéma ou à tout autre équipement numérique audio à l’aide d’un câble audio optique muni d’une mini-prise. d Trois ports USB (Universal Serial Bus) 2.0 Connectez des imprimantes, des appareils photo numériques, des manettes de jeu et bien plus. Vous pouvez brancher des appareils USB 1.1 et des appareils USB 2.0 à haute vitesse. H Deux ports FireWire 400 Connectez des périphériques à haute vitesse tels que des caméras vidéo numériques et des périphériques de stockage externes. Accès à la mémoire Votre iMac G5 est fourni avec un minimum de 512 mégaoctets (Mo) de mémoire DDR2 SDRAM (Double Data Rate 2-Synchronous Dynamic Random Access Memory) PC2-4200 à 533 MHz. Vous pouvez ajouter de la mémoire à votre iMac G5 afin d’obtenir jusqu’à 2.5 Go. Pour obtenir plus d’informations sur l’installation de mémoire, consultez la section “Installation de mémoire supplémentaire” à la page 51. Logement de sécurité Fixez un verrou et un câble antivol (disponibles sur le site www.apple.com/francestore). ® Bouton d’alimentation Il permet d’allumer votre iMac G5 ou de suspendre son activité. Maintenez ce bouton enfoncé pour réinitialiser l’ordinateur lors des procédures de dépannage. ≤ Port d’alimentation Branchez-y le câble d’alimentation de votre iMac G5. Z Technologie AirPort Extreme (interne) Connectez-vous à un réseau sans fil grâce à la technologie AirPort Extreme intégrée à votre iMac G5. ◊ Technologie sans fil Bluetooth® 2.0 EDR (interne) Connectez-vous sans fil aux périphériques utilisant la technologie Bluetooth, tels que téléphones portables, organiseurs et imprimantes, ainsi qu’au clavier sans fil Apple Wireless Keyboard et à la souris sans fil Apple Wireless Mouse (le clavier Apple Wireless Keyboard et la souris Apple Wireless Mouse sont en vente sur le site www.apple.com/francestore). F3531M23_M33.book Page 15 Monday, October 3, 2005 3:24 PM16 Chapitre 2 Découverte de votre iMac G5 À propos de Mac OS X Votre iMac G5 est équipé de Mac OS X “Tiger”, qui comprend Spotlight, un moteur de recherche amélioré qui indexe automatiquement l’ensemble de vos fichiers ; Dashboard, une interface qui permet d’accéder rapidement aux “widgets” ou mini-applications ; Exposé, qui dispose en mosaïque et organise de façon claire toutes vos applications ouvertes, et enfin, Front Row, une nouvelle interface permettant d’accéder à vos morceaux, photos, vidéos et films et de les contrôler via la télécommande fournie avec votre iMac G5. Lorsque vous serez prêt à en apprendre davantage sur Mac OS X et les applications iLife, maintes fois primées, qui accompagnent votre iMac G5, consultez le fascicule Bienvenue sur Tiger fourni avec votre iMac G5. Vous pouvez également ouvrir l’Aide Mac et parcourir les informations qu’elle contient. Vous trouverez un grand volume d’informations pour les utilisateurs novices et expérimentés, ainsi que pour ceux qui passent au Mac. Si vous rencontrez des problèmes lors de l’utilisation de Mac OS X, reportezvous aux informations de dépannage au dos de ce manuel ou allez dans la barre des menus en haut de l’écran et sélectionnez Aide > Aide Mac. Pour obtenir des informations sur les applications qui sont compatibles avec Mac OS X ou pour en savoir plus sur Mac OS X en général, consultez le site Web consacré à Mac OS X à l’adresse www.apple.com/fr/macosx. Remarque : si vous souhaitez utiliser les applications Mac OS 9 avec votre iMac G5, vous devez installer une version de Mac OS 9 qui prend en charge l’environnement Classic (consultez la section “Installation de Mac OS 9” à la page 60). Mac OS 9 ne peut pas être installé comme système d’exploitation principal de votre iMac G5 et il n’est pas possible de démarrer votre iMac G5 sous Mac OS 9. F3531M23_M33.book Page 16 Monday, October 3, 2005 3:24 PMChapitre 2 Découverte de votre iMac G5 17 Personnalisation du bureau et réglage des préférences Grâce aux Préférences Système, vous pouvez donner à votre bureau l’apparence souhaitée sans perdre de temps. Choisissez le menu Pomme () > Préférences Système dans la barre des menus. N’hésitez pas à changer et à essayer ce qui suit :  Bureau & économiseur d’écran : sélectionnez cette sous-fenêtre de préférences pour changer la couleur et le motif du bureau ou pour le remplacer par la photo ou l’image de votre choix. Vous pouvez également choisir un effet d’écran accrocheur, qui apparaît lorsque votre iMac G5 reste inactif.  Dock : sélectionnez cette sous-fenêtre de préférences pour changer l’apparence, l’emplacement et le comportement de votre Dock.  Apparence : sélectionnez cette sous-fenêtre de préférences pour changer entre autres la couleur des boutons, menus et fenêtres, ainsi que la couleur de mise en surbrillance. Tout en vous familiarisant avec votre iMac G5, découvrez progressivement les autres Préférences Système. Préférences Système constitue le poste de commande qui vous permet d’effectuer la plupart des réglages de votre iMac G5. Pour en savoir plus, choisissez Aide > Aide Mac et recherchez “Préférences Système” ou la préférence que vous souhaitez modifier. F3531M23_M33.book Page 17 Monday, October 3, 2005 3:24 PM18 Chapitre 2 Découverte de votre iMac G5 Connexion à une imprimante Suivez les instructions fournies avec votre imprimante pour installer les logiciels requis et connecter l’imprimante. Mac OS X comprend la plupart des gestionnaires d’imprimantes. Vous pouvez connecter la plupart des imprimantes au moyen d’un câble USB ; d’autres requièrent une connexion en réseau comme Ethernet. Si vous possédez une borne d’accès AirPort Express ou AirPort Extreme, vous pouvez connecter une imprimante USB à la borne d’accès (plutôt qu’à l’ordinateur) pour effectuer des tâches d’impression sans fil. Lorsque vous connectez une imprimante USB ou FireWire, celle-ci est normalement automatiquement détectée par votre ordinateur qui l’ajoute alors à la liste des imprimantes disponibles. Il est possible que vous ayez besoin du nom de réseau ou de l’adresse des imprimantes connectées à un réseau pour pouvoir imprimer. Pour configurer une imprimante : 1 Ouvrez Préférences Système et cliquez sur l’icône Imprimantes et fax. 2 Cliquez sur Impression puis sur le bouton Ajouter (+) pour ajouter une imprimante. 3 Sélectionnez l’imprimante que vous souhaitez utiliser, puis cliquez sur Ajouter. 4 Utilisez les boutons Ajouter (+) et Supprimer (–) pour choisir les imprimantes que ous souhaitez voir apparaître dans la liste des imprimantes. F3531M23_M33.book Page 18 Monday, October 3, 2005 3:24 PMChapitre 2 Découverte de votre iMac G5 19 Contrôle de l’impression Après avoir envoyé un document à une imprimante, vous pouvez contrôler l’impression, notamment interrompre votre tâche d’impression ou la placer temporairement en attente. Pour contrôler l’impression, cliquez sur l’icône Imprimante dans le Dock pour ouvrir la fenêtre de l’imprimante. Vous voyez alors la liste des travaux d’impression et la file d’attente sur lesquelles vous pouvez intervenir. Pour obtenir plus d’informations, ouvrez l’Aide Mac et recherchez “impression”. Lecture d’un CD et connexion d’écouteurs Si vous souhaitez écouter de la musique pendant que vous travaillez sur votre iMac G5, insérez un CD dans le lecteur optique. iTunes, un lecteur de musique convivial, s’ouvre automatiquement. Pour une écoute privée, branchez des écouteurs dotés d’une prise mini-jack au port de sortie casque/sortie audio optique (f) de votre iMac G5. Pour en savoir plus sur iTunes : m Ouvrez iTunes et choisissez Aide > Aide iTunes et Music Store. Pour en savoir plus sur votre lecteur optique, consultez “Utilisation de votre lecteur optique” à la page 47. Maintien à jour de votre logiciel Vous pouvez vous connecter à Internet pour télécharger et installer automatiquement les dernières versions de logiciels, gestionnaires et autres améliorations fournies par Apple. Chaque fois que vous vous connectez à Internet, “Mise à jour de logiciels” consulte les serveurs Internet d’Apple pour rechercher les mises à jour disponibles pour votre ordinateur. Vous pouvez configurer votre Mac afin qu’il recherche régulièrement dans les serveurs Apple des mises à jour de logiciels, puis qu’il les télécharge et les installe sur votre ordinateur. F3531M23_M33.book Page 19 Monday, October 3, 2005 3:24 PM20 Chapitre 2 Découverte de votre iMac G5 Pour rechercher des logiciels mis à jour : 1 Ouvrez les Préférences Système. 2 Cliquez sur l’icône “Mise à jour de logiciels” et suivez les instructions à l’écran.  Pour plus d’informations, recherchez “Mise à jour de logiciels” dans l’Aide Mac.  Pour obtenir les toutes dernières informations concernant Mac OS X, rendez-vous sur le site Web Mac OS X à l’adresse www.apple.com/fr/macosx. Connexion à un réseau Si vous souhaitez connecter votre iMac G5 à un réseau Ethernet, à un modem câble ou DSL ou à un réseau sans fil, consultez “Connexion à un réseau Ethernet” à la page 37 et “Mise en réseau sans fil AirPort Extreme” à la page 34 pour plus d’informations sur la configuration d’une connexion Ethernet ou AirPort. Ouvrez aussi l’Aide Mac et recherchez “Ethernet” ou “AirPort” pour une aide supplémentaire. Utilisation d’Internet Lors de la configuration initiale de votre iMac G5, Assistant réglages vous a aidé à vous connecter à Internet. Pour utiliser une connexion de type différent, telle que par modem DSL ou câble, réseau local (LAN) Ethernet ou réseau AirPort Extreme, vous trouverez plus d’informations dans l’annexe C, “Connexion à Internet”, à la page 73. F3531M23_M33.book Page 20 Monday, October 3, 2005 3:24 PMChapitre 2 Découverte de votre iMac G5 21 Transfert de fichiers vers un autre ordinateur Plusieurs solutions vous sont offertes pour transférer des fichiers ou des documents depuis ou vers votre iMac G5.  Vous pouvez facilement transférer des fichiers à l’aide d’Assistant réglages. Pour plus d’informations, consultez la section “Transfert d’informations vers votre iMac G5” à la page 8.  Vous pouvez transférer des fichiers via Internet en utilisant .Mac ou d’autres comptes Internet. Pour plus d’informations, rendez-vous sur le site www.mac.com.  Si votre iMac G5 est connecté à un réseau Ethernet, vous pouvez transférer des fichiers vers un autre ordinateur sur ce même réseau. Pour accéder à un autre serveur ou ordinateur, ouvrez une fenêtre du Finder et cliquez sur Réseau. Si vous connaissez le nom ou l’adresse réseau de l’ordinateur, choisissez Aller > Se connecter au serveur dans la barre des menus du Finder.  Vous pouvez créer un réseau Ethernet de petite taille en reliant votre iMac G5 au port Ethernet d’un autre ordinateur à l’aide d’un câble Ethernet. Pour obtenir plus d’informations, ouvrez l’Aide Mac et recherchez “connexion de deux ordinateurs”.  Vous pouvez également vous connecter à un autre Mac au moyen d’un câble FireWire. Votre iMac G5 apparaît comme un lecteur de disque sur l’autre ordinateur. Vous pouvez alors transférer les fichiers. Pour plus d’informations sur l’utilisation de FireWire pour le transfert de fichiers, consultez la section “Utilisation du mode disque cible FireWire” à la page 46.  Vous pouvez vous connecter à un réseau sans fil AirPort pour transférer des fichiers. Pour plus d’informations, consultez la section “Mise en réseau sans fil AirPort Extreme” à la page 34. Pour obtenir de plus amples informations sur le transfert de fichiers et de documents, ouvrez l’Aide Mac et recherchez “transfert de fichiers” ou le type de connexion dont vous avez besoin. F3531M23_M33.book Page 21 Monday, October 3, 2005 3:24 PM22 Chapitre 2 Découverte de votre iMac G5 Lorsqu’une application ne répond plus Il peut arriver, très rarement, qu’une application se “fige” à l’écran. Mac OS X permet de quitter une application qui ne répond plus sans redémarrer votre iMac G5, ce qui permet d’enregistrer le travail effectué dans d’autres applications ouvertes. Pour forcer une application à quitter : 1 Appuyez sur Commande (x) + Option + Échap ou bien choisissez le menu Pomme () > Forcer à quitter. La boîte de dialogue Forcer à quitter des applications apparaît avec l’application sélectionnée. 2 Cliquez sur Forcer à quitter. L’application quitte, en laissant toutes les autres applications ouvertes. Si besoin est, vous pouvez forcer la fermeture de l’environnement Classic, ce qui ferme alors toutes les applications Mac OS 9. Vous pouvez également redémarrer le Finder à partir de cette zone de dialogue. Si vous rencontrez d’autres difficultés, consultez le chapitre 5, “Dépannage”, à la page 57. Utilisation des applications Votre iMac G5 est accompagné d’applications logicielles, notamment les applications iLife, qui vous permettront d’envoyer des messages électroniques, de naviguer sur Internet, de discuter en ligne, d’organiser vos morceaux de musique et vos photos numériques, de créer des séquences et bien plus encore. Pour en savoir plus sur ces applications, ouvrez une application puis son Aide Mac correspondante. F3531M23_M33.book Page 22 Monday, October 3, 2005 3:24 PMChapitre 2 Découverte de votre iMac G5 23 Obtention de réponses grâce à l’Aide Mac Vous trouverez la plupart des informations concernant l’utilisation de votre Mac dans l’Aide Mac. Pour ouvrir l’Aide Mac : 1 Cliquez sur l’icône Finder dans le Dock (la barre des icônes située au bas de l’écran). 2 Choisissez Aide > Aide Mac (cliquez sur le menu Aide dans la barre des menus et sélectionnez Aide Mac). 3 Cliquez dans le champ Rechercher, tapez votre question et appuyez sur la touche Retour du clavier. F3531M23_M33.book Page 23 Monday, October 3, 2005 3:24 PMF3531M23_M33.book Page 24 Monday, October 3, 2005 3:24 PM3 25 3 Utilisation de votre iMac G5 Ce chapitre vous apporte des instructions relatives à l’utilisation des diverses fonctionnalités et caractéristiques intégrées à votre iMac G5 afin d’en tirer le meilleur parti. Vous trouverez des informations importantes dans les sections suivantes :  “Utilisation de la souris Mighty Mouse” à la page 26  “Commandes du clavier” à la page 28  “Utilisation de votre récepteur à infrarouge et de la télécommande” à la page 28  “Utilisation de la caméra vidéo iSight intégrée” à la page 32  “Mise en réseau sans fil AirPort Extreme” à la page 34  “Utilisation de la technologie sans fil Bluetooth 2.0 EDR” à la page 35  “Connexion à un réseau Ethernet” à la page 37  “Utilisation de périphériques audio” notamment la combinaison du port de sortie casque/audio optique, à la la page 39  “Connexion de la prise en charge de moniteurs externes (VGA, Composite et S-vidéo)” à la page 41  “Utilisation du standard USB 2.0 (High-Speed Universal Serial Bus)” à la page 43  “Connexion via FireWire” à la page 45  “Utilisation de votre lecteur optique” à la page 47  “Protection de votre iMac G5” à la page 50 Pour en savoir plus sur les capacités de votre iMac G5, commencez par lire ce chapitre. Vous trouverez de plus amples informations dans l’Aide Mac et sur le site Web d’assistance iMac à l’adresse www.apple.com/fr/support/imac. F3531M23_M33.book Page 25 Monday, October 3, 2005 3:24 PM26 Chapitre 3 Utilisation de votre iMac G5 Utilisation de la souris Mighty Mouse Votre iMac G5 est livré avec la souris Mighty Mouse, qui présente une boule de défilement à 360 degrés cliquable dotée d’un dispositif de défilement réglable, une paire de boutons latéraux à capteurs d’effort et des boutons droit et gauche à technologie tactile. Configurez la souris Mighty Mouse comme une souris monobouton ou bien programmez-la de manière à exploiter la boule de défilement, lancer Exposé ou encore afficher Dashboard. Programmation de votre souris Mighty Mouse Vous pouvez configurer la souris Mighty Mouse comme une souris monobouton ou bien la programmer comme une souris multibouton via la sous-fenêtre Souris des préférences Clavier et souris. Pour ouvrir les préférences Clavier et souris : 1 Choisissez le menu Pomme (K) > Préférences Système. Boule de déplacement (bouton) Bouton gauche Bouton latéral Bouton droit Bouton latéral F3531M23_M33.book Page 26 Monday, October 3, 2005 3:24 PMChapitre 3 Utilisation de votre iMac G5 27 2 Cliquez sur Souris et clavier, puis sur Souris. Utilisez les menus locaux des préférences Clavier et souris de la sous-fenêtre Souris pour assigner les actions suivantes à un bouton :  Attribuer les boutons principal et secondaire  Activer Exposé  Afficher Dashboard  Ouvrir Spotlight  Passer d’une application à l’autre  Ouvrir les applications Vous pouvez également désactiver le défilement vertical et horizontal et régler les vitesses de déplacement, de défilement et de double-clic. En savoir plus sur la souris Mighty Mouse Vous pourrez trouver des informations supplémentaires sur la programmation et l’utilisation de votre souris Mighty Mouse dans l’Aide Mac. Choisissez Aide > Aide Mac et recherchez “souris Mighty Mouse”. F3531M23_M33.book Page 27 Monday, October 3, 2005 3:24 PM28 Chapitre 3 Utilisation de votre iMac G5 Commandes du clavier Les commandes du clavier vous permettent de régler rapidement le volume ou d’éjecter un disque, par exemple. Pour augmenter le contraste de l’écran, appuyez sur la touche F15 de votre clavier. Pour diminuer le contraste, appuyez sur la touche F14. Avec Exposé, vous pouvez facilement gérer les fenêtres sur l’écran. Pour voir toutes les fenêtres ouvertes d’un seul coup d’œil, appuyez sur F9. Pour voir toutes les fenêtres ouvertes dans l’application active, appuyez sur F10. Pour masquer toutes les fenêtres ouvertes et visualiser le bureau, appuyez sur F11. Utilisation de votre récepteur à infrarouge et de la télécommande La télécommande fonctionne avec l’interface Front Row et le récepteur à infrarouge intégré, situé sous le logo Apple () à l’avant de votre iMac G5. Utilisez votre télécommande pour ouvrir Front Row, lire vos morceaux dans iTunes, regarder des diaporamas dans iPhoto ou des bandes-annonces dans QuickTime, lire un DVD dans Lecteur DVD et bien plus encore. Et ce, depuis l’autre bout de la pièce ! Bouton Diminuer le volume Bouton Augmenter le volume Touche de mode silencieux Touche d’éjection de disque F3531M23_M33.book Page 28 Monday, October 3, 2005 3:24 PMChapitre 3 Utilisation de votre iMac G5 29 Si vous n’utilisez pas la télécommande, rangez-la sur le porte-télécommande situé sur le côté droit de votre iMac G5. Utilisez votre télécommande pour :  régler le volume d’un morceau, lire ou mettre un morceau en pause ou encore passer à la piste suivante ou précédente dans iTunes ;  lire n’importe lequel de vos albums d’iPhoto sous forme de diaporama ;  lire des films se trouvant dans votre dossier Séquences ou visionner des bandesannonces QuickTime en ligne ;  lire un DVD se trouvant dans votre lecteur optique à l’aide de Lecteur DVD. Pour utiliser votre télécommande :  Appuyez sur le bouton Menu pour ouvrir l’interface Front Row et lire des morceaux, des diaporamas, des films, des bandes-annonces et des clips vidéo. Appuyez sur le bouton Menu pour revenir au menu précédent.  Appuyez sur les boutons Augmenter le volume (+) et Diminuer le volume (–) pour vous déplacer parmi les options de menu et régler le volume.  Appuyez sur le bouton Sélection/Lecture/Pause pour sélectionner une option dans le menu. Avec ce bouton, vous pouvez également lire ou mettre en pause un morceau d’iTunes, un diaporama d’iPhoto ou l’un de vos films. Avertissement : le porte-télécommande est équipé d’un aimant susceptible d’effacer les données d’un disque dur ou d’un iPod. Pour éviter de perdre vos données, maintenez tout support magnétique à distance du porte-télécommande. F3531M23_M33.book Page 29 Monday, October 3, 2005 3:24 PM30 Chapitre 3 Utilisation de votre iMac G5  Appuyez sur les boutons Précédent/Retour rapide et Suivant/Avance rapide pour passer à la piste suivante ou précédente dans iTunes ; maintenez-les enfoncés pour effectuer une avance rapide dans une piste. De même, utilisez ces boutons pour passer au chapitre suivant ou précédent d’un film DVD, et maintenez-les enfoncés pour effectuer une avance ou un retour rapide. Jumelage de votre télécommande Votre télécommande peut être utilisée avec tout iMac G5 doté d’un récepteur à infrarouge. Si vous possédez plusieurs ordinateurs iMac ou appareils dotés de récepteurs à infrarouge dans une même pièce (par exemple, plus d’un iMac dans un bureau ou un laboratoire), vous avez la possibilité de “jumeler” votre télécommande avec un ordinateur ou un appareil précis. Le jumelage permet de configurer l’ordinateur ou l’appareil récepteur de façon à ce qu’il soit contrôlé par une seule télécommande. Pour jumeler votre télécommande avec votre iMac : 1 Placez-vous à proximité de votre iMac (à 10 centimètres environ). 2 Dirigez votre télécommande vers le logo Apple situé sur le devant de votre iMac G5. 3 Maintenez enfoncés les boutons Menu et Suivant/Avance rapide de la télécommande pendant 5 secondes. Pour annuler le jumelage de la télécommande et de l’iMac : 1 Choisissez le menu Pomme () > Préférences Système dans la barre des menus. 2 Cliquez sur Sécurité puis sur Désactiver le jumelage. Bouton Suivant/Avance Rapide Bouton Sélection/Lecture/Pause Logement de la pile Bouton Augmenter le volume Émetteur infrarouge Bouton Diminuer le volume Bouton Précédent/Retour Rapide Bouton Menu MENU F3531M23_M33.book Page 30 Monday, October 3, 2005 3:24 PMChapitre 3 Utilisation de votre iMac G5 31 Remplacement de la pile La télécommande est fournie avec une pile. Lorsque cela s’avère nécessaire, remplacez cette pile par une pile CR 2032. Pour remettre la pile en place : 1 Ouvrez le logement de la pile en appuyant sur le bouton à l’aide d’un petit objet, tel qu’il est décrit sur l’illustration ci-dessus. 2 Ôtez le logement de la pile et retirez-la. 3 Insérez la nouvelle pile, son côté positif (+) tourné vers le haut. 4 Refermez le logement de la pile. Désactivation de la réception infrarouge Les préférences de Sécurité vous permettent d’activer ou de désactiver la réception infrarouge de votre iMac G5. Pour désactiver la réception infrarouge :  Choisissez le menu Pomme () > Préférences Système dans la barre des menus et cliquez sur Sécurité.  Cochez la case “Désactiver le récepteur à infrarouge de la télécommande”. En savoir plus sur la télécommande L’Aide Mac fournit des informations supplémentaires sur la télécommande. Choisissez Aide > Aide Mac et recherchez “télécommande”. Appuyez sur ce bouton à l’aide d’un petit objet arrondi pour éjecter partiellement le logement de la pile. Face positive (+) vers le haut. Tirez afin de libérer le logement de la pile. MENU F3531M23_M33.book Page 31 Monday, October 3, 2005 3:24 PM32 Chapitre 3 Utilisation de votre iMac G5 Utilisation de la caméra vidéo iSight intégrée Grâce à la caméra vidéo iSight intégrée, vous avez la possibilité d’organiser des vidéoconférences en temps réel avec animation vidéo intégrale avec d’autres utilisateurs d’iChat AV. Votre iMac G5 est également doté d’un micro intégré, ce qui vous permet de profiter à la fois du son et de l’image durant votre vidéoconférence iChat AV. Organisation de vidéoconférences Pour utiliser la caméra iSight intégrée en vue de lancer une vidéoconférence, vous avez besoin des éléments suivants :  Un compte .Mac, America Online (AOL) ou AOL Instant Messenger (AIM) (requis pour iChat AV).  Une connexion à Internet à haut débit via câble modem ou DSL, ou un réseau local (LAN). Il n’est pas possible d’utiliser une connexion à Internet par modem commuté.  Une personne avec laquelle réaliser la vidéoconférence (vous pouvez par exemple réaliser une vidéoconférence avec d’autres utilisateurs d’iChat AV). Pour débuter une vidéoconférence : 1 Ouvrez iChat AV. 2 Cliquez sur le bouton représentant une caméra situé à côté d’un contact dans votre liste de contacts. Caméra vidéo Microphone Lampe témoin de la caméra vidéo F3531M23_M33.book Page 32 Monday, October 3, 2005 3:24 PMChapitre 3 Utilisation de votre iMac G5 33 Cela illuminera le voyant DEL vert situé à côté de la caméra iSight intégrée, indiquant que vous en train d’enregistrer des données vidéo. Cela enverra également une invitation à votre contact et vous permettra de voir de quoi vous avez l’air à la caméra. Lorsqu’un contact accepte votre invitation, vous pouvez alors le voir apparaître sur votre écran, de même que vous apparaissez sur le sien. Vidéoconférence avec plusieurs contacts Il est possible de réaliser des vidéoconférences en compagnie de deux, et jusqu’à trois, contacts à la fois. Un des contacts “accueille” la vidéoconférence et les autres, les “invités”, y participent. Pour débuter une vidéoconférence avec plusieurs contacts : 1 Ouvrez iChat AV. 2 Au moment de sélectionner les contacts que vous souhaitez inviter à votre vidéoconfé- rence, maintenez la touche Commande enfoncée. 3 Cliquez sur le bouton représentant une caméra situé au bas de votre liste de contacts. Pour en savoir plus sur l’ajout de contacts à votre liste, choisissez Aide > Aide iChat AV. Extinction de la caméra vidéo iSight Pour éteindre la caméra iSight, fermez la fenêtre active iChat. Le voyant DEL vert situé à côté de la caméra s’éteint, ce qui indique que la caméra vidéo est éteinte et que l’enregistrement est interrompu. Utilisation de votre photo en tant qu’icône de contact Vous avez la possibilité de vous prendre en photo à l’aide de la caméra iSight intégrée et d’utiliser cette photo comme icône de contact. Elle apparaîtra dans la liste de contacts des autres utilisateurs, si vous en faites partie. Pour définir votre icône de contact : 1 Ouvrez iChat AV. 2 Choisissez Contacts > Changer ma photo. 3 Cliquez sur le bouton représentant une caméra. 4 Souriez ! F3531M23_M33.book Page 33 Monday, October 3, 2005 3:24 PM34 Chapitre 3 Utilisation de votre iMac G5 Mise en réseau sans fil AirPort Extreme La technologie AirPort Extreme est intégrée à votre iMac G5. AirPort permet d’accéder sans fil à Internet en toute simplicité et sans vous ruiner n’importe où, que ce soit chez vous, au bureau ou dans un établissement scolaire. Au lieu de faire appel à des câbles classiques, AirPort utilise la technologie de réseau local (LAN) sans fil permettant une communication sans fil entre plusieurs ordinateurs. Vous pouvez utiliser un réseau sans fil pour configurer l’accès à Internet, transférer des fichiers, jouer à plusieurs en réseau et bien d’autres choses encore. Remarque : vous aurez également besoin d’une borne d’accès AirPort Express ou AirPort Extreme et d’un accès à Internet (éventuellement payant). Certains fournisseurs d’accès à Internet ne sont pas encore compatibles avec AirPort. La portée varie en fonction des conditions d’emplacement. Fonctionnement de l’accès sans fil à Internet via AirPort Le système AirPort permet d’établir une connexion sans fil avec un appareil appelé borne d’accès qui dispose, lui, d’une connexion physique à Internet. La technologie AirPort fonctionne comme un téléphone sans fil. Grâce à la technologie AirPort Extreme, votre iMac G5 établit une connexion sans fil à une borne d’accès AirPort Express ou AirPort Extreme, elle-même connectée à Internet via une ligne téléphonique ou un modem DSL ou câble. Connexion à Internet Antenne AirPort AirPort Express Sortie CA Modem câble ou DSL F3531M23_M33.book Page 34 Monday, October 3, 2005 3:24 PMChapitre 3 Utilisation de votre iMac G5 35 En savoir plus sur AirPort Pour acheter une borne d’accès AirPort Express ou AirPort Extreme, adressez-vous à un revendeur agréé Apple ou bien visitez l’Apple Store en ligne à l’adresse www.apple.com/francestore. Des informations supplémentaires sur AirPort sont disponibles dans l’Aide AirPort. Sélectionnez Aide > Aide Mac, puis Centre d’aide > Aide AirPort. Vous pouvez également trouver des informations sur le site Web AirPort d’Apple à l’adresse www.apple.com/fr/airport. Utilisation de la technologie sans fil Bluetooth 2.0 EDR Votre iMac G5 est doté de la technologie sans fil Bluetooth 2.0 EDR (“enhanced data rate”, ou débit des données amélioré). Cette dernière vous permet de créer des connexions sans fil de faible portée entre des ordinateurs, des organiseurs, des téléphones portables, des téléphones appareils photo, des imprimantes, des appareils photo numériques et des périphériques d’entrée sans fil tels que le clavier Apple Wireless Keyboard ou la souris Apple Wireless Mouse (disponibles à la vente sur le site www.apple.com/francestore). La technologie sans fil Bluetooth permet d’éliminer les câbles reliant normalement les périphériques. Les périphériques équipés de la technologie Bluetooth peuvent se connecter l’un à l’autre sans besoin de liaison physique, dans la mesure où ils sont séparés d’une distance égale ou inférieure à 10 mètres. Grâce à la technologie sans fil Bluetooth, vous pouvez :  Utiliser votre iMac G5 pour communiquer avec un téléphone portable équipé de la technologie Bluetooth. Votre téléphone peut vous servir de modem et se connecter à un fournisseur de services sans fil, ce qui vous permettra d’accéder à Internet via votre téléphone portable.  Échanger des fichiers entre ordinateurs et périphériques équipés de la technologie Bluetooth, même entre Mac et PC. Apple recommande l’utilisation du réseau sans fil AirPort Extreme pour le transfert de tous vos fichiers à l’exception des plus petits.  Synchroniser des données entre votre ordinateur et un organiseur équipé de la technologie Bluetooth. À l’aide d’iSync, vous pouvez exécuter une opération HotSync sans fil ou transmettre votre carte de visite ou encore des événements de calendrier directement sur l’organiseur d’un collègue.  Utiliser une imprimante, un clavier, une souris ou un casque d’écoute sans fil Bluetooth. F3531M23_M33.book Page 35 Monday, October 3, 2005 3:24 PM36 Chapitre 3 Utilisation de votre iMac G5 Configuration d’un périphérique Bluetooth Avant de pouvoir utiliser votre téléphone portable pour accéder à Internet ou échanger des informations de contact, partager des fichiers avec d’autres périphériques, ou encore utilisez un clavier ou une souris Bluetooth, vous devez configurer le périphérique en question pour qu’il fonctionne avec votre ordinateur. Une fois le périphérique configuré, celui-ci est “jumelé” avec votre ordinateur et apparaît dans la sous-fenêtre Périphériques des Préférences Bluetooth. Vous n’avez à jumeler l’iMac G5 et le périphérique qu’une seule fois ; ils restent alors jumelés jusqu’à ce que vous en décidiez autrement. Pour configurer un périphérique Bluetooth : 1 Choisissez “Configurer un appareil Bluetooth” dans le menu d’état Bluetooth (◊) situé dans la barre des menus. 2 Suivez les instructions affichées à l’écran pour le type de périphérique que vous souhaitez configurer. Important : si le menu d’état Bluetooth (◊) n’apparaît pas dans la barre des menus, ouvrez Préférences Système et cliquez sur Bluetooth. Cliquez sur Réglages, puis sélectionnez “Afficher l’état Bluetooth dans la barre des menus”. Pour supprimer un jumelage avec un autre périphérique : 1 Ouvrez Préférences Système, puis cliquez sur Bluetooth. 2 Cliquez sur Périphériques et choisissez le périphérique dans la liste. 3 Cliquez alors sur Supprimer le jumelage. Configuration de l’échange de fichiers Bluetooth Vous avez la possibilité de contrôler la manière dont l’iMac G5 gère les fichiers échangés entre périphériques Bluetooth. Vous pouvez choisir d’accepter ou de refuser les fichiers envoyés à votre iMac G5, dans quel dossier placer les fichiers reçus et acceptés, les dossiers de votre ordinateur que les autres périphériques Bluetooth peuvent consulter et les applications à utiliser pour exploiter les fichiers acceptés. Pour configurer un échange de fichiers Bluetooth : 1 Ouvrez Préférences Système, puis cliquez sur Bluetooth. 2 Cliquez sur Partage. 3 Cochez la case Activé pour l’Échange de fichiers Bluetooth, puis utilisez les menus locaux pour paramétrer les réglages. F3531M23_M33.book Page 36 Monday, October 3, 2005 3:24 PMChapitre 3 Utilisation de votre iMac G5 37 Envoi d’un fichier à un périphérique Bluetooth Votre iMac G5 peut envoyer des fichiers vers d’autres périphériques Bluetooth situés dans le rayon de détection de votre ordinateur. Si votre ordinateur n’est pas jumelé avec l’appareil, il se peut que vous deviez vous authentifier auprès de ce dernier avant de pouvoir envoyer le fichier. Si vous avez déjà jumelé l’ordinateur au périphérique, vous ne devriez pas avoir à vous authentifier. Pour envoyer un fichier à un appareil Bluetooth : 1 Choisissez Envoyer un fichier dans le menu d’état Bluetooth de la barre des menus. 2 Sélectionnez le fichier que vous souhaitez envoyer puis cliquez sur Envoyer. 3 Choisissez un appareil dans la liste Appareil, puis cliquez sur Envoyer. Si l’appareil ne se trouve pas dans la liste, cliquez sur Rechercher. Une fois l’appareil retrouvé, vous pouvez l’ajouter à votre liste de favoris. En savoir plus sur la technologie sans fil Bluetooth Pour accéder à l’aide Bluetooth, ouvrez l’applications Échange de fichiers Bluetooth (dans le dossier Utilitaires du dossier Applications) et sélectionnez Aide > Aide Bluetooth. Vous trouverez d’autres informations sur le site Web d’Apple, à l’adresse www.apple.com/fr/bluetooth. Connexion à un réseau Ethernet Votre iMac G5 est doté de la technologie de mise en réseau Ethernet Base-T (paire torsadée) à 10/100/1000 mégabits par seconde (Mbps), qui permet de vous connecter à un réseau ou à un modem câble ou DSL. Port Ethernet (10/100/1000Base-T) G F3531M23_M33.book Page 37 Monday, October 3, 2005 3:24 PM38 Chapitre 3 Utilisation de votre iMac G5 La connexion à un réseau permet d’accéder à d’autres ordinateurs. Elle vous permet de stocker et de récupérer des informations, d’utiliser les imprimantes, les modems et la messagerie électronique d’un réseau ou encore de vous connecter à Internet. Vous pouvez également partager des fichiers entre deux ordinateurs ou établir un petit réseau. Le port Ethernet de votre iMac G5 détecte automatiquement les autres périphériques Ethernet. Pour établir des connexions à d’autres périphériques Ethernet, il est inutile d’utiliser un câble croisé.  Utilisez un câble Ethernet de catégorie 3 (Cat 3) à quatre paires pour vous connecter à un réseau Ethernet 10 Base-T.  Utilisez un câble Ethernet de catégorie 5 (Cat 5) à deux paires pour vous connecter à un réseau Ethernet 10 Base-T, 100 Base-T ou 1000 Base-T. En savoir plus sur l’utilisation d’Ethernet Des informations supplémentaires, expliquant notamment comment établir un réseau Ethernet et transférer des fichiers via Ethernet, sont disponibles dans l’Aide Mac (reportezvous à la page 23). Choisissez Aide > Aide Mac, puis recherchez “Ethernet” ou “réseau”. Pour obtenir des informations sur les produits de mise en réseau que vous pouvez utiliser avec votre iMac G5, consultez le Guide des produits Macintosh à l’adresse http://guide.apple.com/fr. F3531M23_M33.book Page 38 Monday, October 3, 2005 3:24 PMChapitre 3 Utilisation de votre iMac G5 39 Utilisation de périphériques audio Votre iMac G5 est doté d’un dispositif audio complet, notamment des haut-parleurs stéréo intégrés, un port combinant sortie casque/sortie audio optique permettant de brancher des écouteurs ou un équipement audio numérique, ainsi qu’un port d’entrée de ligne audio analogique. Port de sortie casque/sortie audio optique Pour écouter de la musique sans déranger les personnes autour de vous, branchez une paire d’écouteurs sur le port combiné de sortie casque/sortie audio optique (f). Vous pouvez également connecter votre iMac G5 à un récepteur AV à l’aide d’un câble audio optique doté d’une mini-prise pour établir un système de home cinéma basé sur votre iMac G5. Port de sortie casque/ sortie audio optique optical out f F3531M23_M33.book Page 39 Monday, October 3, 2005 3:24 PM40 Chapitre 3 Utilisation de votre iMac G5 Port d’entrée de ligne audio Situé au dos de l’iMac G5, le port d’entrée de ligne audio analogique (,) permet de connecter un microphone externe mis sous tension ou tout autre équipement audio pour importer des éléments audio. Pour sélectionner le périphérique audio d’entrée ou de sortie à employer, utilisez la sous-fenêtre Son des Préférences Système. En savoir plus sur l’utilisation de l’audio L’Aide Mac contient des informations supplémentaires sur l’utilisation de l’audio (voir la page 23). Choisissez Aide > Aide Mac, puis recherchez “audio” ou “musique.” Pour obtenir des informations sur les produits de type audio et concernant la musique que vous pouvez utiliser avec votre iMac G5, consultez le Guide des produits Macintosh à l’adresse http://guide.apple.com/fr. Port d’entrée audio , F3531M23_M33.book Page 40 Monday, October 3, 2005 3:24 PMChapitre 3 Utilisation de votre iMac G5 41 Connexion de la prise en charge de moniteurs externes (VGA, Composite et S-vidéo) Votre iMac G5 dispose d’un port de sortie vidéo qui permet de le connecter à un moniteur externe ou à un projecteur VGA à l’aide de l’adaptateur de moniteur VGA d’Apple (disponible à l’adresse www.apple.com/francestore). Vous pouvez également afficher ou enregistrer des images en connectant un téléviseur, un projecteur vidéo ou un magnétoscope à l’aide de l’adaptateur vidéo d’Apple (disponible à l’adresse www.apple.com/francestore). Remarque : l’adaptateur vidéo d’Apple n’est pas compatible avec certains modèles antérieurs d’iMac. Lorsque votre iMac G5 est connecté à un moniteur externe ou à un téléviseur, la même image apparaît sur son écran et sur le moniteur externe (mode appelé recopie vidéo). Remarque : en raison des limitations d’affichage de la plupart des téléviseurs, la qualité des images affichées sur un téléviseur sera inférieure à celle des images affichées par l’écran intégré ou un moniteur externe. Port de sortie vidéo £ F3531M23_M33.book Page 41 Monday, October 3, 2005 3:24 PM42 Chapitre 3 Utilisation de votre iMac G5 Connexion d’un écran externe ou d’un projecteur Utilisez l’adaptateur de moniteur VGA d’Apple pour connecter un moniteur externe VGA ou un projecteur à votre iMac G5. Votre iMac G5 détecte automatiquement l’écran externe. Pour connecter un moniteur externe ou un projecteur : 1 Allumez l’écran externe ou le projecteur. 2 Connectez l’adaptateur de moniteur VGA d’Apple au port VGA du moniteur externe ou du projecteur. 3 Connectez l’adaptateur de moniteur VGA d’Apple à votre iMac G5. Important : pour vous assurer que votre iMac G5 détecte automatiquement le moniteur externe ou le projecteur, veillez à d’abord brancher l’adaptateur VGA au moniteur externe ou au projecteur en question. 4 Utilisez la sous-fenêtre Moniteurs des Préférences Système pour régler la résolution du moniteur externe ou du projecteur. Connexion d’un téléviseur, d’un magnétoscope ou de tout autre appareil vidéo Utilisez l’adaptateur vidéo d’Apple pour connecter à votre iMac G5 un téléviseur, un magnétoscope ou tout autre type d’appareil vidéo doté d’un port composite ou S-vidéo. Lorsque vous connectez un téléviseur, l’image apparaît à la fois sur l’iMac G5 et sur le téléviseur. Pour connecter un appareil vidéo à votre iMac G5 : 1 Connectez l’extrémité munie d’une seule fiche de l’adaptateur vidéo d’Apple au port de sortie vidéo de votre iMac G5. 2 Connectez l’autre extrémité de l’adaptateur au port vidéo composite ou S-vidéo du téléviseur ou du magnétoscope. 3 Allumez l’appareil. 4 Pour régler l’apparence des images affichées à l’écran, ouvrez la sous-fenêtre Moniteurs des Préférences Système. En savoir plus sur l’utilisation d’un moniteur externe ou d’un téléviseur Vous pourrez trouver des informations supplémentaires sur la configuration et l’utilisation d’un moniteur externe dans l’Aide Mac. Choisissez Aide > Aide Mac, puis recherchez “moniteur”. F3531M23_M33.book Page 42 Monday, October 3, 2005 3:24 PMChapitre 3 Utilisation de votre iMac G5 43 Utilisation du standard USB 2.0 (High-Speed Universal Serial Bus) Votre iMac G5 est doté de cinq ports USB (d) (trois ports à haute vitesse USB 2.0 au dos de l’iMac G5 et deux ports USB 1.1 sur le clavier), que vous pouvez utiliser pour connecter de nombreux types de périphériques, notamment des imprimantes, des scanneurs, des appareils photo numériques, des pavés de commande, des manettes de jeu, des claviers et des lecteurs de disquette. La technologie USB facilite la connexion de périphériques. Vous pouvez, dans la plupart des cas, connecter et déconnecter un périphérique USB alors que l’iMac G5 est en cours de fonctionnement. Vous pouvez utiliser les périphériques dès leur branchement. Utilisation de périphériques USB Pour utiliser un périphérique USB avec votre iMac G5, connectez-le tout simplement à l’ordinateur. L’iMac G5 charge automatiquement le logiciel adéquat chaque fois que vous connectez un nouveau périphérique. Les ports USB 2.0 situés à l’arrière de l’ordinateur vous permettent de brancher des périphériques USB 1.1 et USB 2.0 à haute vitesse. Les périphériques USB 1.1 ne bénéficieront pas du taux de transfert plus rapide de l’USB 2.0. De même, vous pouvez brancher des périphériques USB 2.0 sur les ports USB 1.1 du clavier, mais ils fonctionneront peut-être à des vitesses moindres. Remarque : Apple fournit d’origine des logiciels compatibles avec de nombreux périphériques USB. Si votre iMac G5 ne trouve pas le logiciel adéquat pour un périphérique USB connecté, vous pouvez installer le logiciel fourni avec ce périphérique ou consulter le site Web du fabricant pour connaître les dernières versions. Ports USB d d d F3531M23_M33.book Page 43 Monday, October 3, 2005 3:24 PM44 Chapitre 3 Utilisation de votre iMac G5 Utilisation simultanée de plusieurs périphériques USB Si tous vos ports USB sont occupés et que vous souhaitez connecter davantage de périphériques USB, vous pouvez vous procurer un concentrateur USB. Le concentrateur USB se connecte à un port USB disponible de votre iMac G5 et vous permet de disposer de ports USB supplémentaires (en général quatre ou sept). La plupart des concentrateurs USB disposent d’un adaptateur secteur et doivent être branchés sur une prise électrique. En savoir plus sur le standard USB Vous trouverez des informations supplémentaires à propos du standard USB dans l’Aide Mac (voir à la page 23). Choisissez Aide > Aide Mac et recherchez “USB”. Vous trouverez d’autres informations sur le site Web USB d’Apple, à l’adresse www.apple.com/fr/usb. Pour obtenir des informations sur les périphériques USB disponibles pour votre iMac G5, consultez le Guide des produits Macintosh à l’adresse http://guide.apple.com/fr. Concentrateur USB F3531M23_M33.book Page 44 Monday, October 3, 2005 3:24 PMChapitre 3 Utilisation de votre iMac G5 45 Connexion via FireWire Votre iMac G5 est muni de deux ports FireWire 400 (H). FireWire facilite la connexion et la déconnexion de périphériques à haute vitesse comme par exemple des caméras vidéo numériques, des imprimantes, des scanneurs et des disques durs. Vous pouvez connecter et déconnecter des périphériques FireWire sans avoir à redémarrer votre iMac G5. La liste ci-dessous répertorie certaines des opérations possibles avec FireWire :  Connecter une caméra vidéo numérique pour capturer, transférer et faire des montages vidéo de grande qualité directement sur votre iMac G5 au moyen de logiciels de montage vidéo tels qu’iMovie (inclus sur votre iMac G5), Final Cut Express ou Final Cut Pro.  Connecter un disque dur FireWire externe et l’utiliser pour sauvegarder des données ou transférer des fichiers. Une icône de disque dur FireWire s’affiche sur le bureau dès que vous connectez le disque dur à votre iMac G5.  Démarrer à partir d’un disque dur externe FireWire. Connectez un disque FireWire externe (équipé d’un système d’exploitation valide), ouvrez la sous-fenêtre Démarrage des Préférences Système, et cliquez sur le disque FireWire. Redémarrez votre iMac G5. Ports FireWire H H F3531M23_M33.book Page 45 Monday, October 3, 2005 3:24 PM46 Chapitre 3 Utilisation de votre iMac G5 Utilisation de périphériques FireWire Pour utiliser un périphérique FireWire avec votre iMac G5, connectez-le tout simplement à l’iMac G5. Apple fournit d’origine des logiciels compatibles avec de nombreux périphé- riques FireWire. Si votre iMac G5 ne trouve pas le logiciel adéquat pour un périphérique FireWire connecté, vous pouvez installer le logiciel fourni avec ce périphérique ou consulter le site Web du fabricant pour obtenir les dernières versions. Remarque : le port FireWire est conçu pour alimenter les périphériques FireWire (8 watts maximum). Vous avez la possibilité de connecter plusieurs périphériques entre eux et de relier en chaîne les périphériques (“en guirlande”) au port FireWire de votre iMac G5. Dans la plupart des cas, l’ordinateur ne peut pas alimenter plus de deux périphériques. Si vous connectez plus de deux périphériques, les autres périphériques de la guirlande doivent être alimentés au travers d’adaptateurs électriques séparés. Connecter plus de deux périphériques FireWire alimentés par l’ordinateur peut entraîner des problèmes. Si tel est le cas, éteignez votre iMac G5, déconnectez les périphériques FireWire, puis redémarrez l’ordinateur. Utilisation du mode disque cible FireWire Si vous souhaitez transférer des fichiers de votre iMac G5 vers un autre ordinateur équipé de la technologie FireWire, et vice-versa, ou bien que vous êtes confronté à un problème qui empêche le démarrage de votre iMac G5, utilisez le mode disque cible FireWire pour vous connecter à un autre ordinateur. Pour connecter votre iMac G5 en mode disque cible FireWire, procédez de la manière suivante : 1 Assurez-vous que votre iMac G5 est éteint. 2 Utilisez un câble FireWire muni d’un connecteur standard à 6 broches à chaque extré- mité pour connecter votre iMac G5 à un autre ordinateur équipé de FireWire. 3 Démarrez votre iMac G5 et appuyez immédiatement sur la touche T en la maintenant enfoncée. Le logo FireWire s’affiche sur l’écran de votre iMac G5. L’écran de l’autre ordinateur affiche l’icône du disque dur interne de votre iMac G5 et l’icône d’un CD ou d’un DVD inséré dans le lecteur optique de l’iMac G5. 4 Faites glisser dans la Corbeille l’icône du disque dur de l’iMac G5 et l’icône du CD ou du DVD lorsque vous avez terminé le transfert de fichiers. 5 Appuyez sur le bouton d’alimentation de l’iMac G5 pour l’éteindre. 6 Débranchez le câble FireWire. F3531M23_M33.book Page 46 Monday, October 3, 2005 3:24 PMChapitre 3 Utilisation de votre iMac G5 47 En savoir plus sur FireWire Vous trouverez des informations supplémentaires sur FireWire dans l’Aide Mac (consultez la page 23). Choisissez Aide > Aide Mac, puis recherchez “FireWire”. Vous trouverez d’autres informations sur le site Web FireWire d’Apple, à l’adresse www.apple.com/fr/firewire Utilisation de votre lecteur optique Votre iMac G5 est doté d’un lecteur SuperDrive, que vous pouvez utiliser pour installer des logiciels fournis sur CD ou DVD, écouter de la musique sur CD audio et lire des films sur DVD. Vous avez également la possibilité de graver vos propres films et créer ainsi des DVD vidéo pouvant être lus sur la plupart des lecteurs de DVD. Vous pouvez aussi graver des CD audio pouvant être lus sur la plupart des lecteurs de CD et enregistrer des documents ou d’autres fichiers numériques sur des disques vierges CD-R, CD-RW, DVD±R, DVD±RW et DVD+R double couche à l’aide du Finder. Vous pouvez placer près de deux fois plus de données (8,54 Go) sur un disque DVD+R DL (double couche). Important : le lecteur optique de votre iMac G5 est compatible avec les disques circulaires standard de 12 cm. Les disques de forme irrégulière et les disques de moins de 12 cm ne peuvent pas être lus. Les disques non circulaires ou plus petits risquent de se coincer dans le lecteur. En cas de disque coincé, reportez-vous aux informations de dépannage à la page 61. Remarque : si vous possédez des logiciels anciens sur disquette, demandez au fabricant s’ils sont disponibles sur CD ou téléchargeables en ligne, ou bien achetez un lecteur de disquette externe USB pour votre iMac G5 auprès d’un revendeur agréé Apple ou sur l’Apple Store en ligne à l’adresse www.apple.com/francestore. F3531M23_M33.book Page 47 Monday, October 3, 2005 3:24 PM48 Chapitre 3 Utilisation de votre iMac G5 Insertion d’un CD ou DVD Pour installer ou utiliser des logiciels à partir d’un disque CD ou DVD, procédez comme suit : 1 Insérez le disque dans le lecteur optique, en plaçant l’étiquette vers le haut. 2 Dès que son icône apparaît sur le bureau, le disque peut être utilisé. Remarque : certains disques DVD sont à double face. Éjection d’un disque Pour éjecter un disque, procédez comme suit :  Glissez l’icône du disque dans la Corbeille.  Maintenez enfoncée la touche d’éjection de disque (C) sur le clavier jusqu’à ce que le disque soit éjecté. Si vous ne parvenez pas à éjecter le disque, fermez toutes les applications susceptibles d’utiliser le disque et réessayez. Si cela ne donne pas de résultats, redémarrez votre iMac G5 tout en maintenant le bouton de la souris enfoncé. Lecture de DVD Insérez le DVD que vous voulez lire. L’application Lecteur DVD s’ouvre automatiquement et lance la lecture du disque. Si vous avez connecté l’iMac G5 à un téléviseur pour regarder vos DVD sur l’écran du téléviseur, sélectionnez 720 x 480 NTSC (aux États-Unis) ou 720 x 576 PAL (en Europe et dans d’autres régions) dans la sous-fenêtre Moniteurs des Préférences Système. F3531M23_M33.book Page 48 Monday, October 3, 2005 3:24 PMChapitre 3 Utilisation de votre iMac G5 49 Il est très facile de connecter votre iMac G5 à une chaîne stéréo. Utilisez un câble audio optique muni d’un connecteur mini-prise (en vente à l’adresse www.apple.com/ francestore) pour relier le port combiné de sortie casque/sortie audio optique (f) de votre iMac G5 au port d’entrée audio optique de votre récepteur stéréo. Enregistrement de disques CD-R et CD-RW Vous pouvez enregistrer des disques CD-R ou CD-RW directement à partir de votre bibliothèque iTunes. Pour enregistrer de la musique sur un CD-R ou CD-RW via iTunes : 1 Cliquez sur l’icône iTunes dans le Dock. 2 Sélectionnez la liste de lecture à enregistrer. 3 Insérez un disque vierge CD-R ou CD-RW. (Pour une compatibilité optimale avec les lecteurs CD, utilisez un CD-R). 4 En haut de la fenêtre iTunes, cliquez sur l’option Graver le CD. Pour enregistrer vos fichiers et dossiers sur un CD-R ou CD-RW à l’aide du Finder : 1 Insérez un disque vierge dans le lecteur optique. 2 Dans la zone de dialogue qui apparaît, attribuez un nom au disque. Une icône correspondant au CD apparaît sur le bureau. 3 Glissez des fichiers et dossiers sur l’icône du disque. 4 Choisissez Fichier > Graver le disque ou sélectionnez le disque, puis glissez-le sur l’icône “Graver le disque“ située dans le Dock. En savoir plus sur l’enregistrement de CD  Pour obtenir des informations sur l’enregistrement de fichiers de musique sur un CD-R à l’aide d’iTunes, ouvrez iTunes et choisissez Aide > Aide iTunes et Music Store.  Pour obtenir des instructions sur l’utilisation de l’application Lecteur DVD, ouvrez Lecteur DVD et choisissez Aide > Aide Lecteur DVD. Enregistrement d’informations sur un DVD Grâce au lecteur SuperDrive de votre iMac G5, vous pouvez enregistrer vos propres films sur disque DVD+R DL, DVD±RW ou DVD±R. Vous pouvez également enregistrer d’autres types de données numériques (vous pouvez sauvegarder vos fichiers par exemple). Pour graver des données sur un DVD-R à l’aide du Finder : 1 Insérez un DVD+R DL (double couche), un DVD±RW ou un DVD±R vierge dans le lecteur. 2 Dans la zone de dialogue qui apparaît, attribuez un nom au disque et sélectionnez le format souhaité. Une icône représentant le DVD apparaît sur le bureau. 3 Double-cliquez sur l’icône du DVD, puis glissez-y des fichiers et des dossiers. F3531M23_M33.book Page 49 Monday, October 3, 2005 3:24 PM50 Chapitre 3 Utilisation de votre iMac G5 4 Choisissez Fichier > Graver le disque ou sélectionnez le disque, puis glissez-le sur l’icône “Graver le disque“ située dans le Dock. Vous pouvez également utiliser iDVD pour créer vos propres DVD personnalisés, les graver sur DVD vierge et les lire ensuite sur la plupart des lecteurs de DVD standard. Pour en savoir plus sur la manière d’utiliser iDVD, ouvrez iDVD et choisissez Aide > Aide iDVD. Protection de votre iMac G5 Utilisez un câble de sécurité et le logement de sécurité intégré pou protéger votre iMac G5. Vous pouvez vous procurer un câble de sécurité chez un revendeur agréé Apple, dans un magasin Apple Store ou bien sur l’Apple Store en ligne à l’adresse www.apple.com/francestore. Des informations supplémentaires sur les fonctionnalités logicielles de sécurité de votre iMac G5, y compris les mots de passe d’utilisateurs multiples et le cryptage des fichiers, sont disponibles dans l’Aide Mac (voir la page 23). Choisissez Aide > Aide Mac, puis effectuez une recherche sur les termes “sécurité” ou “utilisateurs multiples”. Logement de sécurité F3531M23_M33.book Page 50 Monday, October 3, 2005 3:24 PM4 51 4 Installation de la mémoire Ce chapitre vous apporte des informations et des instructions concernant l’installation de mémoire supplémentaire sur votre iMac G5. Votre iMac G5 est fourni avec un minimum de 512 mégaoctets (Mo) de mémoire DDR2 SDRAM (Double Data Rate, Synchronous Dynamic Random-Access Memory). Votre iMac G5 est doté d’un logement de mémoire disponible pour une expansion. Installation de mémoire supplémentaire Vous avez la possibilité d’ajouter des modules de mémoire conformes à la description suivante :  DDR2 DRAM  533 MHz, compatible avec PC2-4200 (également appelé DDR2 533)  Sans tampon et non enregistrée Dans le logement ouvert de votre iMac G5, vous pouvez ajouter un module de mémoire de 512 Mo, d’1 ou de 2 gigaoctets (Go), totalisant un maximum de 2,5 Go de mémoire. Utilisez Informations Système pour déterminer la quantité de mémoire installée sur votre iMac G5, et pour savoir si le logement est vide et disponible pour accueillir de la mémoire supplémentaire. Pour utiliser Informations Système : 1 Choisissez le menu Pomme () > “À propos de ce Mac” dans la barre des menus. 2 Cliquez sur Plus d’infos pour ouvrir Informations Système. 3 Cliquez sur le triangle d’affichage situé à côté de Matériel. F3531M23_M33.book Page 51 Monday, October 3, 2005 3:24 PM52 Chapitre 4 Installation de la mémoire 4 Cliquez sur Mémoire. Pour installer un module de mémoire : 1 Éteignez votre iMac G5 en choisissant le menu Pomme () > Éteindre. 2 Débranchez tous les câbles de votre iMac G5, y compris le câble d’alimentation. 3 Placez un linge ou un chiffon propre et doux sur le bureau ou la table. Tout en tenant votre iMac G5 par les côtés, posez-le lentement à plat de manière à faire reposer l’écran contre la surface de la table et à tourner la partie inférieure de l’ordinateur vers vous. 4 Soulevez le socle et utilisez un tournevis cruciforme nº 2 pour desserrer les deux vis imperdables qui protègent l’accès à la mémoire en les faisant tourner vers la gauche. Avertissement : Apple vous recommande de confier l’installation de mémoire à un technicien agréé Apple. Consultez les informations sur le service et l’assistance qui accompagnent votre iMac G5 pour savoir comment joindre la société Apple. Tout dommage causé à votre matériel en tentant d’installer vous-même de la mémoire n’est pas couvert par la garantie limitée de votre iMac G5. · Avertissement : éteignez toujours votre iMac G5 avant d’y installer de la mémoire. N’essayez pas d’installer de la mémoire dans l’ordinateur lorsqu’il est branché. · Avertissement : le capteur de lumière intégré se situe entre les deux vis, comme indiqué sur l’illustration. Ne confondez pas le capteur de lumière avec une vis. L’introduction d’un tournevis ou de tout autre objet pointu dans le capteur pourrait endommager votre ordinateur. Tournevis cruciforme Soulevez le socle Capteur de lumière intégré F3531M23_M33.book Page 52 Monday, October 3, 2005 3:24 PMChapitre 4 Installation de la mémoire 53 5 Retirez le cache d’accès à la mémoire. 6 Enfoncez simultanément les deux anneaux dans le logement mémoire. Si un module de mémoire s’y trouve déjà, cela le délogera. 7 Insérez le module de mémoire dans le logement mémoire. Le module ne peut être inséré que dans un sens (voir l’illustration ci-dessous). Anneaux Module de mémoire F3531M23_M33.book Page 53 Monday, October 3, 2005 3:24 PM54 Chapitre 4 Installation de la mémoire 8 Enfoncez doucement le module de mémoire dans le logement pour le mettre en place. Lorsque la mémoire est correctement placée, vous entendrez un léger clic et les deux anneaux se replieront partiellement dans le logement de manière automatique. F3531M23_M33.book Page 54 Monday, October 3, 2005 3:24 PMChapitre 4 Installation de la mémoire 55 9 Remettez le cache d’accès à la mémoire en place tout en l’utilisant pour enfoncer les anneaux dans le logement mémoire. Utilisez un tournevis cruciforme nº 2 pour resserrer les vis. 10 En maintenant votre iMac G5 par les côtés, retournez-le afin de le remettre à l’endroit, puis rebranchez les divers câbles, y compris le câble d’alimentation. 11 Allumez votre iMac G5 en appuyant sur le bouton d’alimentation situé à l’arrière. Avertissement : une fois l’installation de mémoire terminée, n’oubliez pas de remettre le cache d’accès à la mémoire en place. Votre iMac G5 ne fonctionnera pas correctement sans ce cache. Tournevis cruciforme Capteur de lumière intégré F3531M23_M33.book Page 55 Monday, October 3, 2005 3:24 PM56 Chapitre 4 Installation de la mémoire Vérification de la reconnaissance de la nouvelle mémoire par votre iMac G5 Après avoir ajouté de la mémoire supplémentaire dans votre iMac G5, vous pouvez vérifier si ce dernier la reconnaît. Pour vérifier la mémoire, procédez comme suit : 1 Démarrez votre iMac G5. 2 Lorsque le bureau Mac OS s’affiche, choisissez le menu Pomme () > À propos de ce Mac. Ce total inclut la quantité de mémoire d’origine intégrée à votre ordinateur et la mémoire que vous avez installée. Pour un aperçu plus détaillé sur la quantité de mémoire installée sur votre iMac G5, ouvrez Informations système en cliquant sur Plus d’infos. Si votre iMac G5 ne reconnaît pas la mémoire ou qu’il ne démarre pas correctement, éteignez-le et lisez à nouveau les instructions d’installation afin de vous assurer que la mémoire est correctement installée et compatible avec cet iMac G5. Si les problèmes persistent, retirez la mémoire et consultez les informations d’assistance technique fournies avec la mémoire ou contactez le fournisseur de la mémoire. Mémoire totale installée dans votre iMac G5 F3531M23_M33.book Page 56 Monday, October 3, 2005 3:24 PM5 57 5 Dépannage Il se peut que vous rencontriez à titre exceptionnel des problèmes en utilisant votre iMac G5. Dans ce chapitre, vous trouverez des suggestions pour résoudre ces problèmes. Ce chapitre apporte des solutions aux problèmes qui peuvent vous empêcher de travailler avec votre iMac G5, tels que le blocage du système ou l’impossibilité de démarrer l’iMac G5. Vous trouverez de plus amples informations sur le dépannage dans l’Aide Mac (voir la page 23) et sur le site Web de service et d’assistance Apple à l’adresse www.apple.com/fr/support. Il existe généralement une solution simple et rapide aux problèmes que vous rencontrez au cours de l’utilisation de votre iMac G5. Lorsque vous rencontrez un problème, essayez de noter les opérations que vous avez effectuées avant que le problème ne survienne. Ce récapitulatif permet de restreindre les causes possibles du problème et de trouver la solution. Les éléments à noter comprennent :  Les applications que vous étiez en train d’utiliser quand le problème est apparu. Les problèmes qui ne surgissent qu’avec une application spécifique peuvent indiquer que cette application n’est pas compatible avec la version de Mac OS installée sur votre iMac G5.  Tout logiciel installé récemment. Certaines applications installent des extensions qui peuvent ne pas être compatibles avec l’environnement Classic.  Tout nouveau composant matériel connecté ou installé (mémoire supplémentaire ou périphérique, par exemple). Avertissement : n’essayez pas d’ouvrir votre iMac G5. Si votre iMac G5 a besoin d’être inspecté, consultez les informations sur le service et l’assistance qui accompagnent votre ordinateur ; vous y trouverez des instructions sur la manière de contacter Apple ou un fournisseur de services agréé Apple. L’utilisateur ne peut remplacer aucune pièce de l’iMac G5 excepté la mémoire. F3531M23_M33.book Page 57 Monday, October 3, 2005 3:24 PM58 Chapitre 5 Dépannage Problèmes vous empêchant d’utiliser votre iMac G5 Si votre iMac G5 ne répond plus ou que le pointeur se fige  Assurez-vous tout d’abord que la souris et le clavier sont connectés. Débranchez puis rebranchez les connecteurs et vérifiez qu’ils sont correctement mis en place. Si vous avez un clavier ou une souris sans fil, vérifiez que les piles sont en état de marche.  Si cela ne donne pas de résultats, essayez de forcer la fermeture des applications posant problème. Maintenez les touches Option et Commande (x) enfoncées, puis appuyez sur Échap. Si une zone de dialogue apparaît, sélectionnez-y l’application et cliquez sur Forcer à quitter. Enregistrez alors le travail de toute application ouverte, puis redémarrez l’ordinateur afin de vous assurer que le problème est entièrement réglé.  Si vous ne parvenez pas à forcer la fermeture de l’application, maintenez le bouton d’alimentation (®) situé à l’arrière de l’iMac G5 enfoncé pour l’éteindre.  Si cela reste sans effets, débranchez le câble d’alimentation de l’iMac G5. Rebranchez le câble, puis appuyez sur le bouton d’alimentation (®) pour rallumer l’iMac G5. Si le problème survient fréquemment lorsque vous utilisez une application particulière, consultez le fabricant de cette application pour vérifier si elle est compatible avec votre iMac G5. Pour obtenir des informations concernant le contact et l’assistance relatifs aux logiciels fournis avec votre ordinateur, rendez-vous à l’adresse http://guide.apple.com/fr. Si le problème se reproduit fréquemment, réinstallez éventuellement votre logiciel système (voir “Réinstallation des logiciels fournis avec votre iMac G5” à la page 59). L’iMac G5 se bloque au démarrage ou un point d’interrogation clignotant apparaît  Patientez quelques secondes. Si l’iMac G5 ne démarre pas après un certain temps, éteignez-le en maintenant le bouton d’alimentation (®) enfoncé pendant 5 secondes environ, jusqu’à ce qu’il s’éteigne complètement. Maintenez ensuite la touche Option enfoncée puis appuyez à nouveau sur le bouton d’alimentation (®) pour démarrer votre iMac G5. Lorsque votre iMac G5 démarre, cliquez sur l’icône du disque dur, puis sur la flèche droite.  Une fois que l’iMac G5 a démarré, ouvrez Préférences Système et cliquez sur Démarrage. Sélectionnez un dossier Système Mac OS X.  Si le problème se reproduit fréquemment, réinstallez éventuellement votre logiciel système (voir “Réinstallation des logiciels fournis avec votre iMac G5” à la page 59). F3531M23_M33.book Page 58 Monday, October 3, 2005 3:24 PMChapitre 5 Dépannage 59 Si l’iMac G5 ne s’allume ou ne démarre pas  Assurez-vous que le câble d’alimentation est correctement connecté à l’iMac G5 et branché sur une prise électrique en état de marche.  Si cela ne fonctionne pas, appuyez sur le bouton d’alimentation (®) et maintenez immédiatement les touches Commande (x), Option, P et R enfoncées jusqu’à ce que vous entendiez une deuxième fois le signal sonore de démarrage.  Si vous avez récemment ajouté de la mémoire, assurez-vous qu’elle est correctement installée et compatible avec votre iMac G5. Vérifiez si son retrait permet à l’iMac G5 de démarrer (voir la page 51).  Si cela reste sans effet, débranchez le câble d’alimentation et attendez au moins 30 secondes. Rebranchez le câble, puis appuyez à nouveau sur le bouton d’alimentation (®) pour allumer votre iMac G5.  Si vous ne réussissez toujours pas à démarrer votre iMac G5, consultez les informations concernant le service et l’assistance qui accompagnent votre iMac G5 pour savoir comment contacter Apple et obtenir ses services. Réinstallation des logiciels fournis avec votre iMac G5 Les disques d’installation de logiciels fournis avec votre ordinateur permettent de réinstaller Mac OS X et les applications livrées avec votre iMac G5, mais aussi d’installer Mac OS 9. Important : Apple vous recommande de sauvegarder les données de votre disque dur avant de procéder à la restauration du logiciel. Apple décline toute responsabilité en cas de perte de données. Installation de Mac OS X Pour installer Mac OS X : 1 Sauvegardez vos fichiers importants. 2 Insérez le CD “Mac OS X Install Disc 1” livré avec votre iMac G5. 3 Double-cliquez sur “Install Mac OS X and Bundled Software”. 4 Suivez les instructions à l’écran. 5 Après avoir sélectionné le disque de destination pour l’installation, suivez les instructions à l’écran. Il se peut que votre iMac G5 redémarre et vous demande d’insérer le prochain disque d’installation de Mac OS X. Important : nous vous conseillons de sauvegarder vos fichiers importants avant d’installer Mac OS X et les autres applications car l’option “Effacer et installer” efface votre disque de destination. F3531M23_M33.book Page 59 Monday, October 3, 2005 3:24 PM60 Chapitre 5 Dépannage Installation des applications Pour installer les applications fournies avec votre iMac G5, veuillez suivre les instructions exposées ci-dessous. Mac OS X doit déjà être installé sur votre iMac G5. Pour installer les applications : 1 Sauvegardez vos fichiers importants. 2 Insérez le CD “Mac OS X Install Disc 1” livré avec votre iMac G5. 3 Double-cliquez sur “Install Bundled Software Only.” 4 Suivez les instructions à l’écran. 5 Après avoir sélectionné le disque de destination pour l’installation, suivez les instructions à l’écran. Remarque : pour installer iCal, iChat AV, iSync, iTunes et Safari, suivez les instructions “Installation de Mac OS X” ci-dessus. Installation de Mac OS 9 À la livraison de votre iMac G5, Mac OS 9 n’est pas installé. Pour utiliser les applications Mac OS 9 avec l’iMac G5, vous devez installer Mac OS 9 à partir du CD “Mac OS X Install Disc 2”. Pour installer Mac OS 9 : 1 Sauvegardez vos fichiers importants si cela est possible. 2 Insérez le CD “Mac OS X Install Disc 2” livré avec votre iMac G5. 3 Double-cliquez sur “Install Mac OS 9 System Support”. 4 Suivez les instructions à l’écran. 5 Après avoir sélectionné le disque de destination pour l’installation, suivez les instructions à l’écran. F3531M23_M33.book Page 60 Monday, October 3, 2005 3:24 PMChapitre 5 Dépannage 61 Autres problèmes En cas de problème avec une application  Pour les problèmes liés aux logiciels provenant d’éditeurs tiers, contactez l’éditeur concerné. Les éditeurs de logiciels proposent souvent des mises à jour de leurs produits sur leurs sites Web. Vous pouvez utiliser la sous-fenêtre Mise à jour de logiciels Préférences Système pour configurer votre iMac G5 afin qu’il recherche et installe automatiquement les logiciels Apple les plus récents. Pour plus d’informations, choisissez Aide > Aide Mac, puis recherchez “mise à jour de logiciels”. En cas de problèmes avec les communications sans fil AirPort  Vérifiez que vous avez correctement configuré le logiciel en respectant les instructions fournies avec la borne d’accès AirPort Extreme ou AirPort Express.  Vérifiez que l’iMac G5 ou le réseau auquel vous souhaitez vous connecter est activé et dispose d’un point d’accès sans fil.  Assurez-vous que l’autre ordinateur ou le point d’accès au réseau se trouve dans la zone de couverture de l’antenne de votre ordinateur. Des appareils électroniques ou des structures métalliques se trouvant à proximité peuvent interférer avec les communications sans fil et réduire la portée de votre antenne. Vous pouvez éventuellement améliorer la réception en réorientant l’iMac G5.  Vérifiez la puissance du signal AirPort. L’icône d’état AirPort de la barre des menus affiche jusqu’à quatre barres.  Des problèmes de fonctionnement de réseau peuvent survenir si votre borne d’accès est fréquemment utilisée à proximité d’un four micro-ondes, d’un téléphone sans fil ou autres sources d’interférences. Pour minimiser les interférences, placez votre borne d’accès loin de ces appareils.  Pour en savoir plus sur l’utilisation et le dépannage d’AirPort, choisissez Aide > Aide Mac, puis Bibliothèque > Aide AirPort. En cas de problèmes avec l’éjection d’un disque  Quitter toutes les applications susceptibles d’utiliser le disque et appuyez sur la touche d’éjection de disque (C) de votre clavier.  Si cela ne fonctionne pas, ouvrez une fenêtre du Finder et cliquez sur l’icône d’éjection à côté de celle du disque dans la barre latérale, ou bien faites glisser l’icône du disque vers la Corbeille.  Si cela ne donne pas de résultats, redémarrez l’iMac G5 tout en maintenant le bouton de la souris enfoncé. F3531M23_M33.book Page 61 Monday, October 3, 2005 3:24 PM62 Chapitre 5 Dépannage En cas de problèmes de connexion à Internet  Assurez-vous que votre câble de réseau est connecté et qu’il fonctionne correctement.  Si vous utilisez une connexion à Internet par ligne commutée, veillez à ce que votre câble téléphonique soit bien relié au port du modem externe et non au port Ethernet (G).  Consultez “Connexion à Internet” à la page 73 pour en savoir plus sur la configuration de votre iMac G5 en vue d’une connexion à Internet. Vous y découvrirez comment localiser vos réglages Internet ainsi que les coordonnées de votre fournisseur d’accès à Internet (si vous avez utilisé l’Assistant réglages pour établir votre compte Internet).  Consultez “Dépannage de votre connexion” à la page 90 en cas de problème de connexion à Internet. En cas de problème de fonctionnement de votre iMac G5 ou de Mac OS  Si les réponses à vos questions ne figurent pas dans ce manuel, recherchez des instructions et des informations de dépannage dans l’Aide Mac. Dans le Finder, choisissez Aide > Aide Mac.  Pour obtenir les dernières informations de dépannage et des mises à jour de logiciels, consultez le site Web d’assistance Apple, à l’adresse www.apple.com/fr/support. Si vos réglages de date et heure disparaissent régulièrement  La pile de secours interne de votre ordinateur a peut-être besoin d’être remplacée. Cette pile ne peut pas être remplacée par l’utilisateur. Pour en savoir plus, contactez un fournisseur de services agréé Apple. Localisation du numéro de série de votre produit Le numéro de série de votre iMac G5 est apposé sous son socle. Vous le trouverez également dans les Informations Système. Choisissez le menu Pomme () > “À propos de ce Mac” dans la barre des menus, puis cliquez sur Plus d’infos. Cliquez sur le triangle d’affichage Matériel pour afficher le numéro de série. F3531M23_M33.book Page 62 Monday, October 3, 2005 3:24 PMChapitre 5 Dépannage 63 Utilisation de la fonction Apple Hardware Test Apple Hardware Test vous aide à déterminer s’il existe un problème matériel sur votre iMac G5. Pour utiliser Apple Hardware Test : 1 Déconnectez tous les périphériques connectés à votre iMac G5 à l’exception du clavier et de la souris. Si un câble Ethernet est connecté, déconnectez-le. 2 Insérez le CD “Mac OS X Install Disc 1” livré avec votre iMac G5. 3 Redémarrez ensuite votre iMac G5 en maintenant la touche Option enfoncée lors du démarrage. 4 Cliquez sur Apple Hardware Test lorsque la liste des volumes de démarrage disponibles apparaît. 5 Cliquez sur la flèche droite. 6 Lorsque l’écran principal Apple Hardware Test apparaît (environ 45 secondes plus tard), suivez les instructions affichées à l’écran. 7 En cas de détection d’un problème, Apple Hardware Test affiche un code d’erreur. Notez le code d’erreur avant d’entreprendre les démarches d’assistance. Si Apple Hardware Test ne détecte pas de panne matérielle, il est probable que le problème soit lié aux logiciels. Pour en savoir plus sur Apple Hardware Test, consultez le fichier “À propos d’AHT” sur le CD “Mac OS X Install Disc 1”. F3531M23_M33.book Page 63 Monday, October 3, 2005 3:24 PMF3531M23_M33.book Page 64 Monday, October 3, 2005 3:24 PM 65 A Annexe A Caractéristiques Vous pouvez utiliser Informations Système pour trouver des informations détaillées sur votre iMac G5, telles que la quantité de mémoire intégrée, la taille du disque dur, les périphériques connectés et le numéro de série du produit. Pour accéder au contenu d’Informations Système, choisissez le menu Pomme () > “À propos de ce Mac” dans la barre des menus, puis cliquez sur Plus d’infos. Pour plus d’informations, vous pouvez consulter les sites Internet www.apple.com/fr/iMac et www.apple.com/fr/support. Dans la fenêtre qui s’ouvre, cliquez sur les triangles pour afficher ou cacher le contenu des différentes catégories. F3531M23_M33.book Page 65 Monday, October 3, 2005 3:24 PMF3531M23_M33.book Page 66 Monday, October 3, 2005 3:24 PM 67 B Annexe B Consignes de sécurité, d’utilisation et d’entretien Afin d’assurer votre sécurité et de préserver votre maté- riel, veillez à observer les consignes exposées dans cette annexe pour le nettoyage et la manipulation de votre iMac G5, ainsi que l’aménagement d’un espace de travail confortable. Consignes de sécurité pour la configuration et l’utilisation de votre iMac G5 Pour votre propre sécurité et celle de votre matériel, veillez à toujours prendre les précautions ci-après. Débranchez le câble d’alimentation (en tirant sur la fiche plutôt que sur le câble) et le câble téléphonique si l’un des cas suivants se présente :  Vous souhaitez ajouter de la mémoire.  Le câble ou la fiche d’alimentation est usé(e) ou endommagé(e).  Vous avez renversé quelque chose dans le boîtier de l’ordinateur.  Votre iMac G5 est exposé à la pluie ou à une humidité excessive.  Votre iMac G5 a subi une chute ou le boîtier a été endommagé de quelque autre façon.  Vous pensez que votre iMac G5 a besoin d’être inspecté ou réparé.  Vous souhaitez nettoyer le boîtier (pour ce faire, suivez à la lettre les instructions fournies plus bas). F3531M23_M33.book Page 67 Monday, October 3, 2005 3:24 PM68 Annexe B Consignes de sécurité, d’utilisation et d’entretien Important : la seule manière de couper complètement l’alimentation de l’ordinateur consiste à débrancher le câble d’alimentation. Assurez-vous qu’au moins une extrémité du câble d’alimentation se trouve à portée de main afin de pouvoir débrancher l’iMac G5 si nécessaire. Observez toujours les consignes ci-dessous :  Évitez de placer votre ordinateur à proximité d’un évier, d’un lavabo, d’une baignoire ou d’une douche, par exemple.  Protégez votre iMac G5 de l’humidité et des intempéries (neige, pluie...).  Lisez soigneusement les instructions d’installation avant de brancher votre iMac G5 sur une prise murale.  Gardez ces instructions dans un endroit facile d’accès pour vous et pour les utilisateurs éventuels.  Suivez toutes les instructions et mises en garde concernant votre système. Important : le matériel électrique peut s’avérer dangereux s’il n’est pas utilisé correctement. L’utilisation de ce produit ou de tout produit similaire doit toujours être supervisée par un adulte. Évitez que des enfants ne manipulent les composants internes ou les câbles de ces appareils. Ne procédez à aucune réparation par vous-même À part la mémoire, aucun élément de l’iMac G5 ne peut être manipulé par l’utilisateur (pour en savoir plus sur l’ajout de mémoire, consultez le chapitre 4, “Installation de la mémoire”, à la page 51). N’essayez pas d’ouvrir votre iMac G5. Si votre iMac G5 a besoin d’être inspecté, consultez les informations sur le service et l’assistance qui accompagnent votre ordinateur ; vous y trouverez des instructions sur la manière de contacter Apple ou un fournisseur de services agréé Apple. Tout dommage causé à votre matériel en tentant d’ouvrir votre iMac G5 ou d’y installer des éléments autres que des ajouts de mémoire n’est pas couvert par la garantie limitée de votre ordinateur. Avertissement : votre câble CA est livré avec une fiche de terre à trois broches (fiche équipée d’une troisième broche de mise à la terre). Cette fiche ne peut être branchée que sur une prise CA reliée à la terre. Si vous ne pouvez pas brancher la fiche car la prise n’est pas reliée à la terre, contactez un électricien agréé pour qu’il remplace cette prise par une prise correctement reliée à la terre. Ne dérogez en aucun cas à cette consigne. Avertissement : n’introduisez jamais d’objets d’aucune sorte dans les ouvertures du boîtier. Cela peut être dangereux et provoquer un incendie ou un choc électrique. F3531M23_M33.book Page 68 Monday, October 3, 2005 3:24 PMAnnexe B Consignes de sécurité, d’utilisation et d’entretien 69 Connecteurs et ports Ne forcez jamais l’insertion d’un connecteur dans un port. Si le connecteur ne se raccorde pas facilement au port, c’est qu’ils sont probablement incompatibles. Assurezvous que le connecteur correspond bien au port et que vous l’avez correctement positionné par rapport à ce dernier. Prévention des dommages auditifs Avertissement : l’utilisation d’écouteurs ou d’un casque d’écoute à un niveau de volume trop élevé peut provoquer une perte d’acuité auditive permanente. L’oreille peut s’adapter petit à petit à des volumes sonores de plus en plus élevés qui peuvent sembler normaux, mais qui risquent à la longue d’endommager votre système auditif. En cas de sifflements ou de perte d’acuité auditive, arrêtez d’utiliser le casque ou les écouteurs et consultez un médecin. Plus le volume est élevé, plus votre audition risque d’être affectée rapidement. Pour protéger votre système auditif, les spécialistes conseillent de prendre les mesures suivantes :  Limitez la durée d’utilisation à volume élevé de vos écouteurs ou de votre casque d’écoute.  Évitez d’augmenter le volume pour ne pas entendre les bruits environnants.  Baissez le volume si vous ne parvenez pas à entendre une personne qui vous parle. F3531M23_M33.book Page 69 Monday, October 3, 2005 3:24 PM70 Annexe B Consignes de sécurité, d’utilisation et d’entretien Ergonomie Siège Optez pour un siège de bureau réglable et offrant un dossier et une assise confortables. Réglez la hauteur du siège de sorte que vos cuisses reposent à l’horizontale et vos pieds à plat sur le sol. Le dossier du siège doit soutenir votre région lombaire, c’est-à-dire la partie inférieure de votre dos. Suivez les instructions du fabricant de sorte que le réglage du dossier soit parfaitement adapté à votre morphologie. Au besoin, relevez le siège de manière à ce que vos avant-bras et vos mains soient placés correctement par rapport au clavier. Si, dans ce cas, vos pieds ne reposent plus à plat sur le sol, utilisez un repose-pied inclinable et réglable en hauteur. Vous pouvez également abaisser le niveau du plan de travail pour éviter l’emploi d’un repose-pied. Une troisième solution consiste à utiliser un bureau dont le poste de saisie est situé plus bas que le plan de travail. Écran Placez le moniteur de manière à ce que le haut de l’écran se trouve légèrement en dessous du niveau de vos yeux lorsque vous êtes assis au clavier. Il vous appartient de juger de la meilleure distance entre vos yeux et l’écran. Elle se situe en général entre 45 et 70 cm. Orientez l’écran de manière à ce qu’il reflète le moins possible la lumière provenant de l’éclairage et des fenêtres. Souris Veillez à ce que la souris se trouve à hauteur du clavier. Ménagez un espace suffisant pour la manipuler avec aisance.. Cuisses légèrement inclinées Épaules détendues Écran positionné de façon à éviter tout reflet éblouissant Avant-bras et mains en ligne droite Avant-bras légèrement inclinés Bas du dos soutenu Pieds fixes au sol ou sur un repose-pied Haut de l'écran au niveau des yeux ou juste en dessous. (Il se peut que vous deviez ajuster la hauteur de votre écran en élevant ou en rabaissant votre plan de travail.) Côté inférieur au plan de travail dégagé 45–70 cm F3531M23_M33.book Page 70 Monday, October 3, 2005 3:24 PMAnnexe B Consignes de sécurité, d’utilisation et d’entretien 71 Clavier Veillez à maintenir vos épaules relâchées lorsque vous utilisez le clavier. Le bras et l’avant-bras doivent former un angle droit, la main étant placée dans le prolongement du poignet. Adoptez une frappe légère avec les mains et les doigts détendus. Évitez de replier les pouces à l’intérieur des paumes. Modifiez fréquemment la position de vos mains pour éviter la fatigue. Après un effort continu et intensif, certains utilisateurs de l’iMac G5 ressentent des douleurs aux mains, aux poignets ou aux bras. Si ces douleurs persistent, consultez un spécialiste. En savoir plus sur l’ergonomie Rendez-vous sur le site Web www.apple.com/about/ergonomics. Nettoyage de votre iMac G5 Respectez les règles suivantes lors du nettoyage de votre iMac G5 et de ses accessoires :  Éteignez votre iMac G5 et débranchez tous les câbles.  Pour nettoyer la partie extérieure de l’iMac G5, utilisez un chiffon doux, humide et non pelucheux. Évitez les infiltrations d’humidité par quelque ouverture que ce soit. Ne vaporisez jamais de liquide directement sur l’iMac G5.  N’utilisez ni aérosols, ni dissolvant, ni abrasifs. Nettoyage de l’écran de votre iMac G5 Pour nettoyer l’écran de votre iMac G5, procédez comme suit :  Éteignez votre iMac G5 et débranchez tous les câbles.  Humidifiez, à l’eau seulement, un chiffon propre, doux et non pelucheux et essuyez l’écran. Ne vaporisez jamais de liquide directement sur l’écran. Transport de votre iMac G5 Avant de soulever ou de repositionner votre iMac G5, il peut être nécessaire de débrancher tous les câbles et les prises qui y sont connectés. Pour soulever ou déplacer l’iMac G5, tenez-le par les côtés. Apple et l’environnement Apple Computer, Inc. reconnaît sa responsabilité en matière de réduction de l’impact de ses produits et de ses activités sur l’environnement. Pour en savoir plus, rendez-vous sur le site en anglais www.apple.com/environment/summary.html. F3531M23_M33.book Page 71 Monday, October 3, 2005 3:24 PMF3531M23_M33.book Page 72 Monday, October 3, 2005 3:24 PM 73 C Annexe C Connexion à Internet Votre ordinateur vous permet de naviguer sur le Web, d’envoyer des messages électroniques à vos amis et votre famille et de dialoguer en temps réel via Internet. Suivez les instructions de ce guide détaillé pour vous connecter à Internet. Lors du premier démarrage de Mac OS X, l’Assistant réglages vous aide à saisir vos informations concernant la configuration Internet. Si vous n’avez pas utilisé l’Assistant réglages pour configurer votre connexion à Internet, vous pouvez l’utiliser maintenant. Ouvrez Préférences Système et cliquez sur Réseau. Cliquez sur le bouton d’assistance pour ouvrir l’Assistant réglages de réseau. Si vous ne souhaitez pas utiliser l’Assistant réglages de réseau, vous pouvez utiliser les informations figurant dans cette annexe pour configurer votre connexion manuellement. Il existe quatre types de connexion à Internet :  Connexion commutée : un modem externe est branché sur un port USB de votre ordinateur et un câble téléphonique connecte ce modem à une prise téléphonique.  Connexion DSL haut débit ou modem câble : votre ordinateur est branché sur un modem spécial que vous obtenez via un fournisseur d’accès à Internet utilisant un câble Ethernet.  Connexion sans fil AirPort Extreme : votre ordinateur est connecté à Internet sans utiliser de câble via une borne d’accès AirPort Extreme ou AirPort Express.  Réseau local (LAN) : votre ordinateur est connecté à un réseau local via un câble Ethernet. C’est le type de connexion habituellement utilisé dans les entreprises. Avant de vous connecter à Internet : 1 Procurez-vous un compte auprès d’un fournisseur d’accès à Internet si vous n’en possédez pas encore. Vous pouvez consulter un annuaire téléphonique pour trouver un fournisseur d’accès à Internet. Consultez les rubriques “accès Internet”, “services Internet” ou “en ligne”. F3531M23_M33.book Page 73 Monday, October 3, 2005 3:24 PM74 Annexe C Connexion à Internet Remarque : si vous souhaitez que votre fournisseur d’accès à Internet soit America Online, ignorez la partie de l’Assistant réglages concernant la configuration Internet. Vous devez utiliser le programme d’installation d’AOL. Ouvrez ce programme, puis suivez les instructions à l’écran pour configurer AOL. 2 Procurez-vous les informations concernant la connexion auprès de votre fournisseur d’accès à Internet ou de votre administrateur réseau. Consultez la section suivante “Fiche technique Assistant réglages” à la page 75 pour savoir quelles sont les informations dont vous avez besoin pour chaque type de connexion. Dans certains cas, si un autre ordinateur se trouvant au même emplacement est déjà connecté à Internet, vous pouvez probablement utiliser ses réglages. Pour accéder aux réglages sur un ordinateur Mac OS X :  Ouvrez la sous-fenêtre Réseau des Préférences Système.  Dans le menu local Afficher, sélectionnez votre mode de connexion.  Copiez les informations concernant votre connexion. Pour accéder aux réglages sur un ordinateur Mac OS 9 :  Ouvrez le tableau de bord TCP/IP.  Rechercher le mode de connexion dans le menu local Connexion.  Rechercher la configuration dans le menu local Configurer.  Notez l’adresse IP, le masque de sous-réseau et l’adresse du routeur figurant dans les champs correspondants. Pour accéder aux réglages sur un PC Windows : Les informations d’un PC Windows concernant la connexion se trouvent à deux endroits.  Pour trouver l’adresse IP et le masque de sous-réseau, ouvrez le tableau de bord “Connexions réseau et Internet”.  Pour accéder aux informations relatives aux comptes d’utilisateurs, ouvrez le tableau de bord Comptes d’utilisateurs. Vous pouvez écrire ces informations directement sur les pages suivantes, puis les saisir dans l’Assistant réglages. 3 Si vous utilisez un modem externe, branchez le modem sur un port USB de votre ordinateur, et connectez un câble téléphonique au port du modem et à une prise téléphonique. Si vous disposez d’un modem DSL ou câble, connectez-le à votre ordinateur en suivant les instructions incluses. 4 Allumez votre ordinateur et saisissez les informations dans l’Assistant réglages pour configurer votre connexion à Internet. Remarque : si vous avez déjà démarré votre ordinateur et configuré votre connexion à Internet sans utiliser l’Assistant réglages, sélectionnez le menu Pomme () > Préférences Système, puis cliquez sur Réseau. Cliquez ensuite sur le bouton d’assistance. L’Assistant réglages s’ouvre. F3531M23_M33.book Page 74 Monday, October 3, 2005 3:24 PMAnnexe C Connexion à Internet 75 Fiche technique Assistant réglages Vous pouvez noter sur ces pages les informations obtenues auprès de votre fournisseur d’accès à Internet, de votre administrateur réseau ou de votre autre ordinateur, puis les saisir dans l’Assistant réglages de réseau. Sélectionnez la méthode utilisée par votre ordinateur pour se connecter à Internet. Pour configurer une connexion par ligne commutée, entrez les informations suivantes : Pour configurer une connexion par modem câble ou DSL, ou via un réseau local : 1 Choisissez votre type de connexion. Renseignez-vous auprès de votre fournisseur d’accès à Internet. Modem téléphonique Modem câble Modem DSL Réseau local (Ethernet) Sans fil Nom d’utilisateur Mot de passe Numéro de téléphone FAI Préfixe pour obtenir la ligne externe Manuellement Utilisation de DHCP avec une adresse manuelle Via DHCP Via BootP PPP F3531M23_M33.book Page 75 Monday, October 3, 2005 3:24 PM76 Annexe C Connexion à Internet 2 Saisissez les informations fournies par votre fournisseur d’accès à Internet : Si vous avez sélectionné “Manuellement” ou “Utilisation de DHCP avec une adresse manuelle”*, saisissez les informations suivantes : * Si vous avez sélectionné “Utilisation de DHCP avec une adresse manuelle”, il n’est pas nécessaire de saisir un masque de réseau ou une adresse de routeur. Si vous avez sélectionné “Via DHCP”, saisissez : Remarque : le numéro de client DHCP est facultatif et il est possible qu’il ne soit pas nécessaire. Demandez conseil à votre fournisseur d’accès à Internet. Si vous avez sélectionné “PPP (pour les connexions PPPoE)”, saisissez : Adresse IP Masque de sous-réseau Adresse du routeur Numéro de client DHCP Fournisseur d’accès (facultatif) Nom de service PPPoE (facultatif) Nom de compte Mot de passe F3531M23_M33.book Page 76 Monday, October 3, 2005 3:24 PMAnnexe C Connexion à Internet 77 Les informations ci-après sont facultatives. Demandez à votre fournisseur d’accès à Internet s’il est nécessaire de les saisir. Configuration manuelle de votre connexion à Internet Une fois les instructions des pages précédentes complétées à l’aide d’Assistant réglages, vous avez terminé la configuration de votre connexion à Internet. Si vous ne souhaitez pas utiliser l’Assistant réglages ou si vous souhaitez simplement modifier certains éléments de votre configuration Internet, suivez les instructions ci-dessous pour configurer manuellement votre connexion. Pour saisir vos informations manuellement, suivez les étapes correspondant à votre mode de connexion.  Connexion par modem commuté avec protocole PPP (voir la page 78)  Connexion par modem câble, DSL ou réseau local en utilisant ces configurations :  Manuelle (voir la page 82)  DHCP (voir la page 83)  PPPoE (voir la page 84)  Connexion sans fil AirPort (voir la page 87) Hôtes DNS (facultatif pour DHCP & BootP) Nom de domaine (facultatif) Serveur proxy (facultatif) F3531M23_M33.book Page 77 Monday, October 3, 2005 3:24 PM78 Annexe C Connexion à Internet Connexion commutée Le modem commuté reste la manière la plus courante de se connecter à Internet. Si vous utilisez un modem USB externe d’Apple avec votre iMac G5, celui-ci se connecte à un fournisseur d’accès à Internet via le protocole PPP (Point-to-Point). Assurez-vous que votre modem externe est bien branché sur un port USB de votre ordinateur et sur une ligne téléphonique. Ayez les informations de votre fournisseur d’accès à Internet à portée de main (voir la page 75). Pour configurer les préférences Réseau pour le port modem interne : 1 Choisissez le menu Pomme () > Préférences Système dans la barre des menus. 2 Cliquez sur Réseau. 3 Choisissez “Configuration des ports réseau” dans le menu local Afficher, puis cochez la case Activé à côté de Modem externe. 4 Faites glisser Modem externe jusqu’en haut de la liste Configurations de port pour en faire l’interface réseau préférée (ou principale). 5 Choisissez Modem externe dans le menu local Afficher puis cliquez sur PPP. F3531M23_M33.book Page 78 Monday, October 3, 2005 3:24 PMAnnexe C Connexion à Internet 79 6 Tapez les informations fournies par votre fournisseur d’accès à Internet, puis cliquez sur Appliquer. Pour tester votre configuration Internet : 1 Ouvrez l’application Connexion à Internet (dans le dossier Applications). 2 Cliquez sur l’icône Modem externe, si nécessaire. 3 Tapez le numéro de téléphone de connexion de votre fournisseur d’accès à Internet, votre nom de compte et votre mot de passe, si nécessaire. 4 Cliquez sur Se connecter. L’application Connexion à Internet compose le numéro de votre fournisseur d’accès à Internet et établit une connexion. F3531M23_M33.book Page 79 Monday, October 3, 2005 3:24 PM80 Annexe C Connexion à Internet Pour vous connecter automatiquement au démarrage d’une application Internet, telle qu’un navigateur Web ou une application de courrier électronique : 1 Cliquez sur Options PPP (dans la sous-fenêtre PPP des préférences Réseau). 2 Cochez la case “Se connecter automatiquement si nécessaire”. 3 Cliquez sur OK, puis sur Appliquer. F3531M23_M33.book Page 80 Monday, October 3, 2005 3:24 PMAnnexe C Connexion à Internet 81 Connexions à Internet par ligne DSL, modem câble ou réseau LAN Si vous vous connectez à Internet soit via un modem DSL ou câble, soit via un réseau LAN Ethernet, demandez à votre fournisseur d’accès à Internet ou à votre administrateur réseau comment configurer votre connexion à Internet :  Manuellement : avec une configuration manuelle, votre fournisseur d’accès à Internet ou votre administrateur réseau vous communique une adresse IP statique et d’autres informations à saisir dans les préférences Réseau.  Via DHCP (Dynamic Host Configuration Protocol) : utilisez une configuration via DHCP pour que le serveur saisisse automatiquement les informations pour vous.  Via PPPoE (Point-to-Point Protocol over Ethernet) : si vous utilisez un modem DSL et que vous avez besoin d’un nom d’utilisateur et d’un mot de passe pour vous connecter à Internet, vous devrez éventuellement configurer votre réseau de sorte qu’il utilise le protocole PPPoE. Lors de la configuration de votre réseau, veillez à garder les informations fournies par votre fournisseur d’accès à Internet à portée de main (voir la page 75). Pour configurer les préférences Réseau pour le port Ethernet intégré : 1 Choisissez le menu Pomme () > Préférences Système dans la barre des menus. 2 Cliquez sur Réseau. 3 Dans le menu local Afficher, sélectionnez Configurations de ports réseau. 4 Cochez la case Activé à côté d’Ethernet intégré. F3531M23_M33.book Page 81 Monday, October 3, 2005 3:24 PM82 Annexe C Connexion à Internet 5 Faites glisser Ethernet intégré en haut de la liste Configurations de port pour en faire l’interface réseau préférée ou principale. Suivez ensuite les instructions de configuration manuelle de votre réseau, via DHCP ou PPPoE, selon les recommandations de votre fournisseur d’accès à Internet ou de votre administrateur réseau. Configuration manuelle Ayez à portée de main votre adresse IP statique, l’adresse du routeur et le masque de sous-réseau fournis par votre fournisseur d’accès à Internet (voir la page 75). Pour procéder à la configuration manuelle : 1 Dans préférence Réseau, sélectionnez Ethernet intégré dans le menu local Afficher. 2 Cliquez sur TCP/IP, si nécessaire. 3 Dans le menu local Configurer IPv4, choisissez Manuellement. 4 Remplissez le reste des champs. 5 Cliquez sur Appliquer. Votre connexion est prête dès que vous avez configuré votre réseau. Ouvrez votre navigateur Web (ou une autre application TCP/IP) afin de tester votre connexion à Internet. F3531M23_M33.book Page 82 Monday, October 3, 2005 3:24 PMAnnexe C Connexion à Internet 83 Configuration DHCP Après avoir établi une configuration DHCP, le serveur DHCP fournit automatiquement les informations de votre réseau. Pour effectuer une configuration DHCP : 1 Dans préférence Réseau, sélectionnez Ethernet intégré dans le menu local Afficher. 2 Cliquez sur TCP/IP, si nécessaire. 3 Choisissez Via DHCP dans le menu local Configurer IPv4. 4 Cliquez sur Appliquer. Ouvrez votre navigateur Web (ou une autre application TCP/IP) afin de tester votre connexion à Internet. Remarque : sauf instructions contraires de votre fournisseur d’accès à Internet, ignorez les champs Client DHCP et Domaines de recherche. F3531M23_M33.book Page 83 Monday, October 3, 2005 3:24 PM84 Annexe C Connexion à Internet Configuration PPPoE Certains fournisseurs d’accès à Internet recourant à la technologie DSL utilisent le protocole PPPoE (Point-to-Point Protocol over Ethernet). Si vous utilisez un modem DSL et que vous avez besoin d’un nom d’utilisateur et d’un mot de passe pour vous connecter à Internet, contactez votre fournisseur d’accès à Internet pour savoir si vous devez vous connecter via PPPoE. Pour configurer une connexion PPPoE : Pour configurer votre réseau, ayez à portée de main votre nom d’utilisateur, votre mot de passe et, si cela est nécessaire, l’adresse du serveur de noms de domaine (DNS) fournis par votre fournisseur d’accès à Internet (reportez-vous à la page 75). 1 Dans préférence Réseau, sélectionnez Ethernet intégré dans le menu local Afficher. 2 Cliquez sur PPPoE et sélectionnez “Se connecter via PPPoE”. 3 Remplissez le reste des champs. Si vous souhaitez que tous les utilisateurs de votre ordinateur utilisent la même méthode de connexion, sélectionnez “Enregistrer le mot de passe”. F3531M23_M33.book Page 84 Monday, October 3, 2005 3:24 PMAnnexe C Connexion à Internet 85 Remarque : pour vous connecter automatiquement au démarrage d’une application TCP/IP, par exemple un navigateur Web ou une application de courrier électronique, cliquez sur Options PPPoE, sélectionnez “Se connecter automatiquement si nécessaire”, puis cliquez sur OK. 4 Cliquez sur TCP/IP et sélectionnez Via PPP ou Manuellement dans le menu local Configurer IPv4, selon les instructions de votre fournisseur d’accès à Internet. Si votre fournisseur d’accès à Internet vous a communiqué une adresse IP statique, choisissez Manuellement et tapez l’adresse dans le champ Adresse IP. F3531M23_M33.book Page 85 Monday, October 3, 2005 3:24 PM86 Annexe C Connexion à Internet 5 Saisissez les adresses des serveurs de noms de domaine (DNS) dans le champ Serveurs DNS. 6 Cliquez sur Appliquer. Votre connexion à Internet est prête dès que vous avez configuré votre réseau. Vous pouvez alors ouvrir votre navigateur Web ou une autre application TCP/IP afin de tester votre connexion. Important : si vous n’avez pas sélectionné l’option de connexion automatique, vous devez ouvrir l’application Connexion à Internet, choisir la configuration adéquate, puis cliquer sur Se connecter. Pour plus d’informations, choisissez Aide > Aide Connexion à Internet dans la barre des menus située en haut de l’écran. F3531M23_M33.book Page 86 Monday, October 3, 2005 3:24 PMAnnexe C Connexion à Internet 87 Connexion sans fil AirPort Une carte AirPort Extreme est installée sur votre iMac G5. Vous pouvez configurer votre réseau AirPort et votre connexion Internet via l’Assistant réglages AirPort situé dans le dossier Utilitaires de votre dossier Applications. L’assistant vous aide à configurer votre borne d’accès AirPort et à régler votre ordinateur pour qu’il utilise AirPort. Pour en savoir plus sur votre borne d’accès AirPort, consultez le guide fourni avec le matériel. Si votre borne d’accès AirPort est déjà configurée, votre carte AirPort Extreme peut dans la plupart des cas y accéder immédiatement. Pour vérifier si vous avez accès à un réseau AirPort : m Cliquez sur l’icône d’état AirPort dans la barre des menus et choisissez un réseau AirPort dans la liste. Si aucun réseau AirPort n’y figure, vous pouvez utiliser l’Assistant réglages AirPort pour vérifier ou modifier vos réglages ou bien les changer via la sous-fenêtre Réseau des Préférences Système. Configuration manuelle d’une connexion AirPort Demandez les informations suivantes à votre administrateur système si vous prévoyez d’effectuer une connexion manuelle. Si vous vous connectez via DHCP, la plupart de ces informations sont automatiquement transmises à votre ordinateur via le réseau. Consultez votre administrateur de système pour obtenir les renseignements nécessaires.  Adresses des serveurs de noms de domaine (DNS), si nécessaire  Configuration d’adresse IP manuelle ou via DHCP  Adresse IP  Adresse du routeur  Masque de sous-réseau  Mot de passe, si nécessaire Assurez-vous ensuite que les options de connexion AirPort sont activées dans les préférences Réseau. F3531M23_M33.book Page 87 Monday, October 3, 2005 3:24 PM88 Annexe C Connexion à Internet Pour configurer les Préférences réseau pour une connexion AirPort : 1 Choisissez le menu Pomme () > Préférences Système dans la barre des menus. 2 Cliquez sur Réseau. 3 Dans le menu local Afficher, sélectionnez Configurations de ports réseau. 4 Cochez la case Activé à côté d’AirPort. Suivez ensuite les instructions fournies par votre fournisseur d’accès à Internet ou votre administrateur réseau pour configurer votre réseau manuellement ou via DHCP. Si vous configurez vous-même votre réseau, il est peut-être plus simple d’utiliser DHCP car le serveur attribue automatiquement les adresses IP. 5 Choisissez AirPort dans le menu local Afficher. 6 Cliquez sur TCP/IP, si nécessaire. F3531M23_M33.book Page 88 Monday, October 3, 2005 3:24 PMAnnexe C Connexion à Internet 89 7 Dans le menu local Configurer IPv4, choisissez Manuellement ou Via DHCP.  Si vous choisissez Manuellement, saisissez les autres informations dans les champs correspondants.  Si vous choisissez Via DHCP, il est inutile de saisir d’autres informations, sauf instructions contraires de votre administrateur de système. 8 Cliquez sur AirPort et sélectionnez les options requises pour vous connecter à un réseau AirPort Extreme après le redémarrage ou lors de la réactivation de l’ordinateur après une suspension d’activité. 9 Cliquez sur Appliquer. Une fois les réglages AirPort configurés, vous êtes prêt à vous connecter. Pour tester votre connexion AirPort : m Cliquez sur l’icône d’état AirPort dans la barre des menus et choisissez Activer AirPort. Tout réseau AirPort Extreme situé dans la zone de couverture doit apparaître dans le menu. F3531M23_M33.book Page 89 Monday, October 3, 2005 3:24 PM90 Annexe C Connexion à Internet Dépannage de votre connexion Connexions à Internet par modem câble, ligne DSL et réseau local (LAN) Si vous n’arrivez pas à vous connecter à Internet avec votre AirPort, votre interface Ethernet intégrée ou votre modem externe, vous pouvez recourir au Diagnostic réseau pour résoudre les problèmes de connexion. Dans la sous-fenêtre Réseau des Préférences Système, cliquez sur Assistant puis sur Diagnostic pour ouvrir Diagnostic réseau, puis suivez les instructions à l’écran. Si Diagnostic réseau n’est pas en mesure de résoudre le problème, celui-ci se situe peut-être au niveau du fournisseur d’accès à Internet auquel vous essayez de vous connecter, du périphérique externe utilisé pour la connexion au fournisseur d’accès à Internet ou du serveur auquel vous essayez d’accéder. Vous pouvez également tenter de suivre les étapes suivantes Vérifiez les câbles et les sources d’alimentation. Assurez-vous que tous les câbles du modem sont correctement branchés, y compris le câble d’alimentation du modem, le câble reliant le modem à l’ordinateur et le câble raccordant le modem à la prise murale. Vérifiez les câbles et l’alimentation des routeurs et des concentrateurs Ethernet. Allumez et éteignez le modem puis réinitialisez-le. Éteignez le modem câble ou DSL, puis rallumez-le après quelques minutes. Certains fournisseurs d’accès à Internet conseillent de débrancher le câble d’alimentation du modem. Si votre modem dispose d’un bouton de réinitialisation, vous pouvez l’actionner avant ou après avoir éteint puis rallumé le modem. F3531M23_M33.book Page 90 Monday, October 3, 2005 3:24 PMAnnexe C Connexion à Internet 91 Connexions PPPoE Si vous ne parvenez pas à vous connecter à votre fournisseur d’accès Internet via PPPoE, vérifiez d’abord les câbles et l’alimentation, éteignez et rallumez le modem, puis réinitialisez-le. Vérifiez les réglages des Préférences Système : 1 Choisissez le menu Pomme () > Préférences Système. 2 Cliquez sur Réseau. 3 Dans le menu local Afficher, sélectionnez Configurations de ports réseau. 4 Sélectionnez Ethernet intégré, puis faites glisser cette configuration en haut de la liste des configurations de ports. 5 Dans le menu local Afficher, sélectionnez Ethernet intégré. 6 Cliquez sur PPPoE. 7 Sélectionnez Se connecter via PPPoE. 8 Vérifiez le champ Nom de compte pour vous assurer d’avoir tapé les informations correctes fournies par votre fournisseur d’accès à Internet. 9 Si vous avez choisi d’enregistrer votre mot de passe, tapez-le à nouveau afin d’être sûr qu’il est correct. 10 Cliquez sur TCP/IP. Assurez-vous d’avoir saisi dans cette sous-fenêtre les informations correctes fournies par votre fournisseur d’accès à Internet. 11 Cliquez sur Appliquer. Connexions au réseau Si vous disposez de plusieurs ordinateurs tentant de partager une connexion à Internet, assurez-vous que votre réseau est correctement configuré. Vous devez savoir si votre fournisseur d’accès à Internet fournit une seule ou plusieurs adresses IP, autrement dit, une pour chaque ordinateur. Si une seule adresse IP est utilisée, vous devez disposer d’un routeur capable de partager la connexion (on parle alors de conversion d’adresse réseau (NAT) ou de masquage d’adresses IP). Pour obtenir des informations sur la configuration, consultez la documentation fournie avec votre routeur ou contactez la personne qui a configuré votre réseau. La borne d’accès AirPort Extreme peut être utilisée pour que plusieurs ordinateurs partagent une adresse IP. Pour plus d’informations sur l’utilisation de la borne d’accès AirPort Extreme, consultez l’aide à l’écran ou rendez-vous sur le site Web AirPort, à l’adresse www.apple.com/fr/airport. Si ces instructions s’avèrent insuffisantes pour résoudre les problèmes rencontrés, contactez votre fournisseur d’accès à Internet. F3531M23_M33.book Page 91 Monday, October 3, 2005 3:24 PMF3531M23_M33.book Page 92 Monday, October 3, 2005 3:24 PM 93 Communications Regulation Information FCC Compliance Statement This device complies with part 15 of the FCC rules. Operation is subject to the following two conditions: (1) This device may not cause harmful interference, and (2) this device must accept any interference received, including interference that may cause undesired operation. See instructions if interference to radio or television reception is suspected. Radio and Television Interference This computer equipment generates, uses, and can radiate radio-frequency energy. If it is not installed and used properly—that is, in strict accordance with Apple’s instructions—it may cause interference with radio and television reception. This equipment has been tested and found to comply with the limits for a Class B digital device in accordance with the specifications in Part 15 of FCC rules. These specifications are designed to provide reasonable protection against such interference in a residential installation. However, there is no guarantee that interference will not occur in a particular installation. You can determine whether your computer system is causing interference by turning it off. If the interference stops, it was probably caused by the computer or one of the peripheral devices. If your computer system does cause interference to radio or television reception, try to correct the interference by using one or more of the following measures:  Turn the television or radio antenna until the interference stops.  Move the computer to one side or the other of the television or radio.  Move the computer farther away from the television or radio.  Plug the computer into an outlet that is on a different circuit from the television or radio. (That is, make certain the computer and the television or radio are on circuits controlled by different circuit breakers or fuses.) If necessary, consult an Apple-authorized service provider or Apple. See the service and support information that came with your Apple product. Or, consult an experienced radio/television technician for additional suggestions. Changes or modifications to this product not authorized by Apple Computer, Inc., could void the EMC compliance and negate your authority to operate the product. This product has demonstrated EMC compliance under conditions that included the use of compliant peripheral devices and shielded cables between system components. It is important that you use compliant peripheral devices and shielded cables (including Ethernet network cables) between system components to reduce the possibility of causing interference to radios, television sets, and other electronic devices. Responsible party (contact for FCC matters only): Apple Computer, Inc. Product Compliance 1 Infinite Loop M/S 26-A Cupertino, CA 95014-2084 Bluetooth Information FCC Bluetooth Wireless Compliance The antenna used with this transmitter must not be colocated or operated in conjunction with any other antenna or transmitter subject to the conditions of the FCC Grant. Bluetooth Industry Canada Statement This Class B device meets all requirements of the Canadian interference-causing equipment regulations. Cet appareil numérique de la Classe B respecte toutes les exigences du Règlement sur le matériel brouilleur du Canada. Bluetooth Europe - Déclaration de conformité UE Ce périphérique sans fil est conforme aux normes EN 300 328, EN 301-489 et EN 60950 d’après les dispositions de la directive R&TTE. Industry Canada Statement Complies with the Canadian ICES-003 Class B specifications. Cet appareil numérique de la classe B est conforme à la norme NMB-003 du Canada. VCCI Class B Statement Communauté Européenne Ce produit est conforme aux directives européennes 72/23/CEE, 89/336/CEE et 99/5/CE. F3531M23_M33.book Page 93 Monday, October 3, 2005 3:24 PM94 Laser Information Do not attempt to disassemble the cabinet containing the laser. The laser beam used in this product is harmful to the eyes. The use of optical instruments, such as magnifying lenses, with this product increases the potential hazard to your eyes. For your safety, have this equipment serviced only by an Apple Authorized Service Provider. Because of the optical disc drive in your computer, your computer is a Class 1 laser product. The Class 1 label, located in a user-accessible area, indicates that the drive meets minimum safety requirements. A service warning label is located in a serviceaccessible area. The labels on your product may differ slightly from the ones shown here. Exposure to Radio Frequency Energy The radiated output power of the AirPort Extreme Card in this device is far below the FCC radio frequency exposure limits for uncontrolled equipment. This device should be operated with a minimum distance of at least 20 cm between the AirPort Extreme Card antennas and a person’s body and must not be co-located or operated with any other antenna or transmitter. Mouse Class 1 LED Information La souris optique Apple est un produit à DEL de Catégorie 1 répondant aux normes IEC 60825-1 A1 A2. Ce produit est conforme aux exigences des directives européennes 72/23/CEE et 89/336/CEE. It also complies with the Canadian ICES-003 Class B Specification. Taiwan Statement Korea Statement Avertissement relatif aux activités à haut risque Cet ordinateur n’est pas conçu pour être utilisé dans des installations nucléaires, pour la navigation ou la communication aérienne, pour le contrôle du trafic aérien, ni dans aucune autre situation où une panne du système informatique pourrait entraîner la mort, des blessures ou de graves dommages écologiques. ENERGY STAR® Compliance As an ENERGY STAR® partner, Apple has determined that standard configurations of this product meet the ENERGY STAR guidelines for energy efficiency. The ENERGY STAR program is a partnership with office product equipment manufacturers to promote energy-efficiency. Reducing energy consumption of office products saves money and reduces pollution by eliminating wasted energy. Disposal and Recycling Information The backlight lamp in this product contains mercury. Dispose of it according to your local environmental laws and guidelines. For information about Apple’s recycling program, go to www.apple.com/environment/summary.html. Union européenne : ce symbole signifie que vous devez vous débarrasser de votre produit sans le mélanger avec les ordures ménagères, selon les normes et la législation de votre pays. Lorsque ce produit n’est plus utilisable, portez-le dans un centre de traitement des déchets agréé par les autorités locales. Certains centres acceptent les produits gratuitement. Le traitement et le recyclage séparé de votre produit lors de son élimination aideront à préserver les ressources naturelles et à protéger l’environnement et la santé des êtres humains. Warning: Making adjustments or performing procedures other than those specified in your equipment’s manual may result in hazardous radiation exposure. Class 1 label Service warning label F3531M23_M33.book Page 94 Monday, October 3, 2005 3:24 PM 95 Battery Disposal La batterie de secours intégrée à votre iMac G5 permet de conserver certains réglages, comme l’heure et la date, quand l’ordinateur est éteint. N’essayez pas de changer cette batterie. Seul un technicien certifié Apple peut le faire. Lorsque ce produit n’est plus utilisable, veuillez vous en débarrasser selon les normes et la législation environnementales de votre pays. Nederlands: Gebruikte batterijen kunnen worden ingeleverd bij de chemokar of in een speciale batterijcontainer voor klein chemisch afval (kca) worden gedeponeerd. Deutschland: Dieses Gerät enthält Batterien. Bitte nicht in den Hausmüll werfen. Entsorgen Sie dieses Gerätes am Ende seines Lebenszyklus entsprechend der maßgeblichen gesetzlichen Regelungen. Taïwan: F3531M23_M33.book Page 95 Monday, October 3, 2005 3:24 PMF3531M23_M33.book Page 96 Monday, October 3, 2005 3:24 PM Mac OS X Server Administration des services de collaboration Pour version 10.4 ou ultérieureK Apple Computer, Inc. © 2006 Apple Computer, Inc. Tous droits réservés. Le propriétaire ou l’utilisateur autorisé d’un exemplaire enregistré du logiciel Mac OS X Server peut reproduire cette publication aux fins d’apprentissage du logiciel. Cette publication ne peut être reproduite ou transmise en tout ou partie à des fins commerciales, comme la vente de copies de cette publication ou la fourniture d’un service d’assistance payant. Tout a été mis en œuvre pour que les informations contenues dans ce manuel soient exactes. Apple Computer, Inc., n’est pas responsable des erreurs d’impression ou de typographie. Apple 1 Infinite Loop Cupertino, CA 95014-2084 408-996-1010 www.apple.com Le logo Apple est une marque d’Apple Computer Inc. déposée aux États-Unis et dans d’autres pays. L’utilisation de ce logo à des fins commerciales via le clavier (Option-1) pourra constituer un acte de contrefaçon et/ou de concurrence déloyale. Apple, le logo Apple, ColorSync, Final Cut Pro, Mac, Macintosh, Mac OS, QuickTime et Xserve sont des marques d’Apple Computer, Inc. déposées aux États-Unis et dans d’autres pays. Finder et Safari sont des marques d’Apple Computer Inc. UNIX est une marque déposée aux États-Unis et dans d’autres pays, sous licence exclusive de X/Open Company Ltd. Tous les autres noms de produits sont des marques de leurs propriétaires respectifs. Les produits commercialisés par des entreprises tierces ne sont mentionnés qu’à titre d’information, sans aucune intention de préconisation ni de recommandation. Apple ne se porte pas garant de ces produits et décline toute responsabilité quant à leur utilisation et à leur fonctionnement. F019-0744/21-07-06 3 1 Table des matières Préface 7 À propos de ce guide 7 Nouveautés de la version 10.4 7 Contenu de ce guide 8 Utilisation de l’aide à l’écran 9 La suite Mac OS X Server 10 Obtenir des mises à jour de documentation 11 Informations complémentaires Chapitre 1 13 La collaboration en pratique 13 Mise en œuvre des services de collaboration dans une PME 15 Mise en œuvre des services de collaboration dans une grande entreprise Chapitre 2 17 Le service de journal web 17 Journaux web et promotion de la collaboration 18 Le service de journal web (weblog) en pratique 22 Configuration initiale du service de journal web (weblog) 24 Gestion du service de journal web 24 Attribution du droit à créer des journaux web 24 Attribution du droit à consulter les journaux web 25 Utilisation de SSL pour l’accès aux journaux web 25 Modification des réglages du service de journal web 25 Fichiers de configuration du service de journal web 26 Les fichiers de contenu des journaux web 26 Maintenance des fichiers de journal web 26 Historiques du service de journal web 27 Utilisation des journaux web 27 Création d’un journal web 28 Accès aux journaux web 28 Affectation du droit à consulter les journaux web 28 Consultation des entrées d’un journal web 29 Personnalisation des réglages d’un journal web 29 Création d’une catégorie 30 Suppression d’une catégorie4 Table des matières 30 Création d’une entrée 31 Suppression d’une entrée 32 Modification d’une entrée 32 Utilisation des commentaires 33 Utilisation des rétroliens (ou trackbacks) 34 Utilisation de RSS pour s’abonner à des journaux web 34 Pour plus d’informations Chapitre 3 35 Le service iChat 35 Messagerie instantanée et promotion de la collaboration 36 Le service iChat en pratique 37 Configuration initiale du service iChat 39 Gestion du service iChat 39 Accès au service iChat 39 Utilisation de SSL pour le service iChat 40 Modification des réglages du service iChat 40 Les fichiers de configuration du service iChat 40 Les historiques du service iChat 41 Utilisation du service iChat 41 Avant d’utiliser le service iChat 41 Les noms de contact du service iChat 41 Utilisation de iChat 41 Utilisation d’autres logiciels clients de messagerie instantanée 42 Pour plus d’informations Chapitre 4 43 Les services de partage de fichiers 43 Partage de fichiers et promotion de la collaboration 44 Les services de partage de fichiers en pratique 47 Utilisation d’AFP pour partager des fichiers 47 Utilisation de SMB/CIFS pour partager des fichiers 48 Utilisation de NFS pour partager des fichiers 48 Utilisation de FTP pour partager des fichiers 49 Utilisation de WebDAV pour partager des fichiers 49 Pour plus d’informations Chapitre 5 51 Comptes de groupe 51 Groupes et promotion de la collaboration 53 Les groupes en pratique 54 Création de groupes 55 Utilisation des dossiers de groupe 55 Gestion des préférences de groupes 56 Utilisation des listes d’ordinateurs 57 Utilisation des groupes pour les utilisateurs WindowsTable des matières 5 57 Pour plus d’informations Chapitre 6 59 Les services de courrier 59 Services de courrier et promotion de la collaboration 60 Les services de courrier électronique en pratique 62 Configuration du service de courrier 63 Création de comptes de courrier électronique 63 Configuration de WebMail 64 Utilisation des listes d’envoi 64 Pour plus d’informations Glossaire 65 Index 69 7 Préface À propos de ce guide Ce guide décrit les services de collaboration que vous pouvez configurer à l’aide de Mac OS X Server. Les services de collaboration assurent la promotion des interactions entre les utilisateurs, en facilitant le travail d’équipe et la productivité. Ce guide présente les avantages et les applications des services de collaboration ; il vous explique également comment les mettre en œuvre. Nouveautés de la version 10.4 Mac OS X Server continue de fournir la prise en charge de la collaboration via la gestion des listes de diffusion, la gestion des comptes et dossiers de groupes, ainsi que le partage de fichiers multiplateformes. Deux nouveaux services de collaboration ont été ajoutés pour la version 10.4 :  Service de journal web. Mac OS X Server fournit un serveur de journaux web (weblogs) multi-utilisateur, conforme aux normes XML RSS et Atom. Le service de journal web gère l’authentification Open Directory. Pour plus de sécurité, les utilisateurs peuvent accéder au service de journal web via un site web compatible SSL.  Service iChat. Mac OS X Server fournit une messagerie instantanée pour les utilisateurs Macintosh, Windows et Linux. L’authentification d’utilisateur est intégrée à Open Directory, et la configuration et l’administration du service iChat sont effectuées à l’aide de l’application graphique Admin Serveur. Contenu de ce guide Ce guide comprend les chapitres suivants :  Le chapitre 1, « La collaboration en pratique », présente les services de collaboration et décrit plusieurs scénarios dans lesquels ils s’avèrent utiles.  Le chapitre 2, « Le service de journal web », décrit comment configurer, gérer et utiliser un serveur de journaux web (weblogs) de sorte que les utilisateurs pris en charge par le serveur puissent partager des informations par journal web interposé.8 Preface À propos de ce guide  Le chapitre 3 « Le service iChat », décrit comment configurer, gérer et utiliser un serveur iChat de sorte que les utilisateurs pris en charge par le serveur puissent communiquer par messages instantanés.  Le chapitre 4, « Services de partage de fichiers » résume les fonctionnalités des cinq protocoles de partage de fichiers disponibles ; il vous précise également où trouver des informations détaillées relatives à leur configuration et à leur gestion.  Le chapitre 5, « Les comptes de groupe » décrit en quoi les comptes de groupe et la gestion rationnelle des préférences facilitent la collaboration ; il vous précise également où trouver des informations détaillées sur l’administration des comptes de groupe.  Le chapitre 6, « Les services de courrier », présente de façon synthétique le service de courrier électronique, les listes d’envoi et les fonctionnalités de WebMail ; il vous précise également où trouver des informations détaillées sur l’administration de ces services.  Le « Glossaire » définit les termes utilisés dans ce guide. Remarque : étant donné qu’Apple publie régulièrement de nouvelles versions et mises à jour de ses logiciels, les illustrations de ce document peuvent être différentes de celles qui s’affichent à l’écran. Utilisation de l’aide à l’écran Vous pouvez afficher des instructions et d’autres informations utiles sur la suite serveur en utilisant l’aide à l’écran. Sur un ordinateur qui exécute Mac OS X Server, vous pouvez accéder à l’aide à l’écran après avoir ouvert Gestionnaire de groupe de travail ou Admin Serveur. À partir du menu d’aide, sélectionnez l’une des options :  Aide Gestionnaire de groupe de travail ou Aide Admin Serveur affiche des informations sur l’application.  Aide Mac OS X Server affiche la page d’aide principale du serveur, à partir de laquelle vous pouvez rechercher des informations sur le serveur.  Documentation vous permet d’accéder au site www.apple.com/fr/server/documentation, à partir duquel vous pouvez télécharger la documentation du serveur. Vous pouvez également accéder à l’aide à l’écran à partir du Finder ou d’autres applications d’un serveur ou d’un ordinateur administrateur. Un ordinateur administrateur est un ordinateur Mac OS X sur lequel est installé un logiciel d’administration de serveur. Utilisez le menu Aide afin d’ouvrir Visualisation Aide, puis choisissez Bibliothèque > Aide Mac OS X Server. Pour consulter les toutes dernières rubriques d’aide, assurez-vous que l’ordinateur serveur ou administrateur est connecté à Internet lorsque vous utilisez Visualisation Aide. Visualisation Aide extrait et met en cache automatiquement les toutes dernières rubriques d’aide sur Internet concernant le serveur. Lorsque vous n’êtes pas connecté à Internet, Visualisation Aide affiche les rubriques d’aide mises en cache.Préface À propos de ce guide 9 La suite Mac OS X Server La documentation de Mac OS X Server comprend une série de guides présentant les services offerts ainsi que les instructions relatives à leur configuration, leur gestion et leur dépannage. Tous les guides sont disponibles au format PDF via : www.apple.com/fr/server/documentation. Ce guide... explique comment : Premiers contacts, Supplément au guide Premiers contacts et Feuille d’opérations de Mac OS X Server Installer Mac OS X Server et le configurer pour la première fois. Administration des services de collaboration Configurer et gérer les services de journal web, de chat et autres qui facilitent les interactions entre utilisateurs. Administration par ligne de commande Utiliser les commandes et les fichiers de configuration pour exécuter les tâches d’administration du serveur via l’interpréteur de commandes UNIX. Deploying Mac OS X Computers for K-12 Education (Utilisation d’ordinateurs Mac OS X dans l’enseignement primaire et secondaire) Configurer et déployer Mac OS X Server ainsi qu’un ensemble d’ordinateurs Mac OS X et les utiliser dans l’enseignement primaire et secondaire (professeurs, élèves et personnel). Deploying Mac OS X Server for High Performance Computing (Utilisation de Mac OS X Server pour un environnement informatique hautes performances) Configurer et gérer Mac OS X Server et les ordinateurs en grappe de serveurs Apple afin d’accélérer le traitement des opérations informatiques complexes. Administration des services de fichiers Partager des volumes ou dossiers de serveur sélectionnés parmi les clients du serveur via les protocoles suivants : AFP, NFS, FTP et SMB/CIFS. Administration de la haute disponibilité Gérer le basculement IP, l’agrégation des liens, l’équilibrage de charge et d’autres configurations matérielles et logicielles pour garantir la haute disponibilité des services Mac OS X Server. Java Application Server Guide (Guide du serveur d’applications Java) Configurer et administrer un serveur d’applications JBoss sur Mac OS X Server. Mac OS X Security Configuration (Configuration de la sécurité pour Mac OS X) Sécuriser les ordinateurs client Mac OS X.10 Preface À propos de ce guide Obtenir des mises à jour de documentation Apple publie régulièrement de nouvelles rubriques d’aide à l’écran, des guides révisés et des documents de solutions. Les nouvelles rubriques d’aide incluent des mises à jour des guides les plus récents.  Pour afficher de nouvelles rubriques d’aide à l’écran, assurez-vous que votre ordinateur serveur ou administrateur est connecté à Internet et cliquez sur le lien Informations de dernière minute dans la page d’aide principale de Mac OS X Server.  Pour télécharger les guides et documents de solutions les plus récents au format PDF, rendez-vous à la page web de documentation de Mac OS X Server : www.apple.com/fr/server/documentation. Mac OS X Server Security Configuration (Configuration de la sécurité pour Mac OS X Server) Sécuriser les ordinateurs Mac OS X Server. Administration du service de courrier Installer, configurer et administrer les services de courrier sur le serveur. Migration vers Mac OS X Server à partir de Windows NT Déplacer des comptes, des dossiers partagés et des services à partir de serveurs Windows NT vers Mac OS X Server. Administration des services réseau Installer, configurer et administrer DHCP, DNS, VPN, NTP, coupe-feu IP et services NAT sur le serveur. Administration d’Open Directory Gérer les services de répertoires et d’authentification. Administration du service d’impression Héberger les imprimantes partagées et gérer les files d’attente et tâches d’impression associées. Administration de QuickTime Streaming Server 5.5 Configurer et gérer les services d’enchaînement QuickTime. Administration de mises à jour de logiciels et d’images de système Utiliser NetBoot et Installation en réseau pour créer des images disque à partir desquelles les ordinateurs Macintosh peuvent démarrer sur le réseau. Configurer un serveur de mise à jour de logiciels pour la mise à jour d’ordinateurs clients via le réseau. Mise à niveau et migration Utiliser les données et les réglages des services actuellement utilisés sur les versions antérieures du logiciel serveur. Gestion des utilisateurs Créer et gérer des comptes d’utilisateur, groupes et listes d’ordinateurs. Configurer les préférences gérées des clients Mac OS X. Ce guide... explique comment :Préface À propos de ce guide 11 Informations complémentaires Pour plus d’informations, consultez les ressources suivantes : Documents Ouvrez-moi : mises à jour importantes et informations spécifiques. Recherchez-les sur les disques du serveur. Site web de Mac OS X Server (www.apple.com/fr/macosx/server) : passerelle vers des informations détaillées sur des produits et technologies. Site web Apple Service & Support (www.apple.com/fr/support) : accès à des centaines d’articles explicatifs publiés par le service d’assistance d’Apple. Formation des clients Apple (train.apple.com) : cours en salle et autoformations afin de développer vos compétences en termes d’administration de serveur. Groupes de discussion Apple (discussions.info.apple.com) : moyen de partager des questions, des connaissances et des conseils avec d’autres administrateurs. Répertoire de liste de diffusion Apple (www.lists.apple.com) : abonnez-vous à des listes de diffusion afin de pouvoir communiquer par courrier électronique avec d’autres administrateurs.1 13 1 La collaboration en pratique Les services de collaboration de Mac OS X Server aident les utilisateurs à communiquer et à partager des informations. Les entreprises et administrations de toutes tailles peuvent profiter de ces services de collaboration. Ils offrent, en outre, une large palette de modalités d’interaction :  Le service de journal web est un moyen simple de publier et d’annoncer des informations sur des pages web.  Le service iChat offre une messagerie instantanée sécurisée aux utilisateurs pris en charge par le serveur.  Les services de partage de fichiers fournissent un accès régulé et sécurisé aux dossiers et fichiers de différents types d’ordinateurs clients.  Les comptes de groupe permettent de personnaliser l’environnement de travail à l’intention de groupes d’utilisateurs.  Les services de courrier facilitent la collaboration entre utilisateurs se servant de différentes applications de messagerie. Ce chapitre présente brièvement quelques exemples de déploiement de ces services dans des PME ou dans de plus grandes entreprises. Les chapitres suivants seront consacrés spécifiquement à chacun des services énumérés ci-dessus. Mise en œuvre des services de collaboration dans une PME Les petites (moins de 100 salariés) et moyennes (de 100 à 500 salariés) entreprises font en général appel à un Fournisseur d’accès à Internet (FAI) pour obtenir un système de noms de domaine (DNS) et des services DSL (Digital Subscriber Line) pour leur intranet. Un réseau interne d’entreprise, ou intranet, comporte en général de un à quatre serveurs.14 Chapitre 1 La collaboration en pratique Dans le scénario proposé ci-après en exemple, il y a trois serveurs : un premier situé derrière le coupe-feu et hébergeant les services de répertoire et de réseau, un second également derrière le coupe-feu hébergeant les services de collaboration et un troisième au-delà du coupe-feu hébergeant le service iChat.  Le coupe-feu situé entre le serveur et Internet protège le réseau intranet contre tout accès non autorisé.  Un répertoire Open Directory LDAP maître hébergé sur un des serveurs permet de mettre en œuvre l’authentification des utilisateurs et des groupes.  Un service DHCP assure l’attribution d’adresses IP dynamiques aux ordinateurs clients. Le serveur et l’imprimante ont des adresses statiques, les ordinateurs clients des adresses dynamiques.  Le service DNS du FAI fournit le nom de domaine de l’entreprise (exemple.com). Un service DNS propre à Mac OS X Server fournit les services de noms pour le serveur, l’imprimante et tout autre périphérique intranet possédant une adresse IP statique.  Le service NAT permet aux utilisateurs du réseau intranet de partager l’adresse IP attribuée par le FAI pour l’accès à Internet, tandis que le service VPN permet aux employés d’accéder depuis Internet au réseau intranet de l’entreprise en toute sécurité lorsqu’ils sont en déplacement.  Le serveur iChat placé derrière le coupe-feu gère les messages instantanés échangés par les utilisateurs autorisés. Client Mac OS X Internet VPN DSL/câble/T1 Services Mail, Web, Clients Mac OS X Clients Windows de fichiers, d’impression, iChat et Weblog Open Directory, DNS, DHCP, VPN, et services NAT Serveur DNS du FAI L’intranet Coupe-feuChapitre 1 La collaboration en pratique 15 Mise en œuvre des services de collaboration dans une grande entreprise Dans les grandes entreprises, les services de collaboration sont en général déployés à deux niveaux, celui de l’entreprise globale et celui des groupes de travail.  Des services Open Directory sont déployés sur un serveur administratif du siège et répliqués sur les serveurs des groupes de travail. Ainsi, les données de répertoire sont à la fois gérées de façon centralisée et distribuées géographiquement.  D’autres serveurs centraux sont consacrés à chaque besoin global de l’entreprise, qu’il s’agisse des services réseau, des services de courrier ou des services web, iChat ou de journal web.  Les répertoires de départ des salariés de l’entreprise sont centralisés et l’accès à ces répertoires est configuré à l’aide du service AFP (Apple Filing Protocol). Le service AFP s’appuie sur une configuration rentable de deux serveurs Xserve et d’un serveur Xserve RAID