# Устройства Zip╝

### Jason Bacon

`<acadix@execpc.com>`

FreeBSD это зарегистрированная торговая марка FreeBSD Foundation.

Adaptec это зарегистрированная торговая марка Adaptec, Inc.

Iomega, Zip, и Jaz это или зарегистрированные торговые марки или торговые марки Iomega Corporation в Соединенных Штатах и/или других странах.

Microsoft, FrontPage, IntelliMouse, MS-DOS, Outlook, Windows, Windows Media и Windows NT это или зарегистрированные торговые марки или торговые марки Microsoft Corporation в Соединенных Штатах и/или других странах.

Motif, OSF/1 и UNIX это зарегистрированные торговые марки, а IT DialTone и The Open Group это торговые марки Open Group в Соединенных Штатах и других странах.

Многие из обозначений, используемые производителями и продавцами для обозначения своих продуктов, заявляются в качестве торговых марок. Когда такие обозначения появляются в этом документе, и Проекту FreeBSD известно о торговой марке, к обозначению добавляется знак ''"'' или ''╝''.

[ По разделам / Одним файлом ]

## 1. Обзор устройств Zip

Диски Zip╝ являются сменными магнитными дисками большой емкости, чтение и запись на которые может выполняться устройствами ZIP от корпорации IOMEGA. Диски ZIP похожи на дискеты, кроме того, что они работают гораздо быстрее, и имеют гораздо большую емкость. Когда как дискеты обычно имеют емкость в 1.44 мегабайта, диски ZIP могут быть двух разновидностей, объемами 100 и 250 мегабайт. Диски ZIP не нужно путать с супер-дискетами объемом в 120 мегабайт, привод для которых может также работать и с обычными дискетами объемом 1.44 мегабайта.

IOMEGA продает также более емкое и производительное устройство, которое называется Jaz╝/JAZZ. Существуют устройства Jaz емкостью 1 и 2 гигабайта.

Устройства ZIP продаются как во внешнем, так и во внутреннем исполнении, и используют один из трех интерфейсов:

