Соответствие устройства массового хранения
Apple обеспечивает драйверы устройства массового хранения в транспортном уровне драйвера, поддерживающие различные спецификации устройств. Для Вашего устройства для работы с этими драйверами это должно соответствовать надлежащим спецификациям. В этой главе описываются соответствие устройства и перечисляет логическую единицу и драйверы служб протокола, которые обеспечивает Apple.
Понятие соответствия устройства не имеет никакого значения в уровне услуг устройства. Универсальный драйвер блочной системы хранения обрабатывает устройство как пространство памяти и работу драйверов схемы фильтра носителей с настоящим носителей в устройстве; ни один не делает предположений о спецификациях базовой передачи или реализации. Для получения дополнительной информации о том, как разработать Ваш собственный драйвер схемы фильтра, посмотрите, что Драйвер Схемы фильтра Соответствует и Разрабатывает Схему Фильтра.
Соответствие устройства
Apple обеспечивает логическую единицу и драйверы служб протокола на транспортном уровне драйвера штабеля драйвера массового хранения (показанный на рисунке 1-2). Эти драйверы будут управлять любым устройством массового хранения, соответствующим поддерживаемым спецификациям.
Существует две области, в которых устройство должно быть совместимым для напоминания служб предоставленных драйверов:
Реализация набора команд SCSI
Физический взаимосвязанный транспортный протокол
Соответствие реализации набора команд SCSI означает, что встроенное микропрограммное обеспечение устройства обрабатывает команды, как задокументировано в совместно использованную спецификацию набора команд Модели архитектуры SCSI. Например, если мультимедийное устройство обрабатывает команды, как определено спецификацией набора команд мультимедиа SCSI, это считают совместимым и предоставленное Apple IOSCSIPeripheralDeviceType05
драйвер будет управлять им успешно.
Соответствие с физическим взаимосвязанным транспортным протоколом означает, что устройство отправляет и получает команды согласно протоколу, определенному шиной, это идет. Например, для USB-устройства, чтобы быть совместимым с классом массового хранения USB, это должно соответствовать одному из подклассов, определенных Спецификацией Класса Массового хранения USB. Предоставленное Apple IOUSBMassStorageClass
драйвер служб протокола будет управлять таким устройством успешно.
Доступные драйверы массового хранения
Для набора команд SCSI совместимые реализацией устройства Apple обеспечивает четыре драйвера логической единицы, поддерживающие следующие спецификации:
IOSCSIPeripheralDeviceType00
драйвер поддерживает устройства блочной системы хранения, соответствующие спецификации команд блока SCSI.IOSCSIPeripheralDeviceType05
драйвер поддерживает мультимедийные устройства, соответствующие спецификации команд мультимедиа SCSI.IOSCSIPeripheralDeviceType07
драйвер поддерживает магнитооптические устройства, соответствующие спецификации команд блока SCSI.IOSCSIPeripheralDeviceType0E
поддержки драйвера уменьшили блочные устройства команды, соответствующие сокращенной блочной спецификации команд SCSI.
Для физических взаимосвязанных совместимых транспортным протоколом устройств Apple обеспечивает драйверы служб протокола, поддерживающие следующие протоколы автобусного транспорта:
IOFireWireSerialBusProtocolTransport
драйвер поддерживает Протокол последовательной шины FireWire 2 устройства массового хранения (SBP-2), определенные в спецификациях Модели архитектуры SCSI (http://t10 .org).IOUSBMassStorageClass
драйвер поддерживает устройства массового хранения USB, соответствующие спецификации Класса Массового хранения USB (http://www .usb.org). Для распечатки поддерживаемых подклассов Класса Массового хранения USB и протоколов, кипите Драйвер USB Mass Storage Class Protocol Services.IOATAPIProtocolTransport
драйвер поддерживает устройства массового хранения ATAPI, соответствующие ATA/ATAPI-5 спецификация (http://t13 .org).
Если Ваше устройство совместимо и с совместно использованной спецификацией набора команд Модели архитектуры SCSI и с физическим взаимосвязанным транспортным протоколом, Вы не должны будете писать свой собственный драйвер для него. Если, однако, Ваше устройство будет несовместимо с этими спецификациями или протоколами, то необходимо будет разделить надлежащий предоставленный Apple драйвер на подклассы для обращения различия. Точно так же, если Ваше устройство обеспечит дополнительную функциональность при реализации набора команд или уровне автобусного транспорта, то необходимо будет разработать подкласс, поддерживающий новую функцию.