Scroll to navigation

FD(4) Linux Programmer's Manual 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 # (ベースマイナーナンバー)。

警告: ドライブがサポートしているよりも多くのトラックを持つように フォーマットした場合、ドライブに機械的なダメージを与えることになる かもしれない。 通常の 40/80 よりも多くのトラックがサポートされているかどうかを 一度試すだけではドライブにダメージを与えることはないはずだが、 ダメージを与えないという保証はない。 確信がない場合は、そのような使い方が行われないように、 そうしたフォーマットのドライブエントリーを作成しないこと。

メディアのフォーマットと容量を自動的に検出する ドライブ非依存のデバイスファイル:

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 #
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

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

Name Capac. Cyl. Sect. Heads Base minor #
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

3.5 インチ拡張密度 (extra-density) デバイスファイル:

Name Capac. Cyl. Sect. Heads Base minor #
fdnu2880 2880K 80 36 2 32
fdnCompaQ 2880K 80 36 2 36
fdnu3200 3200K 80 40 2 104
fdnu3520 3520K 80 44 2 108
fdnu3840 3840K 80 48 2 112

説明

fd スペシャルファイルはフロッピーディスクドライブにローモード (raw mode)で アクセスする。fd では、次の ioctl(2) コールがサポートされている。

ドライブのメディア情報(ドライブ内のディスクのジオメトリ情報)をクリアす る。
ドライブのメディア情報をセットする。メディア情報はメディアが交換された 時、失われる。
ドライブのメディア情報(ドライブ内のディスクのジオメトリ情報)をセットす る。メディア情報はメディアが交換された時でも失われない。これは(メディ ア情報の)自動検出を無効にする。自動検出を再び有効にするために、 FDCLRPRM を発行しなければならない。
ドライブのタイプ(名前引数)を返す。それぞれのドライブタイプに適合するよ うにフォーマットを行うため、FDGETDRVTYP はフォーマットをサポート する最も古いドライブタイプのために適切な名前を返す。
与えられたドライブのバッファーキャッシュを無効にする。
エラーの報告、操作の中止、再試行、リセット、セクター毎の読み込みのため のエラー閾値をセットする。
現在のエラー閾値を得る。
ドライブの内部名を得る。
書き込みエラーの統計をクリアーする。
書き込みエラーの統計を読む。統計は、書き込みエラーの合計、最初の書き込 みエラーはどのディスクのどこで起こったか、そして、最後の書き込みエラー がどのディスクのどこで起こったかという情報を含んでいる。ディスクはディ スクの交換ごとに増えるジェネレーション番号によって識別される。
数ミリ秒の間ドライブのモーターのスイッチを切る。これはディスクのセクター 同士が接近しすぎているディスクのアクセスのために必要であろう。
ドライブの様々なパラメーターをセットする。
(FDSETDRVPRM を使ってセットした)パラメーターを読みだす。
キャッシュされているドライブの状態(ディスクの交換、ライトプロテクトな ど)を得る。
ドライブをポーリングして、その状態を返す。
フロッピーコントローラーの状態を得る。
フロッピーコントローラーを信頼できる状態にリセットする。
フロッピーコントローラーに低レベルのコマンド(raw command)を送る。

より正確な情報のためには、マニュアルページ floppycontrol(1) だけでなく、インクルードファイル <linux/fd.h><linux/fdarg.h> も参照のこと。

ファイル

/dev/fd*

注意

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

Apple II や Macintosh コンピュータで使用されている、 GCR (group code recording) を使ってフォーマットされたフロッピー (800k ディスク) を読むことはできない。

ハードセクター型のフロッピーの読み込みはサポートされていない (ハードセクター型のフロッピーでは、セクター毎にホール (hole) が一つあり、 少しずれた位置にインデックスホールが存在する)。 これは、昔の 8 インチフロッピーで一般的に使われていた方式である。

関連項目

chown(1), floppycontrol(1), getfdprm(1), mknod(1), superformat(1), mount(8), setfdprm(8)

この文書について

この man ページは Linux man-pages プロジェクトのリリース 3.79 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man-pages/ に書かれている。

2014-05-10 Linux