ディスク割り当てを使用することによって、システム管理者は、個々のユーザーが使用できるディスク容量と i ノード数 (おおよそファイルの数に相当) を制限して、UFS ファイルシステムのサイズを制御できます。このため、ディスク割り当ては、特に、ユーザーのホームディレクトリが存在するファイルシステムで便利です。
設定後、ディスク割り当ては、ユーザーが使用するディスク容量や i ノード数に合わせて変更できます。さらに、ディスク割り当ては、システムの要求の変化に応じて、追加または削除できます。ディスク割り当て、またはディスク割り当てを超えることができる時間を変更する手順、個々のディスク割り当てを無効にする手順、あるいは、ディスク割り当てをファイルシステムから削除する手順については、「割り当ての変更と削除」を参照してください。
また、ディスク割り当ての状態を監視できます。ディスク割り当てコマンドを使用すると、管理者は、ファイルシステム上のディスク割り当てについての情報を表示したり、ディスク割り当てを超えているユーザーを検索したりできます。これらのコマンドの使い方については、「割り当てのチェック」を参照してください。
弱い制限値と強い制限値の両方を設定できます。システムは、ユーザーが自分の強い制限値を超えることを許可しません。しかし、システム管理者は、ユーザーが一時的に超えることができる、弱い制限値 (「ディスク割り当て」と呼ぶこともある) を設定できます。弱い制限値は、強い制限値より小さくなければなりません。
いったんユーザーが弱い制限値を超えると、タイマーが起動します。タイマーが動いている間、ユーザーは弱い制限値を超えて操作できます。しかし、強い制限値は超えることができません。再びユーザーが弱い制限値を下回ると、タイマーはリセットされます。しかし、タイマーが期限切れになったときに、まだ、ユーザーの使用率が弱い制限値を超えていた場合、弱い制限値は、強い制限値として実施されます。デフォルトでは、弱い制限値のタイマーは、7 日です。
タイマーの値は、repquota コマンドと quota コマンドを実行したときの timeleft フィールドに示されています。
たとえば、あるユーザーの弱い制限値が 10,000 ブロックで、強い制限値が 12,000 ブロックであると仮定します。そのユーザーのブロック使用率が 10,000 ブロックを超えて、タイマーも期限切れになった (7 日を超えた) 場合、そのユーザーは、自分の使用率が弱い制限値を下回るまで、それ以上のディスクブロックをそのファイルシステム上に割り当てることはできません。
ファイルシステムがユーザーに提供する資源は、2 つあります。(データの) ブロックと (ファイルの) i ノードです。各ファイルは、1 つの i ノードを使用します。ファイルデータは、データブロック内に格納されます (通常は、1 K バイトブロック)。
ディレクトリがないと仮定すると、ユーザーは、ブロックを使用しなくても、すべて空のファイルを作成することによって、自分の i ノードディスク割り当てを超えることができます。また、ユーザーは、単純に、ユーザーのディスク割り当て中のすべてのデータブロックを消費するぐらいの大きなファイルを 1 つだけ作成することによって、自分のブロックディスク割り当てを超えることができます。