|
|
Log In | Not a Member? |
Contact ADC |
| Next Page > |
対象読者
Organization of This Document
See Also
本書では、Mac OS X向けにデバイスドライバを開発するためのAppleのオブジェクト指向フレームワークであるI/O Kitの用語、概念、アーキテクチャ、および基本的な仕組みについて説明します。Mac OS X向けにデバイスドライバを作成する人にとって不可欠な基本情報を取り上げています。
I/O Kitを使うデベロッパは大きく2種類に分けられますが、このドキュメントはどちらのデベロッパにとっても役立つことを意図しています。2種類のデベロッパとは、カーネルに常駐するデバイスドライバを作成するデベロッパと、ハードウェアと通信するためにI/O Kitデバイスインターフェイスを使うアプリケーションのデベロッパです。両方のデベロッパにとって役立つ章もあれば、カーネル常駐ドライバの作成者にのみ役立つ章もあります。
もちろん『I/O Kitの基礎』では取り上げていない話題もあります。たとえば、開発ツールの使用方法や個々のドライバAPIの使い方については説明していません。しかしこのドキュメントは、I/O Kitの使用方法の理解や疑問の解消に役立つので、個別のドキュメントや例から最も必要な価値ある情報を引き出せるようになります。
『I/O Kitの基礎』では、I/O KitおよびMac OS Xにおけるデバイスドライバ開発について幅広い範囲でその考え方を説明します。このドキュメントは次の章で構成されています。
I/O Kitの特徴と利点を説明するとともに、その設計を特徴付ける考え方や決定について説明します。
I/O Kitのアーキテクチャ、基本的概念、および基本的な仕組みに関する概念的説明を行います。
アクティブなドライバオブジェクト間のクライアント/プロバイダ関係を追跡し記録する動的データベースであるI/O Registryについて説明します。
登録されたプロバイダに最も適しているクライアントドライバを見つけるマッチング処理について説明します。またユーザ空間のプロセスが適切なデバイスとドライバを探すために従う手続きの概要を示します。
各ドライバオブジェクトが直接的、間接的に継承する基底クラスについて説明します。オブジェクトの生成と破棄、I/O Registryエントリとしてのドライバオブジェクト、およびドライバのライフサイクルについて説明します。
保護されたシングルスレッド環境で割り込みやI/O要求のようなイベントを処理するためにI/O Kitが利用する仕組み、すなわちワークループとイベントソースのアーキテクチャと使用方法について説明します。
I/O転送を処理するためのメモリカーソル、メモリ記述子、および関連オブジェクトの使い方について説明します。また、DMAエンジンの制約など、ハードウェアによって課される制約にどのように対処すべきかも説明します。
不定期に発生する非同期イベントに備えてドライバ開発者が従うべき一般的な手法について説明します。そうした非同期イベントの代表的な2例である電源管理およびデバイス取り外し(ホットスワップ)への対応の概念とプログラミング手順について説明します。
各ファミリのクラス階層図を示します。
“Base and Helper Class Hierarchy”
特定のファミリには属さない、すべてのI/O Kitクラスのクラス階層を示します。
本書の変更内容をリストしています。
Mac OS Xおよび関連トピックについてのその他の情報源をリストしています。
本書で使用している主要な用語を定義します。
1度『I/O Kitの基礎』に書かれている内容を理解してしまえば、実際にデバイスドライバを作成できるはずです。Appleはその手助けとなるいくつかのドキュメントやその他の情報源を用意しています。
『I/O Kit Device Driver Design Guidelines』では、カーネルに駐在するデバイスドライバの設計、コーディング、デバッグ、およびビルドに必要な一般的な手順を説明しています。
『Accessing Hardware From Applications』では、I/O Kitの「デバイスインターフェイス」機能の使用方法について説明しています。またBSDデバイスファイルを使うシリアルI/OおよびストレージI/Oに関する情報も含まれています。
『Kernel Extension Concepts』は、開発ツールについて紹介し、カーネル拡張とI/O Kitドライバ(カーネル拡張の1種)の作成、デバッグ、パッケージ化に必要な手順を説明するチュートリアル集です。カーネル拡張の他の側面についての情報も含まれています。
特定のドライバファミリのドライバを記述する方法についての詳細情報が含まれているドキュメントと、関連する参考資料は、Hardware & Drivers Documentationから入手できます。
『Kernel Programming Guide』では、Mac OS Xカーネル環境(Mach、BSD、ネットワーク、ファイルシステム、I/O Kit)のアーキテクチャとコンポーネントの概要を説明しています。カーネルでプログラミングを行おうとしているデベロッパの方はすべて(デバイスドライバを書いている方も含め)、このドキュメントを読む必要があります。
『Mac OS X Technology Overview』では、Mac OS Xの全体像を紹介しており、このプラットフォームが初めてのデベロッパの方に役立ちます。
当然ながら、I/O Kitに付属するヘッダファイルはいつでも参照できます。これらのファイルは、Kernel.framework/Headers/iokit(カーネル)やIOKit.framework/Headers(デバイスインターフェイス)にインストールされます。
デベロッパ向けドキュメントを「Xcode」で参照することもできます。これを行うには、「Xcode」メニューから「Help」を選択し、「Show Documentation Window」をクリックします。
BSDとPOSIXのAPIの詳細情報についてのBSDのmanページは、次の2通りの方法で参照することができます。「ターミナル」ウインドウで、「man関数名」を入力するか(たとえば、man gdb)、Mac OS X Man PagesでHTML版を表示します。
インテルベースのMacintoshで実行するためにデバイスドライバのUniversal Binaryバージョンを開発しようとしている方は、『Universal Binary Programming Guidelines, Second Edition』を最初にお読みください。次に、『I/O Kit Device Driver Design Guidelines』で、デバイスドライバ開発に特に関連のあるテーマの概要をお読みください。特定のデバイスタイプに固有の関連情報は、Hardware & Drivers Documentationにリストされているドキュメントの中から入手できます。
Appleは、デベロッパがMac OS Xに関する一般的な技術情報を得るために利用できるいくつかのWebサイトを運営しています。
Apple Developer ConnectionのReference Library (http://developer.apple.com/referencelibrary/index.html)には、ドキュメント、サンプルコート、テクニカルノートなど、包括的なテクニカルリソースが集められています。
Apple Developer ConnectionのMac OS X(http://developer.apple.com/macosx)では、SDK、リリースノート、製品ノートやニュース、およびMac OS Xに関連するその他のリソースや情報が提供されています。
AppleCareサポートサイト(http://www.apple.com/jp/support/)には、Mac OS Xやその他の分野についての技術記事、マニュアル、仕様、ディスカッションを見つけるための検索機能が提供されています。
| Next Page > |
Last updated: 2006-11-07
|
Get information on Apple products.
Visit the Apple Store online or at retail locations. 1-800-MY-APPLE Copyright © 2007 Apple Inc. All rights reserved. | Terms of use | Privacy Notice |