Дисководы - блочные устройства со старшим номером 2. Обычно их
владельцем является root.floppy (т. е. пользователь root, группа
floppy), а права доступа к ним -- 0660 (доступно членам группы) или 0666
(доступно всем). Младший
номер определяется типом устройства, номером устройства, и номером контроллера.
Для каждого типа устройства, то есть комбинации объема и количества дорожек,
существует базовый младший номер. К этому базовому номеру прибавьте номер
устройства в пределах его контроллера, и еще 128, если дисковод подключен к
вторичному контроллеру. В нижеследующих таблицах
n
означает номер дисковода.
Предупреждение: Если вы используете формат дискет с большим числом дорожек,
чем поддерживает ваш дисковод, вы можете вызвать механическое повреждение.
Однажды попробовав работать с числом дорожек больше обычных 40/80, вы не должны
его испортить, но нет гарантии, что этого не произойдет. Не создавайте устройства
для таких форматов, чтобы предотвратить их использование, если вы не уверены.
Файлы устройств, не зависящие от привода, которые автоматически определяют
формат и емкость диска:
Имя
Базовый младший #
fdn
0
Файлы устройств 5.25 дюймов с двойной плотностью:
Имя
Объем
Дор.
Сект.
Голов.
Базовый младший #
fdnd360
360K
40
9
2
4
Файлы устройств 5.25 дюймов с высокой плотностью:
Имя
Объем
Дор.
Сект.
Голов.
Базовый младший #
fdnh360
360K
40
9
2
20
fdnh410
410K
41
10
2
48
fdnh420
420K
42
10
2
64
fdnh720
720K
80
9
2
24
fdnh880
880K
80
11
2
80
fdnh1200
1200K
80
15
2
8
fdnh1440
1440K
80
18
2
40
fdnh1476
1476K
82
18
2
56
fdnh1494
1494K
83
18
2
72
fdnh1600
1600K
80
20
2
92
Файлы устройств 3.5 дюймов с двойной плотностью:
Имя
Объем
Дор.
Сект.
Голов.
Базовый младший #
fdnD360
360K
80
9
1
12
fdnD720
720K
80
9
2
16
fdnD800
800K
80
10
2
120
fdnD1040
1040K
80
13
2
84
fdnD1120
1120K
80
14
2
88
Файлы устройств 3.5 дюймов с высокой плотностью:
Имя
Объем
Дор.
Сект.
Голов.
Базовый младший #
fdnH360
360K
40
9
2
12
fdnH720
720K
80
9
2
16
fdnH820
820K
82
10
2
52
fdnH830
830K
83
10
2
68
fdnH1440
1440K
80
18
2
28
fdnH1600
1600K
80
20
2
124
fdnH1680
1680K
80
21
2
44
fdnH1722
1722K
82
21
2
60
fdnH1743
1743K
83
21
2
76
fdnH1760
1760K
80
22
2
96
fdnH1840
1840K
80
23
2
116
fdnH1920
1920K
80
24
2
100
Файлы устройств 3.5 дюймов с дополнительной плотностью:
Имя
Объем
Дор.
Сект.
Голов.
Базовый младший #
fdnE2880
2880K
80
36
2
32
fdnCompaQ
2880K
80
36
2
36
fdnE3200
3200K
80
40
2
104
fdnE3520
3520K
80
44
2
108
fdnE3840
3840K
80
48
2
112
ОПИСАНИЕ
Специальные файлы fd имеют доступ к дисководам в "сыром" виде (raw mode).
Следующие вызовы
ioctl(2)
поддерживаются устройствами fd:
FDCLRPRM
очищает информацию о носителе для устройства (геометрию диска в приводе).
FDSETPRM
устанавливает информацию о носителе в устройстве. Информация о носителе потеряется,
когда носитель будет сменен.
FDDEFPRM
устанавливает информацию о носителе в устройстве (геометрию диска в приводе).
Информация о носителе не будет потеряна, когда носитель будет сменен.
При этом автоопределение носителя будет запрещено.
Чтобы снова его разрешить, обратитесь к FDCLRPRM .
FDGETDRVTYP
возвращает тип дисковода (параметр имени). Для форматов, работающих
на нескольких типах дисководов, FDGETDRVTYP возвращает имя, которое
соответствует самому старому типу дисковода, который поддерживает данный формат.
FDFLUSH
отменяет использование текущих данных кэша для данного диска.
FDSETMAXERRS
устанавливает пороговые значения для сообщения об ошибках, остановки
действий, перекалибровки, сброса в начальное состояние и посекторного
чтения.
FDSETMAXERRS
возвращает текущие пороговые значения для ошибок.
FDGETDRVTYP
возвращает внутреннее имя привода.
FDWERRORCLR
очищает статистику ошибок записи.
FDWERRORGET
читает статистику ошибок записи. Она включает общее число
ошибок записи, расположение и диск, на котором произошла первая ошибка записи и
расположение и диск, на котором произошла последняя ошибка записи. Диски обозначаются
генерирующимся числом, которое увеличивается на единицу при (почти) каждой смене диска.
FDTWADDLE
Выключить на несколько микросекунд мотор привода. Это может быть
необходимо для получения доступа к диску, чьи сектора располагаются слишком близко друг к другу.
FDSETDRVPRM
устанавливает различные параметры дисковода.
FDGETDRVPRM
возвращает эти параметры.
FDGETDRVSTAT
возвращает кэшированное состояние дисковода (диск сменен, защищен от
записи и т. д.)
FDPOLLDRVSTAT
обращается к диску и возвращает состояние дисковода.
FDGETFDCSTAT
возвращает состояние контроллера гибких дисков.
FDRESET
сбрасывает в начальное состояние контроллер гибких дисков при определенных условиях.
FDRAWCMD
посылает команду в "сыром" виде (raw command) контроллеру гибких дисков.
Для более точной информации обратитесь также к include-файлам <linux/fd.h> и
<linux/fdreg.h>, а также к странице руководства для
floppycontrol.
ПРИМЕЧАНИЕ
Разные форматы позволяют читать и записывать многие типы дисков.
Однако, если дискета отформатирована со слишком маленьким межсекторным промежутком,
производительность может снизиться вплоть до того, что для доступа к дорожке может понадобиться до нескольких секунд.
Во избежание этого, используйте перемежающий (interleaved) формат. Невозможно
прочитать дискеты, отформатированные с использованием GCR (групповая запись кодов),
которые используются компьютерами Apple II и Macintosh (диски 800k).
Чтение аппаратно размеченных на секторы дискет (с отверстием на каждый сектор и
слегка повернутым индексным отверстием) не поддерживается. Такими
были старые 8-дюймовые дискеты.