パソコンはファイルの集合で、ハードディスクは脳みそ

新人にファイルについて話すことがあってえらく感心されたので記述してみる。ちなみに以下の記述は調べたわけではない。僕が今まで働いてきて色々な仕組みを考えた結果行きついた結論である。間違った記述が有れば突っ込んでもらいたい。

ファイル閲覧の仕組み

あるファイルをダブルクリックすると何かが立ち上がる。テキストファイル(.txt)とかWordファイル(.doc)とかExcelファイル(.xls)とか色々あるけど、それぞれ対応したアプリケーションが起動する。これは単純に拡張子*1と対応したアプリケーションをWindowsが起動して、その起動したアプリケーションに対してダブルクリックしたファイルを渡しているだけである。

違うアプリで起動するとどうなる?

じゃあ、このファイルを違うアプリケーションで起動してみるとどういったことが起こるだろう?

試すのは簡単で、Excelファイル(.xls)の拡張子をテキストファイル(.txt)へと変更する。そうすることで、今までExcelが立ち上がっていたものがテキストエディタで立ち上がることとなる。拡張子を変更しようとすると、Windows XPなどでは「ファイルが壊れる可能性がある」とのポップアップが出てくるが、壊れることは無いので安心して試してほしい*2

さて、起動したファイルはどうなっているだろうか?文字化けして読めないものが表示されていると思う。これはファイルフォーマットの違いによるものである。テキストファイルとExcelファイルではファイルフォーマットが違う。違うフォーマットのファイルを無理やりテキストエディタが理解しようとするのだが、理解できずにこのような表示になってしまうのだ。

ファイルフォーマットって?

当然といえば当然だが、コンピュータは二進数で全てを把握している。[1]か[0]を非常に多く集めることでExcelファイルだとかtxtファイルだとかのデータを作っているのだ。実行ファイル(.exe)ファイルも一緒だ。これは、Windowsが実行ファイルと判断することで、そのファイル内に記述されているプログラムが実行しているというだけだ。このファイルにはそれぞれ決まった書き方があって、これをファイルフォーマットと言う。

結論

Windowsというのもファイルの集まりだし、現在起動しているWebブラウザとか、音楽を聴いている人なら音楽プレイヤーとか全てがファイルなのだ。ファイルをコンピュータが解釈して、その結果を付属した機械へと命令を出すことでパソコンは動いている。やれCPUがすごいとか、やれグラフィックボードがすごいとか言っているかもしれないけど、パソコンで一番大事なのはファイルを保存しているディスクなんだ。

CPUが弱かったりグラフィックボードが弱かったりしたら、性能がいいマシンとハードディスクだけ変えてやればいい。でもハードディスクが壊れてしまうと復旧することは出来ない*3。これがなくなるとどうにも出来ない。だから、人間で言うとハードディスクって脳みそみたいなものなのである。

*1:()で記述しているやつ

*2:特別なアプリケーションで立ち上がった瞬間にファイルに何かを書き込む場合は別

*3:バックアップとか取ってたら別だけど