Интерфейс SCSI
Команда Extended Сору
позволяет инициатору отправить целевому устройству SCSI команду на копирование данных между двумя наборами устройств SCSI. Устройства, между которыми копируются данные, могут (не обязательно) отличаться от устройства, которое получило и обрабатывает команду Extended Сору.
Дочерняя команда Receive Copy Results
собирает сведения о завершении выполнения команды Extended Сору.
Полученный результат может использоваться для определения характера выявленных ошибок команды Extended Сору.
В стандарте SCSI-3 определено и множество дополнительных команд, которые включают в себя блочно-ориентированные и графические команды, а также команды модификатора.
Операционная система Windows
NT требует от приложений использованиясквозного интерфейса SCSI, с помощью которого команды передаются устройствам SCSI. На самом деле интерфейс задействуется и для отправки команд устройствам Fibre
Channel, которые поддерживают такой же набор команд SCSI. Приложения используют программный интерфейс DeviceloControl
с параметром IoControlCode,
равным IOCTL_SCSI_PASS_ THROUGH
или IOCTL_SCSI_PASS_THROUGH_DIRECT.
В первую очередь приложению требуется получить дескриптор файла для устройства SCSI посредством функции CreateFile.
Начиная с Windows 2000, компания Microsoft
усилила схему безопасности, требуя от приложений указывать тип доступа (чтение/запись) в параметрах функции CreateFile
и позволяя только ограниченному количеству учетных записей осуществлять запись. Таким образом, функция CreateFile
вернет сообщение об ошибке для всех пользователей, которым системный администратор не разрешил запись данных.
Хотя этот интерфейс вполне работоспособен, при детальном рассмотрении архитектура кажется не вполне целостной. С одной стороны, в операционной системе реализован принцип «владею всем, что вижу» по отношению к таким ресурсам, как жесткие диски. С другой стороны, Windows даже не воспринимает резервирования и освобождения устройства хранения данных прикладным приложением. В рамках более эффективной архитектуры приложение будет запрашивать у операционной системы разрешение на проведение необходимой операции, после чего система будет или отказывать, если запрос не может быть выполнен, или выполнять запрошенную операцию, возвращая приложению соответствующие служебные данные. Будет ли развитие Windows двигаться в этом направлении, можно только догадываться.