devreserv(1M)


devreserv -- 排他的使用による装置の予約

形式

devreserv [key [devicelist . . .]]

機能説明

devreserv は、排他的使用による装置の予約を行います。装置の排他的使用が必要ではなくなった場合、devfree を使用して予約を解放します。

コマンドオプション

key
装置を予約する一意のキーを指定します。キーは、正の整数でなければなりません。

devicelist
devreserv が使用可能なデバイスを検索するデバイスリストを定義します。(リストは、シェルの単一引数としてフォーマットされなければなりません。)

ファイル

/etc/device.tab
/etc/devlkfile

使用法

devreserv は各 devicelist 毎に高々 1 つの装置を予約します。各リストは使用可能な装置が見つかるまで指定された順序どおり検索されます。指定されたリストからの予約が 1 つでも失敗した場合、全体の予約は失敗します。

引き数なしで devreserv を呼び出すと、現在予約されている装置と予約キー番号のリストを表示します。引き数 key だけを指定して devreserv を呼び出すと、現在その key で予約されている装置のリストを作成します。

devreserv および devfree コマンドは、システムで使用できる装置を管理します。これらのコマンドの使用法は、分配ベースであり、デバイスの実際のアクセスは、制約を受けません。そして、集中ブックキーピングポイントを提供します。要約すると、予約がキャンセルされるまでデバイス予約機能を利用するプロセスが予約したデバイスを使用することができません。しかし、そのようなプロセスは、予約状態のチェックを行わない場合があるのでデバイス予約を使用しないプロセスは、デバイスを使用します。

戻り値

devreserv は以下のいずれかの値で終了します。

0
正常終了。

1
コマンド構文が間違っているか、無効なオプションを使用しているか、あるいは内部エラーが発生しました。

2
装置テーブルまたは装置予約テーブルを読み取り用にオープンできません。

3
装置の予約ができませんでした。

使用例

フロッピィディスクとカートリッジテープを予約するには、以下のようにします。
 
   $ key=$$ 
   $ echo "The Current Process ID is equal to: $key" 
   The Current Process ID is equal to: 10658 
   $ devreserv $key diskette1,ctape1 
現在予約されているすべての装置のリストを作成するには、以下のようにします。
 
   $ devreserv 
   disk1         2423 
   diskette1     10658 
   ctape1        10658 
特定のキーで現在予約されているすべての装置のリストを作成するには、以下のようにします。
 
   $ devreserv $key 
   diskette1 
   ctape1 

関連項目

devfree(1M)
SCO UnixWare Forum Beta Release (BL12) -- September 1997
© 1997 The Santa Cruz Operation, Inc. All rights reserved.