ファイル_(コンピュータ)
[Wikipedia|▼Menu]

コンピュータにおけるファイル(: file)は、コンピュータでデータを扱いやすくするための仕組み。場合によってはデータセット: data set)とも呼ばれる。
概要

ファイルはデータのやりとりを行うための統一的な仕組みである。言い換えるとファイルはセンサプリンターなどの外部装置(周辺機器などが該当する)、あるいは他のプログラムへ動的なデータの入出力を行う(パイプを参照のこと)ためのものである。ファイルはハードディスクUSBメモリなどの記憶媒体にデータを保存するためだけのものだと捉えられがちであるが、記憶媒体への入出力も記憶媒体という装置への入出力に過ぎない。他にもディレクトリをサポートするファイルシステムでは、ディレクトリはファイルを格納するためのファイルとみなすことができ、インターネットを実現するために重要なソケットもファイルに抽象化されているなど、多様な利用の形態がある。

かつてのパンチカードのような紙媒体、あるいは磁気テープといったシーケンシャルアクセスに強い媒体では連続した領域にデータを書き込むことが一般的であったが、近年のファイルシステムは磁気ディスクなどがもつランダムアクセス性を活かして不連続な領域にわたってデータを保存すること(フラグメンテーション)が多い。これは、アクセス速度が遅くなる代わりに無駄になる領域を減らし、より多くのデータを格納することに繋がる。ファイルにはアプリケーションが作成したデータの他に、ファイル名や様々な属性があり、この属性はファイルシステムに依存する。

ファイルの中に入れるデータの種類もさまざまである。例えばコンピュータプログラムが入ったファイルがあり、これをプログラムファイルと呼ぶ。同様に、データベースファイル、文書ファイル、表計算ファイル、画像ファイル、音楽ファイル、動画ファイルなどがある。これらをファイルフォーマットと呼ぶ。
歴史パンチカードのファイルIBM 305 システム。2台のディスクファイル

「ファイル」という言葉がコンピュータの記憶装置に関連する用語として使われ始めたのは1952年で、当初はパンチカードに格納された情報を指した言葉だった[1]。初期のころは格納されている中身の情報よりも、装置自体をファイルと呼ぶことが多かった。例えば、IBM 350 のディスク装置は「ディスクファイル」と呼ばれていた[2]

1962年のCTSSではファイルシステム機能があり、1つの補助記憶装置上に複数の「ファイル」が存在するという形態が登場した。これが現代的な意味でのファイルの始まりである。CTSSではファイル名が2つの部分で構成されていた。1つはユーザーが読めるプライマリ名で、セカンダリ名はファイルの種類を表していた[3][4]。このようなファイル名の構成方法は Microsoft Windows などの現代のオペレーティングシステムにも受け継がれている。

古い用法(情報を格納するものを「ファイル」と呼ぶ使い方)はほとんど見られなくなったが、例えばレジスタの集まりをレジスタファイルと呼ぶ[5]のは古い用法の名残である。
ファイルの概念

非常にシンプルな基本的な構成のコンピュータではファイルというものはない。使用時に手入力というものもある。これを再利用可能とするため、一度に取り扱うデータを外部の記憶媒体にアウトプットした集まりがファイルである。コンピュータのファイルはそれぞれ各アプリケーションが作成し使用するデータであるため、ファイルとはアプリケーションが認識すればよく、従来型の多くのコンピュータでは使用するアプリケーションを選択してから、そのアプリケーションで使用するデータのファイルを指定した。

しかし、オブジェクト指向の考え方を導入し使用者を中心においたAppleMacintoshにおいて、ファイルの取扱いにリソースの概念が取り入れられた。ファイル内にデータとともにリソースを保管したことで、ファイル作成後は、そのファイルを選択すれば(たとえばGUI画面上でファイルを選択するためダブルクリックすれば)、オペレーティングシステムによって最適なアプリケーションが選択される(起動される)ようになった。一般的なパソコン利用者には、どんなアプリケーションで作ったかを事前に思い出すことなく、作成済みのファイルの名前さえ識別して選択すれば、適切なソフトウェアが起動されるようになり、これにより使い勝手が向上した。後、Windowsにおいてこのリソースの概念は使用者には「拡張子によるアプリケーションの関連づけ」として提示されるものとして知られる。
ファイルの区分

ファイルの区分のひとつに、バイナリファイルとテキストファイルに大別する考え方がある。この2大区分の考え方の基礎には、データをすべてバイナリファイルとして取り扱うUNIXにおいて、文字情報だけのテキスト情報を識別する意味があり、UNIXの考え方を引き継いだ個人利用用コンピュータオペレーティングシステムのDOSやWindows、Macintoshなどでもこの考え方が適用されている。

