ファイル管理(コンピュータシステム)
学習のポイント
ファイルへのアクセス方法の種類、ファイル編成、階層型のファイルシステムについて理解しましょう。
1. ファイルについて |
OSの「ファイル管理」は、データの入出力の管理を行う制御プログラムです。これによりファイルに対する統一的なアクセス法を提供しています。 |
2. ファイルのアクセス法 |
アクセス法には以下の3種類があります。 ●順次アクセス ファイルの先頭から順番に処理する。 ●直接(ランダム)アクセス 特定のレコードを直接処理する。 ●動的アクセス レコードの位置づけは「直接アクセス」で行い、以降は「順次アクセス」で処理する。 |
3. ファイル編成 |
ファイル編成には以下の6種類があります。 ●順編成ファイル ファイル内のレコードを一定の順序で連続した位置に記録する編成です。順次アクセスしか出来ません。 ●直接編成ファイル レコード中のキー値をもとに格納アドレスを算出してその位置にレコードを格納する編成です。「アドレス変換(ランダマイズ)」と言ってキー値から格納アドレスを算出します。これにより、別のレコードが同じ格納アドレスとなる場合があります(シノニムと言います)。最初に格納したレコードを「ホームレコード」と言い、格納できなかったレコードを「シノニムレコード」と言います。 アドレス変換には、「除算法」「重ね合わせ法」「基数変換法」があります。 シノニムが発生した場合の対処方法には以下の2種類があります。 「シーケンシャル法」ホームレコードのそばに格納する方法。 「チェーン法」ホームレコードの一部にシノニムレコードのアドレスを記録しておき、そのアドレスを利用してシノニムレコードを検索する方法。 ●相対編成ファイル 直接編成の特別な編成です。キー値が連続した値で、直接キー値を格納アドレスとします。 ●索引編成ファイル インデックスと言う「索引」がついたファイルでレコードアドレスを検索する際に索引で指定してアクセスする編成法です。アクセス方法は3種類全部が可能です。構成としては以下の通りです。 ・基本データ域(プライム領域) データを格納する ・索引域(インデックス領域) 索引を格納する。「マスタ索引」→「シリンダ索引」→「トラック索引」の順に索引されます。 ・あふれ域(オーバフロー領域) 基本データ域にデータが格納されなくなった時に使用する。これは2種類あります。 「シリンダあふれ域」 各トラックからあふれたレコードを格納します。 「独立あふれ域」 シリンダあふれ域が一杯になったら使用します。 ●区分編成ファイル 順編成ファイルが複数個集まったもので、順編成ファイルを「メンバ」という単位で名称をつけて名前と先頭アドレスを登録簿(ディレクトリ)に登録します。メンバの先頭へは直接アクセス、メンバ内では順次アクセスとなります。通常は、データファイルとしては使用せず、プログラムファイルやライブラリーとして利用されています。 ●VSAM編成ファイル 仮想記憶上で利用されるもので、上記の順編成、直接編成、索引順編成を仮想化した編成法です。ファイルのことを「データセット」と呼びます。 ・入力順のデータセットは、「順編成ファイル」 ・キー順データセットは、「索引順編成ファイル」 ・相対レコードデータセットは、「相対編成ファイル」 にそれぞれ対応します。 構造的には、以下の通りです。 「CA」コントロールエリア。論理的な制御域で、いくつかのCIを集めたもの。 「CI」制御インターバル。いくつかの論理レコードを集めたもの。 |
4. 階層型ファイルシステム |
UnixやWindowsで採用されている方法です。ファイルをルートディレクトリーからサブディレクトリーへと階層型にして、その中にファイルを記憶させます。ファイルの指定には、絶対パスと相対パスの指定があります。1つ上のディレクトリーを指定する時は「..」で指定します。 |