FD(4)

名前
fd - フロッピーディスク(floppy disk)デバイス

設定
フロッピードライブはメジャーナンバー 2 を持つブロックデバイスである。 一般的には、このデバイスのオーナーは root.floppy (すなわち、オーナー root で グループ floppy )で、モード 0660 (グループの構成員であることに よってアクセスチェックが行われる)、または、モード 0666 (誰でもアクセス できる)である。マイナーナンバーはデバイスのタイプ、ドライブの番号、コ ントローラーの番号を符号化したものである。それぞれのデバイスタイプ(こ れは、密度(density) とトラックカウント(track count) の組合せである)は、 ベースとなるマイナーナンバーを持っている。このベースナンバーにそのコン トローラー上のドライブナンバーを加える。もし、そのドライブが 2 番目の コントローラーに接続されているなら、さらに 128 を加える。次のデバイス テーブルでは、 n はドライブ番号を表す。

警告:もし、ドライブでサポートされているより多くのトラックを持つように フォーマットしようとした場合、機械的なダメージを引き起こすかも知れない。

翻訳者注: 以下の表に用いられる用語は表の整形の関係(一行にうまく納める事ができま せんでした)からそのままにしてあります。日本語との対応は以下のように なります。

Name | 名前
Capac. | 容量
Cyl. | シリンダ数
Sect. | セクタ数
Heads. | ヘッダ数
Base minor # | ベースマイナーナンバー
メディアのフォーマットと容量を自動的に検出するドライブ非依存のデバイス ファイル:

Name | Base minor #
fdn | 0

5.25 インチ倍密度(double density)デバイスファイル:

Name | Capac. | Cyl. | Sect. | Heads | Base minor #
fdnd360 | 360K | 40 | 9 | 2 | 4

5.25 インチ高密度(high density)デバイスファイル:

Name | Capac. | Cyl. | Sect. | Heads | Base minor #
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 インチ倍密度(double density)デバイスファイル:

Name | Capac. | Cyl. | Sect. | Heads | Base minor #
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 インチ高密度(high density)デバイスファイル:

Name | Capac. | Cyl. | Sect. | Heads | Base minor #
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 インチ拡張密度(extra density)デバイスファイル:

Name | Capac. | Cyl. | Sect. | Heads | Base minor #
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)で アクセスする。fd では、次の ioctl(2) コールがサポートされている。

FDCLRPRM
    ドライブのメディア情報(ドライブ内のディスクのジオメトリ情報)をクリアす る。

FDSETPRM
    ドライブのメディア情報をセットする。メディア情報はメディアが交換された 時、失われる。

FDDEFPRM
    ドライブのメディア情報(ドライブ内のディスクのジオメトリ情報)をセットす る。メディア情報はメディアが交換された時でも失われない。これは(メディ ア情報の)自動検出を無効にする。自動検出を再び有効にするために、 FDCLRPRM を発行しなければならない。

FDGETDRVTYP
    ドライブのタイプ(名前引数)を返す。それぞれのドライブタイプに適合するよ うにフォーマットを行うため、FDGETDRVTYP はフォーマットをサポート する最も古いドライブタイプのために適切な名前を返す。

FDFLUSH
    与えられたドライブのバッファキャッシュを無効にする。

FDSETMAXERRS
    エラーの報告、操作の中止、再試行、リセット、セクター毎の読み込みのため のエラー閾値をセットする。

FDGETMAXERRS
    現在のエラー閾値を得る。

FDGETDRVTYP
    ドライブの内部名を得る。

FDWERRORCLR
    書き込みエラーの統計をクリアーする。

FDWERRORGET
    書き込みエラーの統計を読む。統計は、書き込みエラーの合計、最初の書き込 みエラーはどのディスクのどこで起こったか、そして、最後の書き込みエラー がどのディスクのどこで起こったかという情報を含んでいる。ディスクはディ スクの交換ごとに増えるジェネレーション番号によって識別される。

FDTWADDLE
    数ミリ秒の間ドライブのモーターのスイッチを切る。これはディスクのセクター 同士が接近しすぎているディスクのアクセスのために必要であろう。

FDSETDRVPRM
    ドライブの様々なパラメータをセットする。

FDGETDRVPRM
    (FDSETDRVPRM を使ってセットした)パラメータを読みだす。

FDGETDRVSTAT
    キャッシュされているドライブの状態(ディスクの交換、ライトプロテクトな ど)を得る。

FDPOLLDRVSTAT
    ドライブをポーリングして、その状態を返す。

FDGETFDCSTAT
    フロッピーコントローラーの状態を得る。

FDRESET
    フロッピーコントローラーを信頼できる状態にリセットする。

FDRAWCMD
    フロッピーコントローラーに低レベルのコマンド(raw command)を送る。

より正確な情報のためには、フロッピーコントローラーのマニュアルはもちろ ん、<linux/fd.h> と <linux/fdarg.h> インクルードファイルも参照のこと。

注意
様々なディスクのタイプで様々な種類のフォーマットの読み書きが許されてい る。しかし、もしセクタ間のギャップが小さすぎるようにフロッピーがフォー マットされたならば、トラック全体のアクセスに数秒必要になるため性能が低 下するだろう。これを防ぐためには、インターリーブド・フォーマット (interleaved format) を用いる。

ファイル
/dev/fd*

著者
Alain Knaff (Alain.Knaff@imag.fr), David Niemi (niemidc@clark.net), Bill Broadhurst (bbroad@netcom.com).

関連項目
floppycontrol(1), mknod(1), chown(1), getfdprm(1), superformat(1), mount(8), setfdprm(8)

翻訳者
石川 睦 <ishikawa@linux.or.jp>