Введение в руководство по программированию драйвера устройства массового хранения
Этот документ представляет архитектуру штабеля драйвера массового хранения и описывает, как записать в драйверах ядра для устройств массового хранения, и носители фильтруют схемы содержания на носителях массового хранения. Это включает пример кода, иллюстрирующий, как разработать и логическую единицу в ядре и драйверы служб протокола и драйверы схемы фильтра в ядре.
Поскольку эта книга фокусируется на резидентных ядром драйверах для устройств массового хранения, которые монтируют файловые системы или являются загрузочными, она предоставляет только краткое описание основанных на приложении драйверов для других устройств массового хранения, таких как лентопротяжные устройства. Для получения общей информации о том, как записать драйверы для таких устройств, посмотрите Аппаратные средства Доступа Из Приложений.
Кто должен считать этот документ?
Необходимо считать этот документ, если необходимо поддерживать устройство массового хранения, которое монтирует файловую систему или является загрузочным, или если необходимо разработать драйвер схемы фильтра.
Запись драйверов для OS X требует Набора I/O, объектно-ориентированной платформы Apple для разработки драйвера. Несмотря на то, что этот документ представляет некоторую информацию о выбранных принципах Набора I/O для обеспечения контекста для реализации штабеля драйвера массового хранения, это не объясняет эти понятия подробно. Если Вы не знакомы с Набором I/O, необходимо считать Основные принципы IOKit прежде, чем считать этот документ.
Кроме того, если Вы никогда не писали драйвер устройства в ядре для OS X, необходимо считать Руководство по проектированию Драйвера устройства IOKit, чтобы познакомиться с основными принципами драйвера, такими как жизненный цикл драйвера и соответствие драйвера и загрузка.
Организация этого документа
Этот документ содержит следующие главы:
Обзор Массового хранения описывает, как OS X поддерживает устройства массового хранения и как создается штабель драйвера массового хранения.
Соответствие Устройства массового хранения описывает различные спецификации устройств, с которыми Ваше устройство должно соответствовать для работы со встроенными драйверами устройства массового хранения.
Драйвер Массового хранения, Соответствующий и Загружающийся, описывает процесс соответствия драйвера для служб протокола, логической единицы и драйверов схемы фильтра.
Разработка Универсального Двоичного файла обеспечивает некоторые подсказки для разработки универсальной версии двоичных файлов драйвера логической единицы, драйвера служб протокола и драйвера схемы фильтра.
Разделение на подклассы Драйверов Логической единицы описывает, как разделить встроенный драйвер логической единицы на подклассы для оказания специфичной для устройства поддержки.
Драйверы Subclassing Protocol Services описывают, как разделить встроенный драйвер служб протокола на подклассы для оказания специфичной для устройства поддержки.
Разработка Схемы Фильтра описывает, как создать и протестировать драйвер схемы фильтра.
Списки предыстории Версии документа версии этого документа.
См. также
Ссылочная Библиотека ADC содержит несколько документов о разработке драйвера устройства для OS X и многочисленных демонстрационных драйверов и приложений.
Темы Программирования Расширения ядра содержат учебные руководства, представляющие Вас фундаментальным методам, которые необходимо разработать, отладить, и расширения ядра пакета. Этот документ также содержит информацию о загрузке расширения ядра и зависимостях.
Основные принципы IOKit описывают архитектуру Набора I/O, объектно-ориентированной платформы для разработки драйверов устройств OS X.
Руководство по проектированию Драйвера устройства IOKit обеспечивает инструкции и подсказки для разработки, отладки и развертывания резидентных ядром драйверов устройств.
Ссылка Платформы ядра содержит ссылку API для методов Набора I/O и функций и для определенных семей
Пример кода> Аппаратные средства и Драйверы> Хранение включает и прикладной уровень и примеры кода в ядре.
Страницы справочника OS X обеспечивают доступ к существующей справочной документации для BSD и функций POSIX и инструментов в удобном формате HTML.
Список рассылки дарвинских драйверов обеспечивает форум для обсуждения технических вопросов, связанных с разработкой драйвера устройства Набора I/O.
Если Вы готовы создать универсальную версию двоичных файлов своего драйвера устройства или схемы фильтра работать в основанном на Intel Macintosh, см. Универсальные Двоичные Инструкции по Программированию. Универсальные Двоичные Инструкции по Программированию описывают различия между Intel и архитектурой PowerPC и обеспечивают подсказки для разработки универсального двоичного файла.
Штабель массового хранения OS X поддерживает устройства массового хранения, соответствующие Модели архитектуры SCSI SCSI основная спецификация команд, объявляющие типы периферийного устройства 00$, 05$, 07$ или 0$ E, и соединяющиеся с ATAPI, USB или шинами FireWire. Кроме того, USB-устройство должно быть совместимым со спецификацией класса массового хранения USB, и устройство FireWire должно быть совместимым с Протоколом последовательной шины FireWire 2 спецификации (SBP-2). Следующие веб-сайты предоставляют больше информации об этих спецификациях:
Спецификации Модели архитектуры SCSI (http://t10 .org) — Обеспечивают компьютерный интерфейс и спецификации набора команд и Протокол последовательной шины FireWire 2 спецификации.
Стандарты ATA/ATAPI (http://t13 .org) — Обеспечивают доступ к ATA/ATAPI-5 спецификация.
Спецификации USB (http://www .usb.org) — Содержат Обзор Спецификации Класса Массового хранения USB.
Спецификации FireWire (http://standards .ieee.org) — Обеспечивают доступ к стандартам FireWire.
Торговая ассоциация 1394 года (http://1394ta .org) — Обеспечивает доступ к новым и черновым спецификациям для стандарта IEEE 1394 года.