Operating-system-os-file-system
提供:Dev Guides
オペレーティングシステム-ファイルシステム
File
ファイルは、磁気ディスク、磁気テープ、光ディスクなどのセカンダリストレージに記録される関連情報の名前付きコレクションです。 一般に、ファイルはビット、バイト、行、またはレコードのシーケンスであり、その意味はファイルの作成者とユーザーによって定義されます。
ファイル構造
ファイル構造は、オペレーティングシステムが理解できる必要な形式に従う必要があります。
- ファイルには、その種類に応じて特定の定義された構造があります。
- テキストファイルは、行に編成された一連の文字です。
- ソースファイルは、一連のプロシージャと関数です。
- オブジェクトファイルは、マシンが理解できるブロックに編成された一連のバイトです。
- オペレーティングシステムが異なるファイル構造を定義する場合、これらのファイル構造をサポートするコードも含まれます。 Unix、MS-DOSはファイル構造の最小数をサポートします。
ファイルの種類
ファイルの種類とは、テキストファイルのソースファイルやバイナリファイルなど、さまざまな種類のファイルを区別するオペレーティングシステムの機能のことです。 多くのオペレーティングシステムは、多くの種類のファイルをサポートしています。 MS-DOSやUNIXなどのオペレーティングシステムには、次の種類のファイルがあります-
通常のファイル
- これらは、ユーザー情報を含むファイルです。
- これらには、テキスト、データベース、または実行可能プログラムが含まれる場合があります。
- ユーザーは、ファイル全体の追加、変更、削除、または削除などのファイルにさまざまな操作を適用できます。
ディレクトリファイル
- これらのファイルには、ファイル名のリストとこれらのファイルに関連するその他の情報が含まれています。
特別なファイル
- これらのファイルは、デバイスファイルとも呼ばれます。
- これらのファイルは、ディスク、端末、プリンター、ネットワーク、テープドライブなどの物理デバイスを表します。
これらのファイルは2種類あります-
- 文字特殊ファイル-データは、端末またはプリンターの場合と同様に文字ごとに処理されます。
- ブロックスペシャルファイル-データは、ディスクやテープの場合のようにブロックで処理されます。
ファイルアクセスメカニズム
ファイルアクセスメカニズムとは、ファイルのレコードにアクセスする方法を指します。 ファイルにアクセスするにはいくつかの方法があります-
- シーケンシャルアクセス
- 直接/ランダムアクセス
- インデックスシーケンシャルアクセス
シーケンシャルアクセス
順次アクセスとは、レコードが何らかの順序でアクセスされることです。つまり、ファイル内の情報が順番に処理され、レコードが次々に処理されます。 このアクセス方法は最も原始的なものです。 例:通常、コンパイラはこの方法でファイルにアクセスします。
直接/ランダムアクセス
- ランダムアクセスファイル編成により、レコードに直接アクセスできます。
- 各レコードには、ファイル上に独自のアドレスがあり、その助けにより、読み取りまたは書き込みのために直接アクセスできます。
- レコードはファイル内の順序である必要はなく、ストレージメディア上の隣接する場所にある必要もありません。
インデックスシーケンシャルアクセス
- このメカニズムは、シーケンシャルアクセスに基づいて構築されています。
- さまざまなブロックへのポインターを含むファイルごとにインデックスが作成されます。
- インデックスは順番に検索され、そのポインタはファイルに直接アクセスするために使用されます。
スペース割り当て
ファイルには、オペレーティングシステムによってディスクスペースが割り当てられます。 オペレーティングシステムは、次の3つの主な方法でファイルにディスク領域を割り当てます。
- 連続割り当て
- リンクされた割り当て
- インデックス付き割り当て
連続割り当て
- 各ファイルは、ディスク上の連続したアドレス空間を占有します。
- 割り当てられたディスクアドレスは線形の順序です。
- 実装が簡単
- 外部断片化は、このタイプの割り当て手法の主要な問題です。
リンクされた割り当て
- 各ファイルには、ディスクブロックへのリンクのリストが含まれています。
- ディレクトリには、ファイルの最初のブロックへのリンク/ポインターが含まれます。
- 外部フラグメンテーションなし
- 順次アクセスファイルで効果的に使用されます。
- 直接アクセスファイルの場合は非効率的です。
インデックス付き割り当て
- 連続したリンクされた割り当ての問題の解決策を提供します。
- ファイルへのすべてのポインタを持つインデックスブロックが作成されます。
- 各ファイルには、ファイルが占有するディスク領域のアドレスを格納する独自のインデックスブロックがあります。
- ディレクトリには、ファイルのインデックスブロックのアドレスが含まれます。