ファイル編成法のソースを表示
←
ファイル編成法
移動先:
案内
、
検索
あなたには「このページの編集」を行う権限がありません。理由は以下の通りです:
要求した操作を行うことは許可されていません。
このページのソースの閲覧やコピーができます。
'''ファイル編成法'''(— へんせいほう)とは[[コンピュータ]]がディスク装置やテープ装置などの[[補助記憶装置|2次記憶]]装置上に、[[レコード]]をどのように配置しアクセスするかについての方式である。 ==概要== [[汎用コンピュータ]]([[メインフレーム]])や一部の[[オフィスコンピュータ]]の専用[[オペレーティングシステム]](OS)では、各ファイル([[データセット]])内の、レコードの属性(固定長/可変長/非定型、固定長の場合のレコード長、格納・検索方法など)を定義する。 なお、いわゆる[[オープンシステム (コンピュータ)|オープンシステム]]では[[バイトストリーム]]が基本であり、ファイル編成法は存在しない(詳細は後述)。 また、汎用コンピュータでUNIX系などのOSを使用する場合は、直接稼動の場合はファイル編成法は無関係だが、UNIX互換環境など間接稼動の場合は(専用OSの側では)格納方式(器)として使用されている場合がある。 ==種類== 代表的な[[メインフレーム]]専用OSである[[MVS]]系の場合、大きく分けて次の5種類がある。([[富士通]]、[[日立製作所]]のIBM互換OSもほぼ同様である。) ;<span id="順編成ファイル">順編成ファイル(PS)</span> :シーケンシャルファイル(''Sequential file'')とも言う。 :特徴: :* [[レコード]]を[[一次元]]的に配置する方式。順次アクセスしかできない。もっとも基本的で単純な方式。 :* オープンシステムの用語で言えば、フラットファイルに近く、1つのデータセットが1つのファイルに相当する。複数レコードが収められている場合は、上から順に読んでいく必要があり、一部レコードのみの更新はできない。 :* ファイル内に格納するレコードは固定長/可変長が選択できる。固定長レコードの場合は[[改行コード]]は存在しない。非定型はバイナリーなどに使用する。 :* ディスク装置上にもテープ装置にも全く同じ形式で作成できるため、[[バッチ処理]]で多用されている。(汎用コンピュータではバッチとテープを多用し、オープンシステムではRDBMSを多用する理由のひとつ。) : ;<span id="区分編成ファイル">区分編成ファイル(PDS)</span> :メンバーという単位に分割し、メンバごとにアクセスできるようにしている。 :特徴: :* メンバー域と登録簿(インデックス)から構成され、ディスク装置のみに作成できる。 :* メンバー内は順次アクセスだけ行われる(メンバー単位に、順編成ファイルと同様に扱える) :* オープンシステムの用語で強いて言えば、1段階のフォルダ(ディレクトリ)であり、ファイル(データセット)の中に、多数の子ファイル(メンバー)を格納できる。メンバーは簡単な世代管理もできる :* 主に[[プログラム (コンピュータ)|プログラム]][[ライブラリ]]や設定ファイルに使われる : ;<span id="直接編成ファイル">直接編成ファイル</span> :レコードキー値によって、格納するアドレスを計算して、レコードを直接にこのアドレスに格納する。現在ではあまり使われない。 :特徴: :* 直接記憶媒体に適応する。 :* 直接アクセス法に向く。 :* 媒体の記憶効率が低い。 :* 順次アクセス法に向かない。 : ;<span id="索引順編成ファイル">索引順編成ファイル</span> :[[Indexed Sequential Access Method|ISAM]]編成ファイル。現在ではあまり使われない。 : ;<span id="仮想記憶編成ファイル">仮想記憶編成ファイル</span> :[[Virtual Storage Access Method|VSAM]]編成ファイル。 :特徴: :* OS付属のユーティリティ(IDCAMS)を使用しディスク装置上に作成できる。KSDS、ESDS、RRDSなどがある。 :* KSDSはキーと索引(インデックス)を使用して、レコード単位の追加・変更・削除ができる。 :* オープンシステムの用語で言えば、OS標準の簡易データベースといえる(メインフレームではDBMSを必要最低限しか使わず、オープンシステムではDBMSを多用する理由のひとつ)。 :* メインフレーム用の[[DB2]] などのデータ物理格納場所(器)としても使われている。 ==レガシーシステムとオープンシステムの比較== 初期の[[メインフレーム]]は、プログラムや業務データをレコード単位でパンチカード等で入力し、レコード単位でプリンター等に出力する形が基本だった経緯もあり、オペレーティングシステム標準で多様なレコード管理機能を持っている。 プログラマーやアプリケーションプログラムと、システムの管理運用が分離されているといえる(管理者やオペレーターはデータセットの定義を参照して[[JCL]]を修正するだけで、格納先をディスク装置からテープ装置に変えたり、ブロックサイズ変更による最適化などができる)。 これに対して[[MS-DOS]]、[[Microsoft Windows|Windows]]、[[UNIX]]系などのOSでは、OSによる管理は[[ファイルシステム]]までであり、各ファイル内部のフォーマット(ファイル構造)は、各アプリケーションに任されている。(OS自身の使用するファイルも含めて、[[テキストファイル]]・[[Comma-Separated Values|CSV]]・[[Extensible Markup Language|XML]]など各アプリケーション間の標準化は各種あるが、OSが直接に管理をしているものではない。) このためOSから見たファイルは1形式(バイトストリーム)に標準化され、各アプリケーションはファイルを自由なフォーマットで扱える反面、各アプリケーションごとのファイル形式は標準化されておらず、各アプリケーションに精通していないとレコード編集は困難である(リスクを伴う)。 言い換えると、レガシーシステムは定型業務中心・OS中心・管理運用重視、オープンシステムはプログラマ中心(自由自在、自由放任)、という経緯・文化の相違の1つとも言える。 ==レガシーシステムとオープンシステムの相互運用== オープンシステムのファイルをレガシーシステムで扱う場合は、可読ファイルは順編成ファイル(可変レコード長)に変換し、バイナリーは非定型フォーマットとする場合が多い。改行コードの有無と文字コードには別途注意が必要。 レガシーシステムのファイル(データセット)をオープンシステムで扱う場合は、可読ファイルはフラットテキストファイルに変換し、バイナリーはそのままバイナリーファイルとする場合が多い。VSAM KSDSなどは必要に応じてRDBMS上のテーブル化を、テープ装置上の順編成ファイルは直接読めないのでディスク装置への移動やツールの活用を検討する必要がある。改行コードの有無と文字コードには別途注意が必要。 ==関連項目== *[[オペレーティングシステム]] *[[ファイルシステム]] *[[データセット]] *[[OS/360]] *[[Multiple Virtual Storage]] *[[フラットファイルデータベース]] {{DEFAULTSORT:ふあいるへんせいほう}} [[Category:OSのファイルシステム|ふあいるへんせい]]
ファイル編成法
に戻る。
案内メニュー
個人用ツール
ログイン
名前空間
ページ
議論
変種
表示
閲覧
ソースを表示
履歴表示
その他
検索
案内
メインページ
コミュニティ・ポータル
最近の出来事
新しいページ
最近の更新
おまかせ表示
sandbox
commonsupload
ヘルプ
ヘルプ
井戸端
notice
bugreportspage
sitesupport
ウィキペディアに関するお問い合わせ
ツール
リンク元
関連ページの更新状況
特別ページ
ページ情報