このページをはてなブックマークに追加このページを含むはてなブックマーク このページをlivedoor クリップに追加このページを含むlivedoor クリップ

  • 追加された行はこの色です。
  • 削除された行はこの色です。
*目次 [#s18bef62]

#contents


*ファイルの構成 [#bdd8598f]
*ファイル [#bdd8598f]

 ''ファイル''とは、情報処理の対象となるデータがまとまったものである。ファイルを構成するデータのことを''レコード''といい、レコードはいくつかの項目で構成される。
 ''ファイル(file)''は2次記憶上に記録される一連のプログラムやデータのことである。


*ファイル管理 [#b68b4161]

 OSのファイル管理で重要な項目として、次の3つが挙げられる。

+データの扱い方
+アクセス方法
+編成法


**データの扱い方 [#l41cba86]

 ファイルにデータを格納する際に、ファイルをレコードの集まりとして管理する方法と、バイトストリームとして管理する方法の2つの方法がある。

-レコード
--データを意味のある単位で扱う。
-バイトストリーム
--データをバイト列として扱う。


***ファイルをレコードの集まりとして管理する方法 [#fa063203]

 ファイルを構成するデータのことを''レコード''といい、レコードはいくつかの項目で構成される。

 メインフレームのOSでは、ファイルをレコードの集まりとして管理している。即ち、アプリケーションが扱うデータの単位と、OSが扱うデータの単位が一致している。このことにより、メインフレーム上で動作するアプリケーションは、扱うデータの単位をOSに任せることができるので、アプリケーションの負担が少ないという利点がある。


***バイトストリームとして管理する方法 [#ae0612ba]

 ''バイトストリーム''とは、データに論理的な意味を持たずに、ただのバイト列として扱うというものである。

 OSはアプリケーションからどのようなデータを渡されたとしても、ただのバイト列として扱うため、OSの処理が単純になる。例えば、UNIXではファイル入出力やネットワークの送受信、キー入力などもバイトストリームとして扱うため、それぞれの特性をアプリケーションが意識することなく扱うことができる。ただし、データ構造の管理はアプリケーションに任されており、プログラマの責任になる。


**アクセス方法 [#b8a31d8f]

 アクセス方法とは、データを媒体に書き込む、もしくは読み出す方法のことである。アクセス方法には順次アクセスと直接アクセスの2つの方法がある。


***順次アクセス(sequential access) [#i5a19eb1]

 媒体に対して、データブロックを連続して書き込む(読み込む)方法である。[[DAT]]などのテープデバイスにデータを格納する際に、有効な方法である。また、[[HDD]]のような直接アクセスを行うデバイスに対しても、順次アクセスすることは可能である。

 データベースのバックアップなど、頻繁に更新や参照が発生しない業務に多く使用される。


***直接アクセス(direct access) [#u679830c]

 媒体の様々な位置にデータブロックを書き込む(読み込む)方法である。ランダムアクセスとも呼ばれる。

 HDDのようにヘッドを移動させればどの位置のデータでもアクセス可能なメディアに対して有効な方法である。


**編成法 [#rd0c2dec]

 編成法とは、媒体上でのファイルの格納形式である。業務の性質に応じて、有効な編成法は異なる。詳細は[[ファイル編成]]を参照せよ。


*レコードの記録形式 [#c6b64a16]

 レコードをファイルに記録するときには、''ギャップ(Inter Record Gap:IRG)''と呼ぶ隙間(ブロック間隔)ができる。記録効率を上げるためには、ギャップの数を少なくする必要があるわけだ。 

 このためにいくつかのレコードをまとめてブロックとして記録する方法が取られる。

**ブロック(物理レコード) [#cd780b0f]

・入出力の単位となり、いくつかのレコードがまとまったもの。 

**論理レコード [#q5a426b6]

・プログラムが処理の対象とするレコード。

・一般的にレコードとは論理レコードを指す。 

**ブロック化係数 [#i5fe6baf]

・ブロック中に記録する論理レコードの数。

・大きいほど記録効率はよいが、主記憶の容量の多くを必要とし、処理効率は悪くなることがある。

・また、磁気ディスクの場合には、トラックあたりの有効記録長も考慮する必要がある。


*ファイルの種類 [#cf986377]

 ファイルはその使い方によって、いろいろな種類にわけることができる。データ処理を行うときのファイルは、マスタファイル、トランザクションファイルの2つに大別される。

**マスタファイル [#ea617232]

・データ処理の基本となるファイル。

・このファイルに対してレコードの更新を中心にデータ処理は展開される。 

**トランザクションファイル(取引ファイル) [#xab90f71]

・色々な活動によって発生するレコードをファイルしたもの。

・例えば、売上ファイル、残業ファイル、試験採点ファイルなど。

・このファイルのレコードで、マスタファイルのレコードを更新する。


*ファイル名の付け方 [#qdd406be]

 ファイル名やディレクトリ名などの付け方をあからじめ決めておかないと、ファイルが増えるにしたがって煩雑さも増大してくる。理想は他人にもわかりやすく、なるべく簡潔で、途中に追加などもしやすい方法である。

**一連番号法(順番法) [#g1e17883]

 発生順などで、先頭から順に番号を付けていく方法のこと。途中に追加できないというデメリットがある。

例:000,001,002,003,…

**均等余量法 [#bfa7e136]

 先頭から順番に、一定間隔を空けながら番号を付けていく方法のこと。一連番号法のデメリットを解消できるが、統一性がなく見栄えが悪い。

例:010,020,030,…

**区分分類法(ブロック分類法) [#d6dde61f]

 区分(ブロック)ごとに一連番号を付ける方法のこと。桁別分類法より、少ない桁数で多くの情報を表す。

例:Aは1〜50、Bは51〜100

**桁別分類法(グループ分類法) [#c85c1931]

 コードの桁に意味を持たせて、大中小分類といった階層を表す方法のこと。桁数が多くなるが他人にもわかりやすく利用度が高い。

例:

#img(http://security2600.sakura.ne.jp/main2/image2/group.jpg)
#img(,clear)

**末尾分類法 [#qd8d396e]

 最後の桁で分類を行う方法のこと。

例:「□□□R」のとき、末尾のRは赤色(Red)を意味する。

**十進分類法 [#kd4f98d9]

 全体を10分割し、分割されたグループをさらに10分割していく方法のこと。分類項目が多く複雑な場合に適する。コンピュータの処理は複雑になる。例えば、図書コードなどで利用されている。

**表意法(連想記号法) [#p9bcfda7]

 意味がわかる文字や略号などを用いる方法のこと。漢字も使えるので、他人にはわかりやすい。しかし桁数が多くなる。

例:営3PC10(営業3課のPC番号10)

**検索優先法 [#s2520eb8]

 ファイル共有の世界では、略号ではなくフルネームでファイル名を付けることが望まれる。また、ジャンル、内容を見た人の感想なども追加されることもある。そのほうが検索で見つかりやすいし、ファイル名だけから内容を推測できるからである。

例:「(AV) [無修正] (ジャンル) [AV女優名] 感想や簡単な内容解説.mpg」


*参考文献 [#m927b7d8]

-『実践コンピュータシステム』
-『平成6年度版 第2種情報処理試験1 重要ポイント55 午前必須[ハードウェア・ソフトウェア]』
-『1週間で分かる基本情報技術者集中ゼミ【午前編】 2006春秋』