Введение в Основные принципы Набора I/O
Этот документ объясняет терминологию, понятия, архитектуру и основные механизмы Набора I/O, объектно-ориентированной платформы Apple для разработки драйверов устройств для OS X. Это содержит существенную справочную информацию для любого желающего создать драйверы устройств для этой платформы.
Кто должен считать этот документ?
Существует два общих типа разработчиков Набора I/O, и этот документ пытается быть полезным для обоих. Первый тип является разработчиком, создающим драйвер устройства, который должен быть резидентным объектом в ядре; второй тип является разработчиком приложений, использующим интерфейс устройства Набора I/O для передачи с аппаратными средствами. Некоторые главы содержат информацию, полезную и для типов разработчиков, и для другие содержат информацию, представляющую интерес только для писателей резидентных ядром драйверов.
Очевидно, существуют вещи, которые не покрывают Основные принципы Набора I/O. Это, например, не описывает использование средств разработки или использование определенных интерфейсов программирования драйвера. Но это действительно помогает Вам понять, как и whys Набора I/O, позволяя Вам получить большую часть значения из более определенной документации и примеров.
Организация этого документа
Основные принципы Набора I/O дают широкое, концептуальное описание Набора I/O и разработки драйвера устройства на OS X. Это содержит следующие главы:
Описывает особенности и преимущества Набора I/O, и также обсуждает философию и решения, сообщающие ее проекту.
Дает высокоуровневое описание архитектуры Набора I/O, существенных понятий и основных механизмов.
Описывает Реестр I/O, база динамических данных, получая отношения клиента/провайдера среди активных объектов драйвера.
Драйвер и соответствие устройства
Объясняет процесс соответствия, которым самые надлежащие клиентские драйверы найдены для зарегистрированных провайдеров. Это также подводит итог, процессы процедуры в пространстве пользователя следуют для нахождения подходящих устройств и их драйверов.
Описывает базовые классы, от которых прямо или косвенно наследовался каждый объект драйвера. Это включает обсуждения объектной конструкции и размещение, объекты драйвера как Ключи реестра I/O и жизненный цикл драйвера.
Объясняют архитектура и использование циклов работы и источников событий, механизмы, которые использование Набора I/O для обработки событий, таких как прерывания и I/O запрашивает в защищенной однопоточной среде.
Описывает, как использовать курсоры памяти, дескрипторы памяти и связанные объекты обработать передачи I/O. Это также обсуждает, как драйверы должны иметь дело с аппаратными ограничениями, такими как наложенные механизмами DMA.
Объясняют понятия управления питанием OS X и описывают различные способы, которыми драйверы могут привести в действие - управляют их устройствами.
Управление удалением устройства
Объясняет, как реагировать на удаление устройства (замена в горячем режиме).
Выводит на экран диаграмму иерархии классов для каждой семьи и предоставляет специфичную для семьи информацию, которая могла бы отличаться от универсальной информации о Наборе I/O.
Основа и иерархия классов помощника
Обеспечивает диаграмму иерархии классов для всех классов Набора I/O, которые не являются элементами определенной семьи.
Списки изменяются на этот документ.
Перечисляет дополнительные источники для получения информации о OS X и связанных разделах.
Определяет ключевые термины, использованные в этом документе.
См. также
Как только Вы поглотили информацию в Основных принципах Набора I/O, необходимо быть в состоянии вырваться вперед и фактически создать драйвер устройства. Apple обеспечивает несколько документов и другие источники информации для помощи Вам с Вашими усилиями:
Руководство по проектированию Драйвера устройства IOKit описывает общие шаги, требуемые разработать, кодировать, отладить, и создать драйвер устройства, который будет резидентным объектом в ядре.
Доступ к Аппаратным средствам Из Приложений обсуждает, как использовать функцию” интерфейса устройства “Набора I/O; это также включает информацию о последовательном и хранении I/O через файлы устройств BSD.
Темы Программирования Расширения ядра содержат набор учебных руководств, представляющих Вас средствам разработки и берущих Вас через шаги, требуемые создать, отладить, и упаковать расширения ядра и драйверы Набора I/O (тип расширения ядра). Это также включает информацию о других аспектах расширений ядра.
Документация, предоставляющая всестороннюю информацию о записи драйверов для определенных семейств драйвера и связанной справочной документации, доступна в Документации Драйверов и Аппаратных средствах.
Руководство по программированию ядра обеспечивает обзор архитектуры и компоненты среды ядра OS X (Мах, BSD, сети, файловые системы, Набор I/O). Все разработчики, намеревающиеся программировать в ядре (включая писателей драйвера устройства) должны считать этот документ.
Технологический Обзор Mac обеспечивает введение в OS X в целом, который полезен для разработчиков, плохо знакомых с платформой.
Конечно, можно всегда просматривать заголовочные файлы, поставленные с Набором I/O, которые установлены в Kernel.framework/Headers/iokit
(резидентный объект ядра) и IOKit.framework/Headers
(интерфейс устройства).)
Можно также просмотреть документацию разработчика в XCode. Чтобы сделать это, выберите Help из меню Xcode и затем нажмите Show Documentation Window.
Можно просмотреть страницы справочника BSD для получения дополнительной информации о BSD и POSIX APIs двумя способами: можно ввести man
function_name в Окне терминала (например, man gdb
) или можно просмотреть версию HTML в Страницах справочника OS X.
Если Вы готовы разработать универсальную версию двоичных файлов драйвера устройства для выполнения в основанном на Intel Macintosh, сначала считайте Универсальные Двоичные Инструкции по Программированию, Второй Выпуск. Затем см. Руководство по проектированию Драйвера устройства IOKit для обзора особенно интересных проблем разработчикам драйвера устройства. Соответствующая информация, которая является определенной для определенного типа устройства, доступна в документах, перечисленных в Документации Драйверов и Аппаратных средствах.
Apple поддерживает несколько веб-сайтов, куда разработчики могут пойти для общей и технической информации о OS X.
Ссылочная Библиотека Соединения Разработчика Apple (http://developer .apple.com/referencelibrary/index.html) содержит всесторонний набор технических ресурсов, включая документацию, пример кода и Технические примечания.
Соединение Разработчика Apple: OS X (http://developer .apple.com/devcenter/macosx) предлагает SDKs, информацию о версии, примечания продукта и новости, и другие ресурсы и информацию, связанную с OS X.
Сайт поддержки AppleCare (http://www .apple.com/support) обеспечивает функцию поиска, позволяющую Вам определить местоположение технических статей, руководств, спецификаций и обсуждений OS X и других областей.