なぜ情報系の学生はUNIX(Linux)を学ぶ必要があるのか
unixの歴史
なぜ、情報の学生はUNIXを学ぶ必要があるのか。簡単に言うと、現在ではいたるところで使われているからである。Windowsより実際には使われている(確証はなないがたぶん)。どこで?というかもしれないが、今の情報化時代の基盤がここで作られたからである。
unixは、大きく3つの流れがあるといっていい。AT&Tの最初の開発からつづく伝統的なUNIX、BSD、Linux(MINIXも)である。
UNIXという名称は、unix標準に準拠するあらゆるオペレーティングシステムの総称となっている。正確には、UNIXの商標の所有者は、標準化団体のThe Open Groupが持っている。UNIXの商標を使えるのは、Single UNIX Specificationという規格を完全に満たすと認証されたら、UNIXの商標をつかっていいとしている。それ以外のシステムはUNIX like システムなどと、一般的には呼ばれている。名称もUnixとしたりUNIXのNIXのフォントを小さくしたり、Unixやunixとして表記したりしている。
商用のunixとしては現在でも多く使われているのは、macOS、AIX、HP-UX、Solarisなどだと思われる。認証を受けていないunixでは、LinuxやAndroidやMINIX、BSD系ではFreeBSD、NetBSD、OpenBSD、DragonFly BSDなどでしょう。
AndroidのベースになっているOSがLinuxであるとなると、それだけでも学んでもいいのではと思うかもしれないが、それ以上にunixは我々の生活に深く入り込んでいる。
時代背景をみてみる
UNIXが開発された時代背景を考えてみる。大型コンピュータが幅をきかせていて、それを複数のユーザがタイムシェアして使っていた時代である。タイムシェアのOSのMuticsなどがもてはやされていた時代の1969年にAT&TでUNIXの最初の開発がPDP-7でおこなれる。
当時は、アセンブラであったと言われている。また、マルチタスクのOSではなかった。OSがC言語で書き直されて、PDP-11に移植されたのが、1973年といわれている。OSの多くがPDPの機能に依存していたといわれている。ハードウェア依存をだんだんと取り除いて移植性を高めていった。
これらは、Version 7 Unix や UNIX System V として、AT&Tから離れても開発されていくことになる。
分散コンピュータの開発(ネットワーク)
大型コンピュータが幅を利かせていた時代から、分散コンピュータの開発の必要性が出てくる。つまり、世界規模のネットワークでつながったコンピュータの必要性が出てきた。アメリカの国防省であるDoDが、カルフォルニアのバークレーイ大学にその開発を依頼して開発されたのが、BSDのUNIXである。1977年から開発が始まっている。そのときにベースになったのが、AT&Tで開発されていたUNIXである。当時は、ソースコードが公開されており、自由に利用できたからである(これは、あとで大きくもめることになる)。
このAT&TのUNIXは、電話を利用したモデムの機能はあったが、ローカルエリアネットワークの機能がなかった。そこにTCP/IPのネットワークの機能を設計して追加した。ローカルエリアネットワークから、広域ネットワークまでである。つまり、いまのインターネットであるIPv4の機能を付け加えたのが、BSDである。
話はそれるが、このBSDはDEC社のVAXで開発された。このあと、騒動があって騒動の後1年で、IBMにつぐ世界第2位の企業がつぶれることになる。そして、unixの立役者でもあったsunmicrosystemsも倒産する。sunmicrosystemsのソフトウェア資産であったJava言語はOracle社が今でも面倒を見ている。この辺りは、べっと解説したい。
つまり、インターネットはBSDで開発されたのである。BSDは1995年まで開発された。その派生は、最初に書いたとおりである。macOSもさかのぼれば、NextSTEPをへてこの流れである。IPv6の開発も多くは、BSD系のシステムで開発された。macでターミナルを開くと、多くのインタネット関係のコマンドが使用できる。
つまり
結論としては、UNIXを学ぶことは、インターネットの基盤を学ぶことであるといっていい。仕事の環境もWindowsの環境よりかは、UNIXをベースにしたものが多いのである。
Linuxは?
でも、現在はunixの環境よりかは、Linuxでは?という人も多い。実際に学校でも教えているのは、Linuxである。
Linuxは、UNIXが開発されてきた歴史とはまったくべつの系統で開発されたOSである。1991年にリーナス・トーバルズがOSを自分で作り始めたのが起源である。ここでは、その歴史は省略するが、開発していく途中でOSの機能をUNIX標準にしていく。OSがあってもそれだけでは利用できないので、システムとしてまとめていくときに、コマンドをUNIXライクにしていく、つまり利用できるコマンドなどをUNIXライクなものとしていったのである。
それが一気に広まったのは、すべてオープンソースでありGNUライセンスであり、多くのコンピュータに移植されていったため出ると思われる。
もうひとつの理由としては、BSDがもとのUNIXとライセンスでもめたことだと言われている。裁判沙汰になり、多くの問題を抱えていた。また、AT&Tも開発をやめて、手放していたころにLinuxが出てくる。オープンソースでGNUライセンスで、UNIXライクとなると一気に広まったと思われる。
現在では、ほとんどの学校がLinuxを使っているのではないでしょうか。