前期中間から前期期末までは、ファイルに関する説明を行う。 これにあたり、ベースとなるOSの話が重要となるので、 簡単にOSの歴史と、PATHの概念を説明する。
OSの歴史
初期のコンピュータは、ハードウェア中心でOSという概念は無かったが、 ハードウェアの使い方を共通化しないと、プログラムを作る手間が増えるため、 プログラムの起動方法を定めた制御モニタなどが使われるようになり、 これがOSとして発達していく。 大型コンピュータでは汎用機のためのOSが発達していく。
一方、家庭用のコンピュータでは、8bitコンピュータでは機能が無かったため、 プログラム言語BASICがOSの代りとなっていた。 まともなOSは、intel系ではCP/Mぐらいしか無かった。 16bitコンピュータが出始めた頃、IBMのAT機のためのOSが必要となり、 マイクロソフト社が DR-DOS などを元に MS-DOS を開発し普及していく。
一方、Apple社は Apple-I,Apple-IIの開発の後、16bitコンピュータに GUI操作が便利な Macintosh を開発する。このGUIの操作性は広く普及していき、 マイクロソフト社は、MS-DOS上のGUI環境 MS-Windows を発表する。 この後、MS-DOS,MS-Windows を統合した Windows-95 などが発表される。 しかし、この時代のコンピュータは、シングルユーザ・シングルタスクであり、 フィアルの所有者の概念もなく、プログラムも処理の切り替えをある程度 意識して作らなければならなかった。また、複数のプログラムを動かせても、 他のプログラムのメモリ領域を触ろうとしても、OSが保護する機能は無かった。
32bitコンピュータが出た頃から、CPUがメモリ保護機能を実装したころから、 複数のプログラムの並列処理が安定してできるようになり、マルチユーザ・マルチタスク のOSが一般的になる。Windowsは、NT,2000,Xp,Vista,7と開発されていく。 一方、汎用機のOSを目指して作られた unix で、Macintosh 用のOSとして、 Mac OS X も開発される。unix は、インターネットのオープンソースの開発者 のもと、Linux や FreeBSD が開発されていった….
絶対PATH/相対PATH
コンピュータの中には沢山のファイルがあり、これらを分類して保管するための機能が、 ディレクトリ(最近のOSではフォルダと呼ばれる)である。 分類されて管理された大量なファイルを使う場合、そのファイルの場所を指し示す 必要があり、その概念がPATHである。起点となる場所から、目的のファイルにたどり つくまでのディレクトリ名を書き連ねれば良い。
ディスクの大元の根っこから、ディレクトリ名を書き連ねる方式は、 絶対PATHと呼ばれる。絶対PATHはファイルの場所を明記できるが、 ディレクトリの深い底のファイルをアクセスするには、長いPATHとなってしまう。 これに対応すべく、あらかじめ起点となるディレクトリを指定しておき、 その起点からファイルの場所を記述する方法が相対PATHと呼ばれる。
簡単な演習として、Windows のコマンドプロンプトを立ち上げ、 C言語のbin,includeなどを例としてPATHの説明を行った。 (親ディレクトリ・カレントディレクトリの説明がまだなので、来週の最初に説明しよう)