デバイス割り当てによって、オブジェクト再使用の要件の一部が満たされます。デバイスクリーンスクリプトによって、あるユーザがデバイス上に残したデータは、そのデバイスが別のユーザによって割り当て可能にされる前に確実にクリアされます。
表 4-2 は、サポートされる 3 つのテープデバイスと、それぞれに使用するデバイスクリーンスクリプトを示しています。
表 4-2 サポートされる 3 つのテープデバイスのデバイスクリーンスクリプト
テープデバイスのタイプ |
デバイスクリーンスクリプト |
---|---|
SCSI 1/4 インチテープ | |
アーカイブ 1/4 インチテープ |
st_clean |
オープンリール 1/2 インチテープ |
st_clean |
スクリプトは、mt の rewoffl オプションを使用して、デバイスのクリーンアップに影響を与えます。mt(1) マニュアルページを参照してください。スクリプトは、システムブート中に実行されると、デバイスを照会し、そのデバイスがオンラインになっていてメディアが挿入されているかどうかを調べます。
メディアが残っている 1/4 インチのテープデバイスは強制的に割り当てエラー状態になるので、管理者はそのデバイスを手作業でクリーンアップすることになります。
通常のシステム処理中に、allocate または deallocate を対話型モードで実行すると、割り当てを解除しようとしているデバイスからメディアを取り出すように求めるプロンプトが表示されます。スクリプトは、メディアがデバイスから取り出されるまで一時停止します。
表 4-3 は、フロッピーディスクと CD-ROM 用のデバイスクリーンスクリプトを示します。
表 4-3 フロッピーディスクと CD-ROM 用のデバイスクリーンスクリプト
テープデバイスのタイプ |
デバイスクリーンスクリプト |
---|---|
フロッピーディスク | |
CD-ROM |
スクリプトは、eject コマンドを使用してドライブからメディアを取り出します。eject(1) のマニュアルページを参照してください。eject が失敗すると、デバイスは割り当てエラー状態になります。
オーディオデバイスは、オーディオクリーンスクリプトによってクリーンアップされます。スクリプトは、AUDIO_DRAIN ioctl システムコールを実行してデバイスをフラッシュさせてから、AUDIO_SETINFO ioctl システムコールを実行してデバイス構成をデフォルトにリセットします。また、スクリプトは AUDIOGETREG ioctl システムコールを使用して、オーディオチップレジスタを検出します。デフォルト以外の値を持つレジスタは、AUDIOSETREG ioctl システムコールを使用してリセットされます。