fd - urządzenie stacji dyskietek
Napędy dyskietek są urządzeniami blokowymi o numerze
głównym 2. Zazwyczaj ich właścicielem jest
root.floppy (tzn. użytkownik root, grupa floppy) i mają prawa
dostępu 0660 (kontrola dostępu za pośrednictwem
przynależności do grupy) lub 0666 (swobodny dostęp dla
każdego). Numery poboczne symbolizują typ urządzenia,
numer napędu i numer kontrolera. Dla każdego typu
urządzenia (tj. kombinacji gęstości i liczby
ścieżek) istnieje podstawowy numer poboczny. Do tego numeru
podstawowego dodaje się numer napędu na kontrolerze i 128
jeśli napęd jest podłączony do drugiego
kontrolera. W podanych dalej tablicach urządzeń
n
reprezentuje numer napędu.
Uwaga: Jeśli używa
się formatów z większą ilością
ścieżek, niż ta, którą jest w stanie
obsłużyć napęd, można spowodować
jego fizyczne uszkodzenie. Jednorazowa próba, czy napęd
obsługuje więcej niż zwykłe 40/80
ścieżek nie powinna go uszkodzić, ale nie ma na to
gwarancji. Lepiej nie tworzyć plików urządzeń dla
tych formatów, aby zapewnić, że nikt ich nie
użyje.
Niezależne od napędu pliki urządzeń, które
automatycznie wykrywają format i pojemność dyskietki:
Nazwa |
Podst. nr pob. |
|
fdn
|
0 |
Pliki urządzeń napędu 5.25 cala o podwójnej
gęstości:
Nazwa |
Pojemn. |
Cyl. |
Sekt. |
Głow. |
Podst. nr pob. |
|
fdnd360
|
360K |
40 |
9 |
2 |
4 |
Pliki urządzeń napędu 5.25 cala o wysokiej
gęstości:
Nazwa |
Pojemn. |
Cyl. |
Sekt. |
Głow. |
Podst. nr pob. |
|
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 |
Pliki urządzeń napędu 3.5 cala o podwójnej
gęstości:
Nazwa |
Pojemn. |
Cyl. |
Sekt. |
Głow. |
Podst. nr pob. |
|
fdnu360
|
360K |
80 |
9 |
1 |
12 |
fdnu720
|
720K |
80 |
9 |
2 |
16 |
fdnu800
|
800K |
80 |
10 |
2 |
120 |
fdnu1040
|
1040K |
80 |
13 |
2 |
84 |
fdnu1120
|
1120K |
80 |
14 |
2 |
88 |
Pliki urządzeń napędu 3.5 cala o wysokiej
gęstości:
Nazwa |
Pojemn. |
Cyl. |
Sekt. |
Głow. |
Podst. nr pob. |
|
fdnu360
|
360K |
40 |
9 |
2 |
12 |
fdnu720
|
720K |
80 |
9 |
2 |
16 |
fdnu820
|
820K |
82 |
10 |
2 |
52 |
fdnu830
|
830K |
83 |
10 |
2 |
68 |
fdnu1440
|
1440K |
80 |
18 |
2 |
28 |
fdnu1600
|
1600K |
80 |
20 |
2 |
124 |
fdnu1680
|
1680K |
80 |
21 |
2 |
44 |
fdnu1722
|
1722K |
82 |
21 |
2 |
60 |
fdnu1743
|
1743K |
83 |
21 |
2 |
76 |
fdnu1760
|
1760K |
80 |
22 |
2 |
96 |
fdnu1840
|
1840K |
80 |
23 |
2 |
116 |
fdnu1920
|
1920K |
80 |
24 |
2 |
100 |
Pliki urządzeń napędu 3.5 cala o gęstości
extra:
Nazwa |
Pojemn. |
Cyl. |
Sekt. |
Głow. |
Podst. nr pob. |
|
fdnu2880
|
2880K |
80 |
36 |
2 |
32 |
fdnu3200
|
3200K |
80 |
40 |
2 |
104 |
fdnu3520
|
3520K |
80 |
44 |
2 |
108 |
fdnu3840
|
3840K |
80 |
48 |
2 |
112 |
Pliki specjalne
fd udostępniają dyskietki w trybie surowym.
Następujące odwołania
ioctl(2) obsługiwane
są przez urządzenia
fd:
- FDCLRPRM
- usuwa informacje o nośniku (geometrii dyskietki w
stacji).
- FDSETPRM
- ustawia informacje o nośniku. Informacje te
giną wraz ze zmianą dyskietki.
- FDDEFPRM
- ustawia informacje o nośniku (geometrii dyskietki w
stacji). Informacje te nie giną po zmianie dyskietki. Oznacza to
wyłączenie automatycznego rozpoznawania nośnika w
razie jego zmiany. Aby włączyć autodetekcję z
powrotem, należy użyć FDCLRPRM.
- FDGETDRVTYP
- zwraca typ napędu (parametr nazwy). Dla
formatów, które działają w
różnych typach napędów, FDGETDRVTYP
zwraca nazwę, która odpowiada najstarszemu typowi
napędu obsługującemu ten format.
- FDFLUSH
- dezaktualizuje bufory cache dla danego napędu.
- FDSETMAXERRS
- ustawia progi błędów dla ich
zgłaszania, anulowania operacji, rekalibracji, resetowania i
odczytu sektor po sektorze.
- FDSETMAXERRS
- zwraca bieżące progi
błędów.
- FDGETDRVTYP
- zwraca wewnętrzną nazwę
napędu.
- FDWERRORCLR
- czyści statystyki błędów
zapisu.
- FDWERRORGET
- odczytuje statystyki błędów zapisu.
Należą do nich: całkowita liczba
błędów zapisu, położenie i dysk, na
którym wystąpił pierwszy błąd zapisu
oraz położenie i dysk, na którym
wystąpił ostatni błąd zapisu. Dyski
identyfikowane są przez generowany numer, zwiększany po
każdej (niemal) zmianie dyskietki.
- FDTWADDLE
- Wyłącza silnik napędu na kilka
mikrosekund. Może to być niezbędne dla uzyskania
dostępu do dyskietki, której sektory są zbyt blisko
siebie.
- FDSETDRVPRM
- ustawia różne parametry napędu.
- FDGETDRVPRM
- odczytuje te parametry.
- FDGETDRVSTAT
- zwraca buforowany stan napędu (dyskietka zmieniona,
zabezpieczenie przed zapisem, itd.)
- FDPOLLDRVSTAT
- odpytuje napęd i zwraca jego stan.
- FDGETFDCSTAT
- zwraca stan kontrolera napędu dyskietek.
- FDRESET
- resetuje kontroler napędu dyskietek w konkretnych
warunkach.
- FDRAWCMD
- wysyła surowe polecenie do kontrolera
napędu.
Aby uzyskać bardziej szczegółowe informacje, zajrzyj
również do plików nagłówkowych
<linux/fd.h> i <linux/fdreg.h>, jak również do
strony man dla floppycontrol.
Różne formaty pozwalają na zapis i odczyt wielu
typów dysków. Jednakże, jeśli dyskietka jest
sformatowana ze zbyt małym odstępem między sektorami,
wydajność może spaść nawet do poziomu, w
którym napęd będzie potrzebował kilku sekund na
odczytanie całej ścieżki. Aby tego uniknąć,
należy używać formatów z przeplotem.
Niemożliwy jest odczyt dyskietek sformatowanych przy użyciu GCR
(group code recording - grupowe nagrywanie kodu), stosowanego w komputerach
Apple II i Macintosh (dyskietki 800k). Nie działa również
odczyt z dyskietek z twardymi sektorami (jedna przerwa na sektor, przerwa
indeksowa nieco przesunięcia). Było to powszechne na starych
dyskietkach ośmiocalowych.
/dev/fd*
Alain Knaff (
[email protected]), David Niemi (
[email protected]), Bill
Broadhurst (
[email protected]).
floppycontrol(1),
mknod(1),
chown(1),
getfdprm(1),
superformat(1),
mount(8),
setfdprm(1)
Autorami polskiego tłumaczenia niniejszej strony podręcznika
są: Paweł Olszewski <
[email protected]> i Robert Luberda
<
[email protected]>
Niniejsze tłumaczenie jest wolną dokumentacją.
Bliższe informacje o warunkach licencji można uzyskać
zapoznając się z
GNU
General Public License w wersji 3 lub nowszej. Nie przyjmuje się
ŻADNEJ ODPOWIEDZIALNOŚCI.
Błędy w tłumaczeniu strony podręcznika prosimy
zgłaszać na adres listy dyskusyjnej
[email protected]