コンピュータ におけるファイル (英 えい : file )は、コンピュータでデータ を扱 あつか いやすくするための仕組 しく み。場合 ばあい によってはデータセット (英 えい : data set )とも呼 よ ばれる。
ファイルはデータのやりとりを行 おこな うための統一 とういつ 的 てき な仕組 しく みである。い換 いか えるとファイルはセンサ やプリンター などの外部 がいぶ 装置 そうち (周辺 しゅうへん 機器 きき などが該当 がいとう する)、あるいは他 た のプログラム へ動的 どうてき なデータの入出力 にゅうしゅつりょく を行 おこな う(パイプ を参照 さんしょう のこと)ためのものである。ファイルはハードディスク やUSBメモリ などの記憶 きおく 媒体 ばいたい にデータを保存 ほぞん するためだけのものだと捉 とら えられがちであるが、記憶 きおく 媒体 ばいたい への入出力 にゅうしゅつりょく も記憶 きおく 媒体 ばいたい という装置 そうち への入出力 にゅうしゅつりょく に過 す ぎない。他 ほか にもディレクトリをサポートするファイルシステム では、ディレクトリはファイルを格納 かくのう するためのファイルとみなすことができ、インターネットを実現 じつげん するために重要 じゅうよう なソケット もファイルに抽象 ちゅうしょう 化 か されているなど、多様 たよう な利用 りよう の形態 けいたい がある。
かつてのパンチカード のような紙 かみ 媒体 ばいたい 、あるいは磁気 じき テープ といったシーケンシャルアクセス に強 つよ い媒体 ばいたい では連続 れんぞく した領域 りょういき にデータを書 か き込 こ むことが一般 いっぱん 的 てき であったが、近年 きんねん のファイルシステムは磁気 じき ディスク などがもつランダムアクセス 性 せい を活 い かして不連続 ふれんぞく な領域 りょういき にわたってデータを保存 ほぞん すること(フラグメンテーション )が多 おお い。これは、アクセス速度 そくど が遅 おそ くなる代 か わりに無駄 むだ になる領域 りょういき を減 へ らし、より多 おお くのデータを格納 かくのう することに繋 つな がる。ファイルにはアプリケーション が作成 さくせい したデータの他 ほか に、ファイル名 めい や様々 さまざま な属性 ぞくせい があり、この属性 ぞくせい はファイルシステムに依存 いぞん する。
ファイルの中 なか に入 い れるデータの種類 しゅるい もさまざまである。例 たと えばコンピュータプログラム が入 はい ったファイルがあり、これをプログラムファイルと呼 よ ぶ。同様 どうよう に、データベース ファイル、文書 ぶんしょ ファイル、表 おもて 計算 けいさん ファイル、画像 がぞう ファイル、音楽 おんがく ファイル、動画 どうが ファイルなどがある。これらをファイルフォーマット と呼 よ ぶ。
パンチカード のファイル
IBM 305 システム。2台 だい のディスクファイル
「ファイル」という言葉 ことば がコンピュータの記憶 きおく 装置 そうち に関連 かんれん する用語 ようご として使 つか われ始 はじ めたのは1952年 ねん で、当初 とうしょ はパンチカード に格納 かくのう された情報 じょうほう を指 さ した言葉 ことば だった[ 1] 。初期 しょき のころは格納 かくのう されている中身 なかみ の情報 じょうほう よりも、装置 そうち 自体 じたい をファイルと呼 よ ぶことが多 おお かった。例 たと えば、IBM 350 のディスク装置 そうち は「ディスクファイル」と呼 よ ばれていた[ 2] 。
1962年 ねん のCTSS ではファイルシステム機能 きのう があり、1つの補助 ほじょ 記憶 きおく 装置 そうち 上 じょう に複数 ふくすう の「ファイル」が存在 そんざい するという形態 けいたい が登場 とうじょう した。これが現代 げんだい 的 てき な意味 いみ でのファイルの始 はじ まりである。CTSSではファイル名 めい が2つの部分 ぶぶん で構成 こうせい されていた。1つはユーザーが読 よ めるプライマリ名 めい で、セカンダリ名 めい はファイルの種類 しゅるい を表 あらわ していた[ 3] [ 4] 。このようなファイル名 めい の構成 こうせい 方法 ほうほう は Microsoft Windows などの現代 げんだい のオペレーティングシステム にも受 う け継 つ がれている。
古 ふる い用法 ようほう (情報 じょうほう を格納 かくのう するものを「ファイル」と呼 よ ぶ使 つか い方 かた )はほとんど見 み られなくなったが、例 たと えばレジスタ の集 あつ まりをレジスタファイル と呼 よ ぶ[ 5] のは古 ふる い用法 ようほう の名残 なごり である。
非常 ひじょう にシンプルな基本 きほん 的 てき な構成 こうせい のコンピュータではファイルというものはない。使用 しよう 時 じ に手 て 入力 にゅうりょく というものもある。これを再 さい 利用 りよう 可能 かのう とするため、一 いち 度 ど に取 と り扱 あつか うデータを外部 がいぶ の記憶 きおく 媒体 ばいたい にアウトプットした集 あつ まりがファイルである。コンピュータのファイルはそれぞれ各 かく アプリケーションが作成 さくせい し使用 しよう するデータであるため、ファイルとはアプリケーションが認識 にんしき すればよく、従来 じゅうらい 型 がた の多 おお くのコンピュータでは使用 しよう するアプリケーションを選択 せんたく してから、そのアプリケーションで使用 しよう するデータのファイルを指定 してい した。
しかし、オブジェクト指向 しこう の考 かんが え方 かた を導入 どうにゅう し使用 しよう 者 しゃ を中心 ちゅうしん においたApple のMacintosh において、ファイルの取扱 とりあつか いにリソース の概念 がいねん が取 と り入 い れられた。ファイル内 ない にデータとともにリソースを保管 ほかん したことで、ファイル作成 さくせい 後 ご は、そのファイルを選択 せんたく すれば(たとえばGUI 画面 がめん 上 じょう でファイルを選択 せんたく するためダブルクリックすれば)、オペレーティングシステムによって最適 さいてき なアプリケーションが選択 せんたく される(起動 きどう される)ようになった。一般 いっぱん 的 てき なパソコン利用 りよう 者 しゃ には、どんなアプリケーションで作 つく ったかを事前 じぜん に思 おも い出 だ すことなく、作成 さくせい 済 ず みのファイルの名前 なまえ さえ識別 しきべつ して選択 せんたく すれば、適切 てきせつ なソフトウェアが起動 きどう されるようになり、これにより使 つか い勝手 がって が向上 こうじょう した。後 ご 、Windows においてこのリソースの概念 がいねん は使用 しよう 者 しゃ には「拡張子 かくちょうし によるアプリケーションの関連 かんれん づけ」として提示 ていじ されるものとして知 し られる。
ファイルの区分 くぶん のひとつに、バイナリ ファイルとテキスト ファイルに大別 たいべつ する考 かんが え方 かた がある。この2大 だい 区分 くぶん の考 かんが え方 かた の基礎 きそ には、データをすべてバイナリファイルとして取 と り扱 あつか うUNIX において、文字 もじ 情報 じょうほう だけのテキスト情報 じょうほう を識別 しきべつ する意味 いみ があり、UNIXの考 かんが え方 かた を引 ひ き継 つ いだ個人 こじん 利用 りよう 用 よう コンピュータオペレーティングシステムのDOSやWindows、Macintoshなどでもこの考 かんが え方 かた が適用 てきよう されている。
バイナリファイルとは、コンピュータ内部 ないぶ でプログラムが直接 ちょくせつ 処理 しょり するデータ(ビット列 びっとれつ )をそのまま格納 かくのう するものでそのビット列 びっとれつ の意味 いみ するものは、各 かく アプリケーションソフト毎 ごと に異 こと なる。一方 いっぽう 、テキストファイルとは、そのビット列 びっとれつ がある基準 きじゅん で制定 せいてい された文字 もじ コード に従 したが ったビット列 びっとれつ が格納 かくのう されているものである。テキストファイルとはある基準 きじゅん の文字 もじ コード(ビット列 びっとれつ )のみで構成 こうせい されたバイナリファイルと同 おな じもので、バイナリファイルの一種 いっしゅ を特別 とくべつ 扱 あつか いしている。テキストファイルはそのデータビット列 びっとれつ 定義 ていぎ が文字 もじ 情報 じょうほう という広 ひろ く使 つか われる情報 じょうほう であるため、いいかえれば、バイナリファイルは、データビット列 びっとれつ 定義 ていぎ が各 かく アプリケーション固有 こゆう 、一方 いっぽう 、テキストファイルは標準 ひょうじゅん 化 か されたビット列 びっとれつ 定義 ていぎ を持 も っているファイル、となる。
文字 もじ 情報 じょうほう だけを取 と り扱 あつか うテキストエディタ 等 ひとし (Windowsでは「メモ帳 ちょう 」等 とう )バイナリファイルはいわゆる「文字 もじ 化 ば け」を起 お こすのに対 たい して、テキストファイルは(当然 とうぜん ながら)一定 いってい の文字 もじ 列 れつ となって表示 ひょうじ される。今日 きょう 、広 ひろ く利用 りよう されているワープロソフトで作成 さくせい された文章 ぶんしょう ファイルは、文字 もじ 情報 じょうほう だけでなく、文字 もじ の大 おお きさ、色 いろ 、列 れつ 情報 じょうほう 、ページ情報 じょうほう 、などさまざまな固有 こゆう データをとりあつかうもので、そのファイル形式 けいしき はバイナリファイルの一種 いっしゅ となる。
ここでのテキストデータとは、あいうえおの「あ」や「い」そのものしかあらわさない。「あ」の文字 もじ の大 おお きさ、フォント、字形 じけい 、「い」の色 いろ などは含 ふく まない。しかし、「改行 かいぎょう 」や「空白 くうはく 」などは含 ふく まれる。タイプライター の時代 じだい の文字 もじ の概念 がいねん がコンピュータ化 か されたもの。
バイナリファイルは、アプリケーションが固有 こゆう に定義 ていぎ したデータ列 れつ であるが、業界 ぎょうかい で標準 ひょうじゅん 化 か されたデータ形式 けいしき を含 ふく んだものもある。また、アプリケーションが稼動 かどう するオペレーティングシステムで標準 ひょうじゅん 化 か された構造 こうぞう となっていることもある。
たとえば、ファイルの先頭 せんとう 部分 ぶぶん (あるいは末尾 まつび 部分 ぶぶん )など、それぞれに定義 ていぎ された場所 ばしょ に定義 ていぎ されたデータを含 ふく む。これらの情報 じょうほう を参照 さんしょう し、データ種別 しゅべつ や、データのフォーマット 、そのバージョン などを判断 はんだん する。データが自分 じぶん が作 つく ったものでない場合 ばあい 、パソコンに既 すで に導入 どうにゅう されているソフトウェアで開 あ けるかどうか確認 かくにん する場合 ばあい など。
バイナリファイルをビット列 びっとれつ として扱 あつか うソフトウェアとしてビット列 びっとれつ を直接 ちょくせつ 編集 へんしゅう する(これを「低 てい レベル」と表現 ひょうげん する)ソフトウェアがある。これはバイナリエディタ と呼 よ ばれる。(「絵 え を描 えが く」など人間 にんげん の動作 どうさ に近 ちか いことを行 おこな うアプリケーションを「高 こう レベル」、「ビットをオンオフする」などコンピュータよりの仕事 しごと を行 おこな うアプリケーションを「低 てい レベル」と呼 よ ぶ。これは、アプリケーションプログラム作成 さくせい のレベルを表 あらわ すこともあるが、その仕事 しごと がすばらしいかどうかということを常 つね に高低 こうてい 付 つ けし価値 かち 付 づ けしているというものでもなく、「単 たん に習慣 しゅうかん 的 てき にそう呼 よ ぶ」場合 ばあい も多 おお い。)
バイナリファイルもテキストファイルも一般 いっぱん 的 てき には使用 しよう 時 じ にその全体 ぜんたい がアプリケーションに読 よ み込 こ まれ使用 しよう されるものであるが、データが大量 たいりょう になれば、一 いち 度 ど に全体 ぜんたい を読 よ み込 こ むことはプログラムにとってもハードウェアにとっても大 おお きな損失 そんしつ となる。そのため、必要 ひつよう なときに必要 ひつよう なデータだけをダイナミックに提供 ていきょう できるようなファイルシステムとしてファイルをより構造 こうぞう 化 か したデータベース が作 つく られるようになった。
最近 さいきん のコンピュータでは、ファイルを誤 あやま って(または故意 こい に)書 か き換 か えたり削除 さくじょ したりといったことから保護 ほご する方法 ほうほう が備 そな わっている。マルチユーザー環境 かんきょう では、ファイルパーミッション によって、誰 だれ がそのファイルを修正 しゅうせい したり削除 さくじょ したり、あるいはファイルやフォルダーを作成 さくせい したりできるかを規定 きてい している。これにより、特定 とくてい のユーザーだけがファイルやフォルダーを作成 さくせい したり修正 しゅうせい したりできるよう設定 せってい したり、特定 とくてい のユーザーだけが中身 なかみ を読 よ めるように設定 せってい したりできる。
もう1つの保護 ほご 機構 きこう としてよく使 つか われるのは、「リードオンリー」フラグを使 つか う方法 ほうほう である。ファイルに対 たい してこのフラグを立 た てると、ファイルの内容 ないよう を読 よ み込 こ むことはできるが、書 か き換 か えることはできなくなる。これは変更 へんこう されたり消去 しょうきょ されたりすると困 こま る重要 じゅうよう な情報 じょうほう を保護 ほご するのに便利 べんり で、システムファイル などの保護 ほご に使 つか われる。システムによっては「隠 かく し属性 ぞくせい 」フラグも持 も っていて、指定 してい したファイルを(通常 つうじょう の手段 しゅだん では)見 み えないようにできる。これもユーザーに書 か き換 か えられると困 こま るシステムファイルを隠 かく すのに使 つか われる。
ファイルはユーザーから見 み た概念的 がいねんてき 存在 そんざい であると同時 どうじ に、物理 ぶつり 的 てき な実体 じったい を伴 ともな う。すなわち、実際 じっさい のコンピュータにおけるファイルには必 かなら ず物理 ぶつり 的 てき 実体 じったい が存在 そんざい する。多 おお くの場合 ばあい 、ファイルは何 なん らかの記憶 きおく 装置 そうち に格納 かくのう されている。例 たと えば、多 おお くのオペレーティングシステム はファイルを格納 かくのう する装置 そうち としてハードディスクドライブ を使用 しよう しており、最 もっと も一般 いっぱん 的 てき な不揮発 ふきはつ 性 せい 記憶 きおく 装置 そうち になっている。一時 いちじ 的 てき な情報 じょうほう を格納 かくのう するだけのファイルは、揮発 きはつ 性 せい のRAM 上 うえ に格納 かくのう することもある。
Unix系 けい OSでは、実際 じっさい の記憶 きおく 装置 そうち に対応 たいおう していないファイルも数多 かずおお く存在 そんざい する。/dev/null など、/dev 配下 はいか のファイルや /proc や /sys 配下 はいか のファイルがそれに当 あ たる。これらはユーザーからはファイルとしてアクセスできるが、実際 じっさい にはOSのカーネル 内 うち のオブジェクトとして存在 そんざい する仮想 かそう ファイルである。
ファイルを格納 かくのう する電子 でんし 媒体 ばいたい としては、磁気 じき テープ もある。他 ほか にも書 か き込 こ み可能 かのう なコンパクトディスク 、DVD 、ZIP 、USBメモリ などにも格納 かくのう できる。
コンピュータ側 がわ では、幾 いく つかの段階 だんかい を経 へ て、画面 がめん 上 じょう にデータの一 ひと つの塊 かたまり として表示 ひょうじ しているが、これをよりコンピュータ側 がわ からの視点 してん で見 み た場合 ばあい に、幾 いく つものデータを寄 よ せ集 あつ めて一 ひと つに見 み せている事 こと もある。
ハードディスクはこれらファイルを保存 ほぞん しておくための記憶 きおく 装置 そうち だが、この中 なか にはトラックやセクター(更 さら にはクラスタ)と呼 よ ばれる細 こま かい区分 くぶん が用意 ようい されており、この細 こま かい区分 くぶん 複数個 ふくすうこ に跨 またが って情報 じょうほう が格納 かくのう される。丁度 ちょうど 何 なん 巻 かん にも分 わ かれている大作 たいさく 長編 ちょうへん 小説 しょうせつ のように区分 くわ けされて保管 ほかん された情報 じょうほう は、更 さら に突 つ き詰 つ めればビット と呼 よ ばれるON/OFFの関係 かんけい にある点 てん (スイッチ)の集合 しゅうごう であるが、これらはコンピュータの基礎 きそ 部分 ぶぶん のプログラムやOSのファイルシステムによって制御 せいぎょ され、最終 さいしゅう 的 てき に一 ひと つのファイルの形 かたち で画面 がめん 上 じょう に表示 ひょうじ されている。
特 とく に長期間 ちょうきかん 使 つか っているハードディスクでは、コンピュータは情報 じょうほう を書 か き込 こ む際 さい に、空 あ いている場所 ばしょ に随時 ずいじ 書 か き込 こ むように設計 せっけい されているが、扱 あつか うデータが一定 いってい のサイズではないため、何 なん 度 ど も書 か いたり消 け したりと言 い った操作 そうさ を繰 く り返 かえ す内 うち に、フラグメンテーション と呼 よ ばれる現象 げんしょう が発生 はっせい する。この現象 げんしょう は、例 たと えるなら前出 ぜんしゅつ の長編 ちょうへん 小説 しょうせつ の1巻 かん が本棚 ほんだな 右 みぎ 上 じょう ・2巻 かん が左隅 ひだりすみ ・3巻 かん が中央 ちゅうおう …といった具合 ぐあい である。
だがコンピュータの誤動作 ごどうさ 等 とう により、この細 こま かい区分 くぶん を統合 とうごう するための情報 じょうほう が損 そこ なわれた場合 ばあい に、これら情報 じょうほう を正確 せいかく に統合 とうごう して利用 りよう 者 しゃ に提供 ていきょう する事 こと が出来 でき なくなる。前出 ぜんしゅつ の長編 ちょうへん 小説 しょうせつ で更 さら に例 たと えるなら「五 ご 巻 かん が何処 どこ に行 い ったか見当 みあ たらない」というような状態 じょうたい だ。このようなファイル破損 はそん では、自動的 じどうてき に復旧 ふっきゅう するツール もあるが、その機能 きのう も絶対 ぜったい ではなく、特 とく にOSのプログラムファイルが破損 はそん したり、設定 せってい ファイル が呼 よ び出 だ せなくなった場合 ばあい には、致命 ちめい 的 てき な問題 もんだい が発生 はっせい する。
なおコンピュータのファイルは、基本 きほん 的 てき に複製 ふくせい を作 つく る事 こと が非常 ひじょう に容易 たやす い。破損 はそん して困 こま るデータは、積極 せっきょく 的 てき にバックアップ を取 と る事 こと が勧 すす められる。
非常 ひじょう に重要 じゅうよう な情報 じょうほう を含 ふく むファイルを破壊 はかい するような障害 しょうがい や災害 さいがい から守 まも るには、バックアップ を行 おこな う。バックアップとは、ファイルの複製 ふくせい を作 つく ることであり、それを別 べつ の場所 ばしょ に保管 ほかん することで、ファイルを誤 あやま って削除 さくじょ した場合 ばあい などに復旧 ふっきゅう できるようにする。
バックアップ方法 ほうほう は様々 さまざま である。ほとんどのコンピュータシステムにはバックアップ用 よう のユーティリティプログラムが備 そな わっているが、多数 たすう のファイルをバックアップする作業 さぎょう は時間 じかん がかかる。一般 いっぱん に書 か き込 こ み可能 かのう なCDや磁気 じき テープにバックアップを保管 ほかん する。同 おな じコンピュータシステム内 ない の別 べつ のディスク装置 そうち にコピーした場合 ばあい 、元 もと のディスク装置 そうち の障害 しょうがい に対 たい しては復旧 ふっきゅう 可能 かのう だが、システム全体 ぜんたい が火事 かじ で消失 しょうしつ するなどの災害 さいがい 時 じ には役 やく にたない。そのため、本当 ほんとう に重要 じゅうよう なファイルは別 べつ 媒体 ばいたい にバックアップし、それを別 べつ の場所 ばしょ に保管 ほかん すべきである。
コンピュータがファイルを構成 こうせい し、命名 めいめい し、格納 かくのう し、操作 そうさ する体系 たいけい を一般 いっぱん にファイルシステム と呼 よ ぶ。ほとんどのコンピュータには少 すく なくとも1つのファイルシステムがある。中 なか には、いくつかの異 こと なる種類 しゅるい のファイルシステムが使 つか えるものもある。例 たと えばWindowsでは、MS-DOS の時代 じだい から使 つか われているFAT に加 くわ えて、NTFS があり、最近 さいきん では後者 こうしゃ がデフォルトになっている。ファイルシステムにはそれぞれに利点 りてん と欠点 けってん がある。標準 ひょうじゅん のFATではファイル名 めい は8文字 もじ まで(それに加 くわ えて拡張子 かくちょうし が3文字 もじ )で、空白 くうはく 文字 もじ をファイル名 めい に含 ふく めることもできない(8.3形式 けいしき )。これに対 たい してNTFSではもっと長 なが いファイル名 めい を付 つ けることができ、空白 くうはく 文字 もじ も使 つか える。例 たと えば、NTFSではPayroll records というファイル名 めい を付 つ けられるが、FATではpayroll.dat などとなる(ただし、FATにも長 なが いファイル名 めい を使 つか える拡張 かくちょう が存在 そんざい する)。
ファイルマネージャ とは、ユーザーがファイルを直接 ちょくせつ 操作 そうさ できるようにしたユーティリティプログラムである。ファイルやフォルダーを移動 いどう ・作成 さくせい ・削除 さくじょ ・改名 かいめい できるが、ファイルの中身 なかみ を完全 かんぜん に閲覧 えつらん することはできない。コンピュータシステムにはほぼ必 かなら ずファイルマネージャが存在 そんざい する。Windowsの場合 ばあい は標準 ひょうじゅん のWindows Explorer がよく使 つか われている。
^ Robert S. Casey, et al. Punched Cards: Their Applications to Science and Industry , 1952. ISBN.
^ Martin H. Weik. Ballistic Research Laboratories Report #1115. March 1961. pp. 314-331 .
^ Fernando J. Corbató et al. "An Experimental Time-Sharing System ." May 3, 1962.
^ Jerome H. Saltzer CTSS Technical Notes . Project MIT-LCS-TR016
^ L.Hennessy, John; A.Patterson, David (1994). Computer Organization and Design: The Hardware/Software Interface . Morgan Kaufmann Publishers. p. 276-278. ISBN 1-55860-281-X
ファイル拡張子 かくちょうし に関 かん する情報 じょうほう サイト
Windowsのファイルに関 かん するサイト