バイナリファイルとは、コンピュータ内部でプログラムが直接処理するデータ(ビット列)をそのまま格納するものでそのビット列の意味するものは、各アプリケーションソフト毎に異なる。一方、テキストファイルとは、そのビット列がある基準で制定された文字コードに従ったビット列が格納されているものである。テキストファイルとはある基準の文字コード(ビット列)のみで構成されたバイナリファイルと同じもので、バイナリファイルの一種を特別扱いしている。テキストファイルはそのデータビット列定義が文字情報という広く使われる情報であるため、いいかえれば、バイナリファイルは、データビット列定義が各アプリケーション固有、一方、テキストファイルは標準化されたビット列定義を持っているファイル、となる。

文字情報だけを取り扱うテキストエディタ等(Windowsでは「メモ帳」等)バイナリファイルはいわゆる「文字化け」を起こすのに対して、テキストファイルは(当然ながら)一定の文字列となって表示される。今日、広く利用されているワープロソフトで作成された文章ファイルは、文字情報だけでなく、文字の大きさ、色、列情報、ページ情報、などさまざまな固有データをとりあつかうもので、そのファイル形式はバイナリファイルの一種となる。

ここでのテキストデータとは、あいうえおの「あ」や「い」そのものしかあらわさない。「あ」の文字の大きさ、フォント、字形、「い」の色などは含まない。しかし、「改行」や「空白」などは含まれる。タイプライターの時代の文字の概念がコンピュータ化されたもの。

バイナリファイルは、アプリケーションが固有に定義したデータ列であるが、業界で標準化されたデータ形式を含んだものもある。また、アプリケーションが稼動するオペレーティングシステムで標準化された構造となっていることもある。

たとえば、ファイルの先頭部分(あるいは末尾部分)など、それぞれに定義された場所に定義されたデータを含む。これらの情報を参照し、データ種別や、データのフォーマット、そのバージョンなどを判断する。データが自分が作ったものでない場合、パソコンに既に導入されているソフトウェアで開けるかどうか確認する場合など。

バイナリファイルをビット列として扱うソフトウェアとしてビット列を直接編集する(これを「低レベル」と表現する)ソフトウェアがある。これはバイナリエディタと呼ばれる。(「絵を描く」など人間の動作に近いことを行うアプリケーションを「高レベル」、「ビットをオンオフする」などコンピュータよりの仕事を行うアプリケーションを「低レベル」と呼ぶ。これは、アプリケーションプログラム作成のレベルを表すこともあるが、その仕事がすばらしいかどうかということを常に高低付けし価値付けしているというものでもなく、「単に習慣的にそう呼ぶ」場合も多い。)

バイナリファイルもテキストファイルも一般的には使用時にその全体がアプリケーションに読み込まれ使用されるものであるが、データが大量になれば、一度に全体を読み込むことはプログラムにとってもハードウェアにとっても大きな損失となる。そのため、必要なときに必要なデータだけをダイナミックに提供できるようなファイルシステムとしてファイルをより構造化したデータベースが作られるようになった。
ファイルの保護

最近のコンピュータでは、ファイルを誤って(または故意に)書き換えたり削除したりといったことから保護する方法が備わっている。マルチユーザー環境では、ファイルパーミッションによって、誰がそのファイルを修正したり削除したり、あるいはファイルやフォルダーを作成したりできるかを規定している。これにより、特定のユーザーだけがファイルやフォルダーを作成したり修正したりできるよう設定したり、特定のユーザーだけが中身を読めるように設定したりできる。

もう1つの保護機構としてよく使われるのは、「リードオンリー」フラグを使う方法である。ファイルに対してこのフラグを立てると、ファイルの内容を読み込むことはできるが、書き換えることはできなくなる。これは変更されたり消去されたりすると困る重要な情報を保護するのに便利で、システムファイルなどの保護に使われる。システムによっては「隠し属性」フラグも持っていて、指定したファイルを(通常の手段では)見えないようにできる。これもユーザーに書き換えられると困るシステムファイルを隠すのに使われる。
ファイルの格納

ファイルはユーザーから見た概念的存在であると同時に、物理的な実体を伴う。


次ページ
記事の検索
おまかせリスト
▼オプションを表示
ブックマーク登録
mixiチェック!
Twitterに投稿
オプション/リンク一覧
話題のニュース
列車運行情報
暇つぶしWikipedia

Size:26 KB
出典: フリー百科事典『ウィキペディア(Wikipedia)
担当:undef