tail head cat sleep
QR code linking to this page

manページ  — OD

名称

od – SCSI 光ディスクドライバ

内容

書式

device od device od1 at scbus0 target 3 lun 0

偽の ASC/ASCQ を返すドライバを使うには options OD_BOGUS_NOT_READY

自動回転停止機能を使うには options OD_AUTO_TURNOFF

解説

od ドライバは SCSI 光ディスク (いわゆる、光磁気や相変化光学ディスク) ドライブをサポートします。 メディアの交換や、ディスクを分割して パーティション と呼ばれる疑似デバイスに割り当てることが可能になります。 パーティションには raw インタフェースと ブロックモード インタフェースがあります。 インタフェースは全般的に wd(4)sd(4) の記述と同様です。

起動中に SCSI アダプタがプローブされるとき、デバイスを検出するために SCSI バスが調べられます。検出されたもののうち ' Optical (光)' かつ ' removable (取り外し可能)' 型と返されるどのデバイスも od ドライバに接続されます。 FreeBSD 2.1.5 以降では、最初に検出されたデバイスは od0 として接続され、次は od1 と以下同様に続きます。 デバイスがどの od ユニットとして稼働すべきかを指定できます。 カーネルの構成についての詳細は scsi(4) を参照してください。 FreeBSD 2.2 から od ドライバは ' Optical (光)' かつ ' removable (取り外し可能)' 型だけでなく、 ' Direct (直接)' かつ ' removable (取り外し可能)' 型と返されるどんなデバイスユニットも操作できます。

パーティショニング

od ドライバはディスクに対し、2 つの階層のパーティションが可能です。 1 つ目の層は "スライス層" と呼ばれるもので、 FreeBSD 領域とその他のオペレーティングシステムで使用されている領域を 分離するために用います。 2 つ目は、 disklabel(5) による純然たる BSD 4.4 のパーティショニング機構であり、 FreeBSD スライスを独自のファイルシステムに細分するために用います。 詳細は、 fdisk(8) および disklabel(8) をそれぞれ参照してください。

初期化されていないディスクが開かれると、ディスク全体まで及ぶ架空の FreeBSD スライスによって、スライステーブルが初期化されます。 同様に、初期化されていない (あるいは非 FreeBSD) スライスが開かれると、ドライブおよびスライス全体を含む単一 'c' パーティションによって返されるパラメータで、ディスクラベルが初期化されます。

カーネルの設定

設定ファイルに od デバイスが 1 つだけ必要です。すなわちデータ構造は、ディスクが SCSI バス上に検出されたとき、動的に割り当てられます。

IOCTL

次の ioctl(2) コールは他のディスクだけでなく、光ディスクにも対応します。 これらはヘッダファイル < sys/disklabel.h> に定義されています。

DIOCSBAD 通常、ディスク上の不良ブロックマッピングシステムを設定するために用いられます。 SCSI ドライバは独自の不良ブロックマッピングを組み込むので、 これは実装されていません。 しかし、将来的には、 SCSI 不良ブロックマッピングへの '対処的な (kludged)' インタフェースとして 実装されるかもしれません。
DIOCGDINFO ドライブ用のディスクラベルの内部コピーを、カーネルをから読み込みます。 ドライブが初期化されていない時は、架空のディスクラベルであるかもしれません。 この場合は、SCSI 調査 (inquiry) コマンドで読み込んだ情報を含みます。 そして起動時に表示される情報と同じになります。
DIOCSDINFO ドライバに新しいディスクラベルを与えます。 ドライバは、新しいディスクラベルをディスクに書き込みません。
DIOCWLABEL ディスク上のディスクラベルに対するドライバのソフトウェアライトプロテクトを、 有効または無効にします。
DIOCWDINFO ドライバに新しいディスクラベルを与えます。 ドライバは、新しいディスクラベルをディスクに書き込もうとします。

次の ioctl(2) コールは他のディスクだけでなく、光ディスクにも対応します。 これらはヘッダファイル < sys/cdio.h> に定義されています。
CDIOCEJECT 光ディスクを排出します。
CDIOCALLOW ドライブに対し、光ディスクの手動排出を許可します。
CDIOCPREVENT
  ドライブに対し、光ディスクの手動排出を禁止します。

加えて、 scsi(4) の一般的な ioctl は od ドライバで使っても構いません。 しかし 4 番目のパーティション (ディスク全体) だけは避けてください。

現在のところ、 od ドライバは 512, 1024, 2048 バイト/セクタのメディアに対応しています。 raw およびブロックモードのデバイスにおける、 非 512 バイト/セクタのメディアへのアクセスは、 各セクタサイズ境界線の開始位置と I/O サイズに関してのみ可能です。

関連ファイル

/dev/rodu raw モードの SCSI 光ディスクユニット u です。パーティショニングされていないデバイスとしてアクセスされます。
/dev/od us n ブロックモードの SCSI 光ディスクユニット u スライス n です。パーティショニングされていないデバイスとしてアクセスされます。
/dev/rod us n raw モードの SCSI 光ディスクユニット u スライス n です。パーティショニングされていないデバイスとしてアクセスされます。
/dev/odup ブロックモードの SCSI 光ディスクユニット u の最初の FreeBSD スライスのパーティション p です。
/dev/rodup raw モードの SCSI 光ディスクユニット u の最初の FreeBSD スライスのパーティション p です。
/dev/od us n pブロックモードの SCSI 光ディスクユニット un 番目のスライスに存在するパーティション p です。
/dev/rod us n praw モードの SCSI光ディスクユニット un番目のスライスに存在するパーティション pです。
/dev/rod u.ctlscsi(8)で使われる制御デバイスユニット uです。

診断

ありません。

関連項目

fdisk(1),cd(4),scsi(4),sd(4),disklabel(5),disklabel(8)

作者

Shunsuke Akiyama <akiyama@jp.FreeBSD.org>

歴史

odドライバは FreeBSD 2.1.5 で登場しました。

FreeBSD OD (4) March 16, 1997

tail head cat sleep
QR code linking to this page


このマニュアルページサービスについてのご意見は Ben Bullock にお知らせください。 Privacy policy.

Ken Thompson was once asked by a reporter what he would have changed about Unix if he had it all to do over again. His answer: “I would spell creat with an ‘e.'”