ファイルシステムの管理とアクセス
要点と定義
ファイルシステムは、補助記憶装置の領域を、OSや利用者がファイルやディレクトリとして使えるように管理する仕組みです。この節では、ディレクトリの位置を表すパス、レコードの編成とアクセス、バックアップの基本を扱います。
絶対パスはルートディレクトリを起点にファイルやディレクトリの位置を表し、相対パスはカレントディレクトリを起点に表します。絶対パスはカレントディレクトリを変えても起点が変わりません。相対パスでは「.」が現在の位置、「..」が親ディレクトリを表します。ルートを起点にする定義と、現在地から順に移動する方法が、それぞれの判断に必要です。
順次アクセスはレコードを並びに沿って扱う方法、直接アクセスはキーなどを使って個別のレコードを扱う方法です。動的アクセスは順次と直接の両方を使う方法です。ファイル編成やアクセス方法は、必要な追加・検索・更新処理に応じて選びます。過年度の午後問題に登場するCOBOLの呼出し法や記述句は旧試験形式の題材ですが、処理内容から順次アクセスが適切か判断する知識は基礎として有用です。利用番号順にレコードを追加し、キーで個別に検索しない処理では、順次アクセスと判断できます。
直接編成では、キーから格納アドレスを求めてレコードを格納します。異なるキーが同じアドレスを求めると衝突が起きます。格納先が使用済みの場合は、指定された探索規則に従って空きを探します。順送りで末尾の次を先頭にする規則では、アドレスを一つずつ進めて折り返します。初期アドレスだけでなく、衝突後の探索も追うことが正答判断に必要です。
増分バックアップは、直前のバックアップ以降に更新されたファイルを保存し、その更新情報をリセットする方式です。初回の全体バックアップに続けて増分を取得した場合、復元には全体バックアップと、その後に必要な増分を順に使います。
適用条件と例
ルートの下に「資料」ディレクトリがあり、その中に「計画.txt」があるとします。ルートから「資料」をたどって指定するのは絶対パスです。カレントディレクトリが「資料」なら、そこから「計画.txt」へ進む指定は相対パスです。相対パスは起点が変わると同じ表記でも別の位置を指します。パスの区切り記号やルートの表し方は環境によって異なります。
ディレクトリ移動の指定は、各要素を左から適用します。たとえばルート直下の「作業」にいるとき、「../保管/今月」と指定すれば、まず親のルートへ戻り、次に「保管」、その下の「今月」へ進みます。移動を一段ずつ追うと、最終位置を取り違えにくくなります。
利用番号が順に増える精算ファイルへ新しいレコードを順番に追加する処理を考えます。キーで既存レコードを個別に探す処理がなければ、順次アクセスが適切です。個別検索と順次処理の両方が必要な場合は、両方に対応する方式が候補になります。旧形式の午後問題は、順次追加の処理を見分ける例として使えます。
この節の続き
- 誤りやすい点
ここまでが冒頭部分です。ログインすると、無料でも1日2節まで全文をお読みいただけます。
アプリでこの節を読む