読み込み中...

ファイル (コンピュータ)

フリー百科事典『ウィキペディア(Wikipedia)』より

コンピュータにおけるファイル (file) は、任意のデータを格納するための論理的な単位の一つ。ファイルは磁気テープ磁気ディスクなどの物理的な記憶装置に記録・記憶される。場合によってはデータセット (data set) とも呼ばれる。

概要

コンピュータにデータデジタル化された情報)を格納する際、全く情報を含まない0バイトから記憶媒体の容量さえ許せば数テラバイトないしそれ以上に至るまで、さまざまな大きさのデータ列を一つの「かたまり」として扱う。これがファイルである。ファイルにはそれぞれ名前があり、ユーザアプリケーションはその名前を頼りに、他にもたくさんあるファイルの中から必要なファイルを見つけることができる。ただし、ファイルがどのような構造の中に格納されているかはファイルシステムによって異なる。

ファイルの中に入れるデータの種類もさまざまである。例えばコンピュータプログラムが入ったファイルがあり、これをプログラムファイルと呼ぶ。同様に、データベースファイル、文書ファイル、表計算ファイル、画像ファイル、音楽ファイル、動画ファイルなどがある。

ファイルの区分

ファイルには、大きく分けてバイナリファイルとテキストファイルに区分される。バイナリファイルには、コンピュータ内部でプログラムが直接処理するデータがそのまま格納されている一方、テキストファイルでは、文字コードに従い文字により表現されたデータとして格納されているため、人間が読む事ができる。どちらもテキストエディタ等(Windowsでは、「メモ帳」等)で強制的に開き表示させることが可能だが、バイナリファイルが文字化けを起こすのに対して、テキストデータでは一定の文字列となって表示される。今日、広く利用されているワープロソフトで作成された文章ファイルもバイナリファイルの一種である。

MS-DOSなどキャラクタベースのオペレーティングシステム (OS) では、ファイル名拡張子は付けられていても、依然各ソフトウェアではファイルの種別を意識することが必要であった。Windowsにおいて拡張子によるアプリケーションの関連づけが本格導入されて以降は、プログラムソースバッチファイル、音楽演奏ソフトウェアで設定したプレイリスト(Windows上では拡張子が“m3u”など)の実体はテキストファイルであるなど、一般的なパソコン利用者にとってはあまり意味の無い区分になっている。

バイナリファイルの一部には、ファイルの先頭部分に決まったデータを含む場合がある(これをヘッダと言う)。一部のソフトウェアでは、この文字情報を参照して、データの種別や、データのフォーマットバージョンを判断したりする(パソコンに既に入っているソフトウェアで開けるかどうかを確認するなど)ものがある。(Mac OSでは伝統的にこれを参照する他、正体の判らないファイルを判別するのに、これを利用する技術者やハッカーも居る。)また、バイナリファイルをバイナリデータとして開き、直接編集するためのバイナリエディタと呼ばれる専用のソフトウェアも存在する。

ファイルの保護

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

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

ファイルの格納

ファイルはユーザーから見た概念的存在であると同時に、物理的な実体を伴う。すなわち、実際のコンピュータにおけるファイルには必ず物理的実体が存在する。多くの場合、ファイルは何らかの記憶装置に格納されている。例えば、多くのオペレーティングシステムはファイルを格納する装置としてハードディスクドライブを使用しており、最も一般的な不揮発性記憶装置になっている。一時的な情報を格納するだけのファイルは、揮発性のRAM上に格納することもある。

Unix系OSでは、実際の記憶装置に対応していないファイルも数多く存在する。/dev/null など、/dev 配下のファイルや /proc や /sys 配下のファイルがそれに当たる。これらはユーザーからはファイルとしてアクセスできるが、実際にはOSのカーネル内のオブジェクトとして存在する仮想ファイルである。

ファイルを格納する電子媒体としては、磁気テープもある。他にも書き込み可能なコンパクトディスクDVDZIPUSBメモリなどにも格納できる。

コンピュータ側から見たファイル

コンピュータ側では、幾つかの段階を経て、画面上にデータの一つの塊として表示しているが、これをよりコンピュータ側からの視点で見た場合に、幾つものデータを寄せ集めて一つに見せている事もある。