1. Интерфейс SCSI (Small Computer Standard Interface) является самым быстрым, сложным, расширяемым и самым дорогим. Интерфейс SCSI применяется во всех типах компьютеров от PC до рабочих станций RISC и миникомпьютеров, для подключения разнообразной периферии, такой, как дисковые и ленточные накопители, сканеры и так далее. Устройства ZIP с интерфейсом SCSI могут быть во внутреннем и внешнем исполнении, и предполагается, что ваш адаптер имеет внешний разъем.

   > Замечание: Если вы используете внешнее устройство SCSI, ни в коем случае нельзя подключать или отключать его от шины SCSI при работающем компьютере. В противном случае это может привести к порче файловой системы на дисках, которые были подключены.

   Если вы хотите добиться максимальной производительности и простоты установки, то лучше всего использовать интерфейс SCSI. Это может потребовать добавления SCSI-адаптера, так как большинство PC (за исключением высокопроизводительных серверов) не имеют встроенной поддержки SCSI. Каждый SCSI-адаптер, в зависимости от модели, может поддерживать 7 или 15 устройств SCSI.

   Каждое SCSI-устройство имеет собственный контроллер, и эти контроллеры весьма сложны и хорошо стандартизованы (вторая буква `S' в слове SCSI означает Standard), так что с точки зрения операционной системы все диски SCSI выглядят примерно одинаково, то же самое касается стримеров SCSI и так далее. Для поддержки устройств SCSI операционной системе нужен драйвер только для конкретного адаптера и универсальный драйвер для каждого типа устройств, другими словами, драйвер SCSI-диска, драйвер SCSI-стримера и так далее. Если некоторые устройства SCSI, с которыми лучше использовать специализированными драйверами (к примеру, стримеры DAT), но они будут работать и с универсальным драйвером. Просто универсальный драйвер может не поддерживать некоторых возможностей конкретного устройства.

   Использование SCSI-устройства ZIP сводится к определению того, какой файл устройства в каталоге `/dev` соответствует устройству ZIP. Это может быть выяснено по сообщениям, выдающимся при загрузке FreeBSD (после загрузки их можно найти в файле `/var/log/messages`), среди которых вы увидите такие строчки:

       da1: <IOMEGA ZIP 100 D.13> Removable Direct Access SCSI-2 Device

   Это означает, что устройству ZIP соответствует `/dev/da1`.

2. Интерфейс IDE (Integrated Drive Electronics) является дешевым интерфейсом, используемым дисками на многих настольных ПК. Большинство IDE-устройств являются только внутренними.

   Производительность устройств ZIP с интерфейсом IDE сравнима со SCSI-устройствами ZIP. (Интерфейс IDE не так быстр, как SCSI, но производительность устройств ZIP ограничена в основном механикой устройства, а не интерфейсом шины.)

   Минусом при использовании интерфейса IDE является его ограниченность. Большинство адаптеров IDE может поддерживать только два устройства, и интерфейс IDE не был рассчитан на широкое применение. Например, оригинальный интерфейс IDE не поддерживает винчестеры с количеством дорожек, превышающим 1024, что заставляет многих необдуманно обновлять аппаратуру. Если у вас есть планы по расширению возможностей вашего ПК добавлением дополнительного диска, стримера или сканера, вам стоит задуматься о приобретении SCSI-адаптера и устройства ZIP с интерфейсом SCSI во избежание проблем в будущем.

   IDE устройства во FreeBSD предваряются буквой `a`. Например, жесткий диск IDE может называться `/dev/ad0`, IDE (ATAPI) привод компакт-дисков может называться `/dev/acd1`, и так далее.

3. Интерфейс параллельного порта популярен для переносимых внешних устройств, таких, как внешние устройства ZIP и сканеры, потому что практически любой компьютер имеет стандартный параллельный порт (обычно используемый для подключения принтера). Это упрощает жизнь тем, кто переносит данные между несколькими компьютерами посредством своего ZIP-устройства.

   Как правило, производительность здесь ниже, чем в случае ZIP-устройств с интерфейсами SCSI или IDE, так как она ограничена скоростью параллельного порта. Пропускная способность параллельного порта значительно различается между разными компьютерами, и зачастую может настраиваться в BIOS компьютера. Некоторым машинам также может понадобиться настроить BIOS на работу параллельного порта в двунаправленном режиме. (Параллельные порты изначально были предназначены только для вывода на принтеры)

## 2. Устройство ZIP для параллельного порта: Драйвер устройства `vpo`

Для использования ZIP-устройства с интерфейсом параллельного порта во FreeBSD в ядре должно быть присутствовать устройство. Устройства ZIP для параллельного порта имеют встроенный контроллер SCSI. Драйвер vpo позволяет ядру FreeBSD работать со SCSI-контроллером ZIP-устройства через параллельный порт.

Так как драйвер vpo не входит в стандартное ядро (начиная с FreeBSD 3.2), то для использования устройства вам необходимо перестроить ядро. Процесс построения ядра подробно описан в Руководстве FreeBSD. Ниже приведена краткая последовательность шагов для включения драйвера vpo:

1. Запустите `/stand/sysinstall` и установите в вашей системе исходный код ядра.

2. Соберите конфигурационный файл ядра с поддержкой драйвера для устройства vpo:

       # cd /sys/i386/conf
       # cp GENERIC MYKERNEL

   Отредактируйте файл `MYKERNEL`, изменив строку `ident` на `MYKERNEL` и раскомментируйте строчку, описывающую драйвер vpo.

   Если у вас имеется второй параллельный порт, вам может потребоваться скопировать раздел для `ppc0`, чтобы создать устройство `ppc1`. Второй параллельный порт, как правило, использует IRQ 5 и адрес 378. В конфигурационном файле требуется указать только IRQ.

   Если диск с корневой файловой системой является диском с интерфейсом SCSI, то вы можете столкнуться с проблемой в последовательности обнаружения устройств, что может привести к попытке использования ZIP-устройства в качестве диска с корневой файловой системой. Это будет приводить к ошибке загрузки, пока вы не поместите корневую файловую систему FreeBSD на ваш ZIP-диск! Для этого вам нужно ''зафиксировать'' корневой диск, а именно заставить ядро ассоциировать выбранное устройство с устройством `/dev/da0`, то есть с корневым SCSI-диском. Затем ZIP-диск будет связан со следующим доступным SCSI-диском, например, с `/dev/da1`. Для того, чтобы привязать ваш SCSI-диск к устройству `da0`, измените строчку

       device  da0

   на

       disk da0 at scbus0 target 0 unit 0

   Вам может потребоваться сменить номер устройства (target) выше на SCSI ID вашего диска. Также вам нужно привязать scbus0 к вашему контроллеру. Например, если у вас установлен контроллер Adaptec╝ 15xx, вам нужно сменить

       controller scbus0

   на

       controller scbus0 at aha0

   И наконец, раз вы редактируете конфигурационный файл ядра, вы можете заодно удалить все ненужные драйверы. Это нужно делать с большой осторожностью, и только если вы уверены во вносимых изменениях. Удаление ненужных драйверов уменьшит размер ядра, что даст больше памяти для ваших приложений. Для определения того, какие драйверы не нужны, перейдите в конец файла `/var/log/messages`, и поищите строчки с диагностикой "not found". Затем закомментируйте эти устройства в конфигурационном файле вашего ядра. Вы можете также изменить другие параметры для уменьшения размера и ускорения работы вашего ядра. Прочтите раздел о перекомпиляции вашего ядра для получения более полной информации.

3. Теперь пришло время компиляции ядра:

       # /usr/sbin/config MYKERNEL
       # cd ../../compile/MYKERNEL
       # make clean depend && make all install

После того, как ядро будет перестроено, вам нужно выполнить перезагрузку. Перед тем, как это сделать, удостоверьтесь, что ZIP-устройство подключено к параллельному порту. Вы должны увидеть ZIP-устройство среди сообщений, выдаваемых при загрузке, как устройство vpo0 или vpo1, в зависимости от того, к какому параллельному порту оно подключено. Кроме того, будет указано, к какому файлу устройства был привязан ZIP-диск. Это будет `/dev/da0`, если в системе нет других SCSI-дисков, или `/dev/da1` в случае, если ваш SCSI-диск зафиксирован в качестве корневого устройства.

## 3. Монтирование дисков ZIP

Для работы с ZIP-диском вы должны его смонтировать, точно так же, как и любое другое дисковое устройство. Файловая система на устройстве представлена как слайс 4, поэтому для устройств с параллельным или SCSI-интерфейсом вам нужно сделать следующее:

    # mount_msdos /dev/da1s4 /mnt

Для устройств ZIP с интерфейсом IDE используйте вот что:

    # mount_msdos /dev/ad1s4 /mnt

Для облегчения монтирования будет полезно также обновить файл `/etc/fstab`. Добавьте строку, соответствующую вашей системе, наподобие следующей:

    /dev/da1s4  /zip msdos rw,noauto  0 0

и создайте каталог `/zip`.

Теперь вы можете монтировать диск просто по команде

    # mount /zip

и выполнять размонтирование по команде

    # umount /zip

Более подробная информация о формате файла `/etc/fstab` находится в fstab(5).

Вы можете также создать файловую систему FreeBSD на ZIP-диске при помощи newfs(8). Однако диск можно будет использовать только в системе FreeBSD и, может быть, с еще несколькими клонами UNIX╝, которые распознают файловые системы FreeBSD. (Определенно этого не могут делать ни MS-DOS╝ ни Windows╝.)

Этот, и другие документы, могут быть скачаны с ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/.

По вопросам, связанным с FreeBSD, прочитайте документацию прежде чем писать в <questions@FreeBSD.org>.
По вопросам, связанным с этой документацией, пишите <doc@FreeBSD.org>.
По вопросам, связанным с русским переводом документации, пишите в рассылку <frdp@FreeBSD.org.ua>.
Информация по подписке на эту рассылку находится на сайте проекта перевода.