LinuxとUNIXの違いは何か

LinuxとUNIXの違いを先輩プログラマに教わりました。以下、私と先輩プログラマとのSkypeでのやり取りです。

さとう = 私
ごっすん = 先輩プログラマ

LinuxとUNIXの違いは何か

[0:26:28] ごっすん: で、さとうはLinux独学中か
[1:04:31] さとう: ですです
[1:12:00] さとう: 業務で、取引先の鯖(UNIX)にSSH接続(公開鍵認証)で繋いで、Windowsで作ったプログラムを転送して、シェルでなんやかんややってブラウザから直でアドレス指定して実行確認って感じでやってるので、vimもちょっと使ったりしてます
[1:17:11] ごっすん: さとう、未だにLinuxにUnix言うのはやめれ
[1:17:51] ごっすん: OSのカーネルがSystemV系かBSD系のものだけが本来のUnixだ
[1:18:32] ごっすん: 例としては、IBM AIX,Oracle Solaris,HP HP-UX
[1:18:53] ごっすん: FreeBSD, OpenBSD, NetBSD
[1:19:19] ごっすん: これらがUnix
[1:19:40] ごっすん: RedHatLinuxのクローンであるCentOSはLinux
[1:19:47] ごっすん: Linuxカーネルを使用しているからLinux
[1:22:30] ごっすん: LinuxカーネルとはOSコア部分であり、Unixカーネルをオープンなライセンスで作ろうとしたところから始まっていて、最初に作られた頃からソースコードが全く別系統で作られている
[1:25:46] ごっすん: Unixシステムは値段が高い。だから、一般的なWebシステムは通常Linuxで作られる。昔から使用している基幹システムはUnixを使用していることも多い。金融とかは万一の不具合があったらいけないから。
[1:26:44] ごっすん: 動作実績のあるOSとそのソフトウェアを延々と流用するため。
[1:28:55] さとう: LinuxってGNUプロジェクトのものでしたっけ
[1:29:33] さとう: そこらへんが物凄く曖昧な記憶しかなくて、ずっとUNIX = Linuxだと思ってました
[2:01:55] ごっすん: Linuxという単語はOSとして呼ばれる場合と、カーネルで呼ばれる場合の2種類がある
[2:02:43] ごっすん: GNUのソフトウェアを組み合わせてパッケージにしたものをディストリビューションと言うが
[2:03:15] ごっすん: Linuxカーネルを使用している点では共通なのでLinuxOSという
[2:04:07] ごっすん: CentOSもRedhatもLinuxカーネルを使用しているから単にLinuxOSと区分される
[2:04:13] ごっすん: という場合もあるということだ
[2:05:06] ごっすん: で、BSD系とSystemV系は同じUnixでも全然違うから
[2:06:11] ごっすん: 通常、UnixはBSD系も含まれる
[2:06:38] ごっすん: だが、元々Unixを開発したのはベル研究所で
[2:07:07] ごっすん:ベル研究所の正統な流れを汲むUnixはSystemV系と言う
[2:11:26] ごっすん: これに対してカリフォルニア大学がベル研究所と共同で作ったUnixがBSD系
[2:12:35] ごっすん: BSDはベル研究所で作ったソースコードが含まれていたが後からそれを使用しない形で分離した
[2:13:29] ごっすん: だから、Unixには、SystemV系とBSD系が存在する

Unix系OSの系譜

Unix_history-simple

これを見ると、有名なMac OSXなんかもBSD系のUNIXに分類されるということが分かりますね。Macでアプリを開発をしているとNS-○○○○という名前のパッケージを見かけることがあると思いますが、これは前身であるNextStepの略であり、その名残であることが分かります。

表に載っていないWindowsについては、LinuxやUNIXとは全く関係がないところから作られています。
Windowsは、1985年11月に"Interface Manager"というコードネームで登場しました。初期のバージョンは独立したOSではなく、MS-DOS上で稼動するGUIを実現するアプリケーションでしかありませんでした。のちに、GUI環境で先行していた1984年登場のMac OSを追い越して世界のパーソナルコンピュータ市場でトップシェアとなり、2009年10月にはインターネット上で使用されているクライアントの市場シェアの約90%を得ます。また、組み込みシステムやスマートフォン、サーバ、スーパーコンピュータでもそれぞれの用途に最適化されたWindows系のOSが用意されているほか、ドリームキャストやXboxにもWindowsベースのOSが使われています。

Windowsファミリー系列

1920px-Windows_Updated_Family_Tree

まとめ

  • LinuxとUnixの名称は区別します。
  • Unixシステムは値段が高いので、一般的なWebシステムは通常Linuxで作られます。
  • 金融などの基幹システムは万が一の不具合があったらいけないので、動作実績のあるOSとそのソフトウェアを延々と流用するため、Unixシステムを使うことが多いです。
  • Unixは大きく、ベル研究所の正統な流れを汲むSystemV系と、カリフォルニア大学がベル研究所と共同で作ったBSD系の2つに大別されます。
  • カーネルとはOSコア部分のことであり、LinuxカーネルはUnixカーネルをオープンなライセンスで作ろうとしたところから始まっていて、最初に作られた頃からソースコードが全く別系統で作られています。
  • GNU(グヌー)とはオペレーティングシステムであり、かつコンピュータソフトウェアの広範囲に渡るコレクションです。GNUは完全にフリーソフトウェアから構成されています。
  • LinuxOSとGNUソフトウェアを組み合わせて、Linuxを一般利用者がインストールしたり、利用できる形にまとめ上げたもの(頒布形態)を、Linuxディストリビューションといいます。
  • CentOSは、Red Hat社がLinuxオープンソースライセンスに基づいて公開しているソースコードをもとに、Red Hat社の商標や商用パッケージ、独自ソフトウェア等を含まない形で再構成され作成されています。その作成には有志のボランティアが携わっています。そのため、CentOSという名称は「コミュニティで作成されたエンタープライズ用オペレーティングシステム(Community ENTerprice Operating System)」に由来しています。

以上

参考
先輩からの指導
Microsoft Windows - Wikipedia