ハードディスクはこれらファイルを保存しておくための記憶装置だが、この中にはトラックやセクター(更にはクラスタ)と呼ばれる細かい区分が用意されており、この細かい区分複数個に跨って情報が格納される。丁度何巻にも分かれている大作長編小説のように区分けされて保管された情報は、更に突き詰めればビットと呼ばれるON/OFFの関係にある点(スイッチ)の集合であるが、これらはコンピュータの基礎部分のプログラムやOSのファイルシステムによって制御され、最終的に一つのファイルの形で画面上に表示されている。

フラグメンテーション

特に長期間使っているハードディスクでは、コンピュータは情報を書き込む際に、空いている場所に随時書き込むように設計されているが、扱うデータが一定のサイズではないため、何度も書いたり消したりと言った操作を繰り返す内に、フラグメンテーションと呼ばれる現象が発生する。この現象は、例えるなら前出の長編小説の1巻が本棚右上・2巻が左隅・3巻が中央…といった具合である。

だがコンピュータの誤動作等により、この細かい区分を統合するための情報が損なわれた場合に、これら情報を正確に統合して利用者に提供する事が出来なくなる。前出の長編小説で更に例えるなら「五巻が何処に行ったか見当たらない」というような状態だ。このようなファイル破損では、自動的に復旧するツールもあるが、その機能も絶対ではなく、特にOSのプログラムファイルが破損したり、設定ファイルが呼び出せなくなった場合には、致命的な問題が発生する。

なおコンピュータのファイルは、基本的に複製を作る事が非常に容易い。破損して困るデータは、積極的にバックアップを取る事が勧められる。

バックアップ

非常に重要な情報を含むファイルを破壊するような障害や災害から守るには、バックアップを行う。バックアップとは、ファイルの複製を作ることであり、それを別の場所に保管することで、ファイルを誤って削除した場合などに復旧できるようにする。

バックアップ方法は様々である。ほとんどのコンピュータシステムにはバックアップ用のユーティリティプログラムが備わっているが、多数のファイルをバックアップする作業は時間がかかる。一般に書き込み可能なCDや磁気テープにバックアップを保管する。同じコンピュータシステム内の別のディスク装置にコピーした場合、元のディスク装置の障害に対しては復旧可能だが、システム全体が火事で消失するなどの災害時には役に立たない。そのため、本当に重要なファイルは別媒体にバックアップし、それを別の場所に保管すべきである。

ファイルシステムとファイルマネージャ

コンピュータがファイルを構成し、命名し、格納し、操作する体系を一般にファイルシステムと呼ぶ。ほとんどのコンピュータには少なくとも1つのファイルシステムがある。中には、いくつかの異なる種類のファイルシステムが使えるものもある。例えば Microsoft Windows では、MS-DOSの時代から使われている FAT に加えて、NTFS があり、最近では後者がデフォルトになっている。ファイルシステムにはそれぞれに利点と欠点がある。標準のFATではファイル名は8文字まで(それに加えて拡張子が3文字)で、空白文字をファイル名に含めることもできない。これに対してNTFSではもっと長いファイル名を付けることができ、空白文字も使える。例えば、NTFS では Payroll records というファイル名を付けられるが、FAT では payroll.dat などとなる(ただし、FATにも長いファイル名を使える拡張が存在する)。

ファイルマネージャとは、ユーザーがファイルを直接操作できるようにしたユーティリティプログラムである。ファイルやフォルダーを移動・作成・削除・改名できるが、ファイルの中身を完全に閲覧することはできない。コンピュータシステムにはほぼ必ずファイルマネージャが存在する。Windows の場合は標準の Windows Explorer がよく使われている。

歴史

「ファイル」という言葉がコンピュータの記憶装置に関連する用語として使われ始めたのは1952年で、当初はパンチカードに格納された情報を指した言葉だったRobert S. Casey, et al. Punched Cards: Their Applications to Science and Industry, 1952. ISBN.。初期のころは格納されている中身の情報よりも、装置自体をファイルと呼ぶことが多かった。例えば、IBM 350 のディスク装置は「ディスクファイル」と呼ばれていたMartin H. Weik. Ballistic Research Laboratories Report #1115. March 1961. pp..

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

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

関連項目

脚注

外部リンク

ファイル拡張子に関する情報サイト
Windows のファイルに関するサイト
 読み込み中...

ブログレシピコミュニティお小遣いふくびき壁紙写真

Copyright(C)2008 GMO Media, Inc. All Rights Reserved.