Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ sd(4) — NEWS-os 3.3

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

format(8)

SD(4)  —  UNIX Programmer’s Manual

名称

sd − SCSI ディスク デバイスドライバ

形式

/dev/sd[00-06][a-h]
/dev/rsd[00-06][a-h]

解説

sd はSCSIディスクデバイスのドライバです。

リリース 3.2 以前のディスクデバイス関係のデバイスドライバは、 ハードディスク用のデバイスドライバ hd と、 光磁気ディスク(MO)用のデバイスドライバ od、 及び、CD-ROM ドライブ用のデバイスドライバ cd に分かれていましたが、 リリース 3.3 からは sd デバイスドライバで全て扱えるようになっています。

sd デバイスドライバが認識するディスクデバイスは、次のものです。

Direct access device(デバイスタイプ=0x00)
Read-only Direct-access device(デバイスタイプ=0x05)

標準のデバイス名は “sd” で始まり、 その後に論理ドライブ番号が続き、 さらに パーティションを表す a から h の文字が続きます。

ブロックデバイスとしてディスクデバイスにアクセスした場合、 システムのバッファリング機構を仲介するので、 物理的なディスクデバイスのレコードを気にすることなく読み書きできます。

ディスクデバイスとユーザの読み書きバッファの間でダイレクトな転送を提供する ‘RAW’ インターフェースもあります。 1回の読み書きの呼び出しで一度入出力操作が行なわれるので、 RAW 入出力は多くのデータが転送されるときにかなり有効です。 RAW デバイスとしての名前は ‘r’ から始まります。

sd デバイスドライバのコンフィギュレーションファイルの指定方法は、 次のように行ないます。
 

controllersdc0at iop0priority n
disksd0at sdc0 drive 0flags 0

 
ディスクデバイスの SCSI ID 番号を priority n で指定します。
flags には、ドライブ毎の初期設定動作を指定します。
flags のビット0は、RAW デバイスの書き込み禁止を制御します。 このビットが 0 の場合、 ブロックデバイスでオープンしているパーティションに対して、 RAW デバイスでの書き込み動作を禁止します。 これにより、ファイルシステムに対して、 RAW デバイスでの誤った書き込みを防ぎます。 このビットが 1 の場合、 ブロックデバイスでオープンしているパーティションに対して、 RAW デバイスでの書き込み動作を可能にします。
flags のビット1は、 sd デバイスドライバのエラーステータスを制御します。 このビットが 1 の場合、 sd デバイスドライバの拡張エラーステータスを buf 構造体の b_error にセットします。
flags のビット 2 は、WRITE AND VERIFY 動作の制御をします。 このビットが 1 の場合、 書き込み動作の後、そのデータが正しく書き込まれたことを ECC によるメディアベリファイで調べます。

ディスクデバイスの先頭セクタにパーティションサイズ等のディスク情報が 書かれている場合は、その情報が使われます。 パーティションサイズ等のディスク情報が書かれていない場合は、 デバイス情報ファイル "/sys/newsiodev/sddefs.c" の デバイス情報テーブル sddevinfo に記述されたディスク情報が使われます。 パーティション情報が記述されていない場合、 ディスクデバイスの記憶容量から パーティションの情報を計算して使用します。

デバイス情報ファイルを追加変更することにより、 新しいタイプのデバイスを接続する事も可能ですが、 既存のデバイス情報テーブルに記述されたデータを変更することは避けてください。

デバイス情報テーブルの書式については、 ヘッダーファイル "/sys/newsiodev/sdreg.h" を参照してください。

メディアを取り外せるディスクデバイスの場合、 デバイスのオープン時にメディアを回転させます。 また、 デバイスをクローズした後、 一定時間以内に次のオープン動作がなければ、 メディアの回転を停止させます。
また、デバイスをオープンすると、 クローズするまでイジェクト動作が禁止されます。

サポートデバイス

sd デバイスドライバがサポートしているディスクデバイスは、 デバイス情報ファイル "/sys/newsiodev/sddefs.c" の デバイス情報テーブル sddevinfo に記述してあります。 また、デバイス情報テーブル sddevinfo に記述を追加することにより、 新しいタイプのディスクデバイスを使用することも可能です。

さらに、 デバイス情報テーブル sddevinfo に記述されていない ディスクデバイスを接続することも可能です。
この場合、エラー訂正方法や、データ先読みキャッシュなどの機能は、 そのディスクデバイスのデフォルトの値が使われます。

IOCTL

sd デバイスドライバは、

/sys/newsiodev/dkio.h
/sys/newsiodev/sdreg.h
/sys/newsiodev/scu.h
/sys/newsiodev/odreg.h
/sys/newsiodev/cdctl.h

で示される、いくつかの ioctl を備えています。 OS のバージョンにより、仕様が変更されることがありますので、 十分注意してください。

関連ファイル

/dev/sd[00-07][a-h]ブロックデバイス

/dev/rsd[00-07][a-h]RAW デバイス

/sys/newsiodev/sd_var.cディスクデバイス変数定義ファイル

/sys/newsiodev/sddefs.cディスクデバイス情報ファイル

/sys/newsiodev/sdreg.hioctl コマンドと構造体の定義

/sys/newsiodev/dkio.hioctl コマンドと構造体の定義

/sys/newsiodev/scu.hioctl コマンドと構造体の定義

/sys/newsiodev/odreg.h光磁気ディスク関連の ioctl コマンドの定義

/sys/newsiodev/cdctl.hCD-ROM 関連の ioctl コマンドと構造体の定義

関連事項

format(8)メディアのフォーマットコマンド

NEWS-OSRelease 3.3

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026