\r\n\r\n
LinuxはUnixに触発されたものですが、LinuxはUnixに似ているとはいえ、Unixではありません。この2つの有名なOSの主な違いを説明します。
Linuxはフリーでオープンソースのオペレーティングシステムです。unixは多くのベンダーが提供する商用製品で、それぞれが独自のハードウェアに特化したバリエーションを持っています。高価であり、クローズドソースである。でも、LinuxとUnixは多かれ少なかれ同じようなことを同じようにやっているんでしょう?多かれ少なかれ、そうです。
微妙なところが少し複雑です。技術やアーキテクチャ以外にも、さまざまな違いがあります。UnixとLinuxに影響を与えるいくつかの要因を理解するためには、その背景を理解する必要があります。
Unixは50年以上の歴史があります。当時at&tが所有していたベル研究所の非公式プロジェクトとして、DEC PDP/7上のDEC(Digital Equipment Corporation)アセンブリ言語で開発されたものです。これは、C言語とコンパイラの性質上、Unixを新しいコンピュータ・アーキテクチャに移植することが比較的容易になったという意味で重要なことでした。
1973年、kenthompsonとdennisritchieはあるカンファレンスでUnixに関する論文を発表した。その結果、ベル社にはUnixのコピーを求める声が殺到した。OSの販売はAT&Tの許可するビジネスの範囲外であるため、Unixを商品として考えることはできなかったのだ。その結果、Unixはソースコードとして配布され、ライセンスされることになった。Unixは、テクニカルサポートもバグフィックスもない、「そのまま」の状態で提供されました。しかし、ソースコードを入手し、それを修正することは可能です。
Unixは学術機関で急速に普及しており、1975年、ケン・トンプソンはカリフォルニア大学バークレー校のベル校でサバティカル(研究休暇)をとっていた。大学院生数人とともに、Unixのネイティブコピーの追加や改良に着手した。バークレー・ソフトウェアへの関心が高まり、BSD(Berkeley Software Distribution)の最初のリリースにつながった。これは、既存のUnixシステムに追加できるプログラムとシステムの修正の集まりで、独立したオペレーティングシステムではなかった。BSDの後継はUnixシステム全体である。
現在では、AT&TストリームとBSDストリームの2つの主要なスタイルのUnixが存在します。他のすべてのUnixの変種(AIX、HP-UX、Oracle Solarisなど)はこれらの変種の子孫である。1984年にアメリカン・テレホン・アンド・テレグラフ(AT&T)の規制がいくつか解除され、彼らはUnixを製造、販売することができるようになった。
その後、Unixが製品化された。
Unixの商業化がコンピュータユーザーの自由をさらに侵食すると考えたrichardstallmanは、自由に基づいたオペレーティングシステムを作ることに着手しました。つまり、ソースコードを修正したり、修正したバージョンを再配布したり、ユーザーが考える方法でソフトウェアを使用する自由があることです。
このオペレーティングシステムは、Unixのソースコードを一切含まずに、Unixの機能を再現するものです。彼はオペレーティング・システムをGNUと名付け、1983年にオペレーティング・システムを開発するためにGNUプロジェクトを立ち上げました。1985年にはGNUプロジェクトを推進、資金提供、支援するためにフリーソフトウェアファウンデーションを設立しました。
GNUプロジェクトの開発者たちはgnuhurdと呼ばれるマイクロカーネルに取り組んでいますが、進捗はゆっくりです。(現在も開発中であり、近日中に公開予定)。カーネルがなければ、オペレーティングシステムは存在しない。
1987年、Andrew S. Tanebaumは、オペレーティングシステムの設計を学ぶ学生のための教材として、MINIX(miniunix)というオペレーティングシステムを発表しました。MINIXは機能的にはUnixライクですが、特にファイルシステムに関していくつかの制約がありました。結局、大学の1学期で十分にカバーできるようなソースコードにする必要があったのです。一部の機能を犠牲にしなければならなかったのです。
リーナス・トーバルズというコンピューターサイエンスの学生が、新しいコンピューターに搭載されたインテル80386の内部構造を理解するために、学習用として簡単なタスクスイッチングコードを書きました。やがて、このコードは基本的なプロトタイプカーネルとなり、これが最初のLinuxカーネルとなった。トーバルズ氏はMinixに精通していた。実際、彼の最初のカーネルは、リチャード・ストールマンのGCCコンパイラーを使ってMINIX上で開発されたものだ。
トーバルズは、MINIX用に設計されたシステムの限界を克服するために、独自のOSを作ることを決意**し、1991年にMINIX Usenetグループに対して、自分のプロジェクトに対するコメントと提案を求める有名な発言をした。
Linuxは真のUnixクローンではありません。もしLinuxがUnixのクローンだったら、それはUnixでしょう。そうではなく、Unixのようなものです。「クローン」という言葉は、元の細胞の小さな部分が新しい細胞に培養され、元の細胞の細胞ごとの複製を意味します。Linuxは、Unixの外観を持ち、同じニーズを満たすように作り直されています。クローンではなく、レプリカです。
しかし、いずれにせよ、Linuxはカーネルを探すオペレーティング・システムであり、GNUはカーネルを探すオペレーティング・システムなのです。今にして思えば、この後の展開は必然だったように思える。世界も変えてしまったのです。
関連: 大論争: それはLinuxかGNU/Linuxか?
Linuxディストリビューションは、多くの異なる場所からの多くの異なる部品の合計です。Linuxカーネル、コアユーティリティのGNUスイート、およびユーザーアプリケーションは、実行可能なディストリビューションを形成するために結合されています。カーネルやアプリケーション、コアユーティリティを開発する人がいるように、誰かがこれを行い、組み合わせ、維持、管理しなければならないのです。カーネル開発者のようなディストリビューションのメンテナや各ディストリビューションのコミュニティは、Linuxディストリビューションを盛り上げるためにそれぞれの役割を担っているのです。
Linux は、無報酬のボランティア、Canonical や Red Hat などの組織、そして産業界が支援する個人による分散型コラボレーションの結果です。
各商用Unixは、社内または厳密に管理された外注の開発設備を用いて、統一された実体として開発されています。通常、各ベンダーが提供するハードウェアプラットフォーム用に特別に設計された独自のカーネルを持っています。
FreeBSD、OpenBSD、DragonBSDなど、BSD Unixの流れを汲むフリーでオープンソースの派生製品は、レガシーBSDコードと新しいコードの組み合わせで使用されています。現在では、Linuxディストリビューションと同じように管理され、コミュニティによってサポートされているプロジェクトとなっています。
一般に、LinuxはSUS(Single Unix Specification)にもPOSIXにも準拠していない。むしろ、両方の規格に対応しようとしている。文字通り、POSIXに準拠した中国のLinuxであるInspur K-UXのような例外が1つや2つあるのです。
商用品と同様に、真のUnixは互換性があります。macOSの1バージョンを除くすべてのバージョンを含むいくつかのBSD派生製品は、POSIXに準拠しています。AIX、HP-UX、Solarisなどの異称は、それぞれの組織が所有する商標です。
Linux は、Linus Torvalds 氏の登録商標であり、その代理人として Linux Foundation が管理しています。Linux カーネルとコアユーティリティは、さまざまな GNU 「コピーレフト」一般公衆利用許諾の下で配布されています。ソースコードは自由に利用できます。
UnixはOpen Groupの登録商標であり、著作権で保護され、所有権があり、クローズドソースである。
FreeBSDはFreeBSDプロジェクトの著作権で保護されており、ソースコードも公開されています。
ユーザーエクスペリエンスの観点からは、コマンドラインとの大きな違いはあまりありません。POSIX標準と規制遵守のため、Unixで書かれたソフトウェアは、限られた移植作業だけでLinuxオペレーティングシステム用にコンパイルすることができます。例えば、シェルスクリプトは、多くの場合、ほとんど手を加えることなく、Linux上で直接使用することができます。
コマンドラインユーティリティの中には、コマンドラインオプションが若干異なるものもありますが、基本的には両プラットフォームで同じツールライブラリが利用可能です。実際、IBMのAIXには、LinuxアプリケーションのためのAIXツールボックスがある。これにより、システム管理者は何百ものGNUパッケージ(Bash、GCCなど)をインストールすることができます。
UnixのスタイルによってGUI(グラフィカル・ユーザー・インターフェース)は異なりますが、これはLinuxでも同じです。GNOME や Mate に慣れ親しんだ Linux ユーザーは、KDE や Xfce に初めて出会ったとき、自分なりの感覚を持つはずですが、すぐにそのコツをつかむことができます。Unixで利用できるMotif、public desktop environment、xwindows systemなどのguiに近いものである。これらはすべて非常によく似ており、ウィンドウ環境の概念(ダイアログ、メニュー、アイコンなど)を知っている人なら誰でも操作することができます。
これらの違いについては、システムを管理する際に詳しく知ることができます。例えば、初期化の仕組みが違います。systemv UnixとBSDストリームでは、派生バージョンに異なる初期化システムがあります。自由なBSDの変種はBSD initスキームを維持します。デフォルトでは、Linuxディストリビューションは、unixsystemvまたはsystemdから派生したinitシステムを使用します。
関連記事:Linuxのsystemdが何年経っても賛否両論なのはなぜ?
片方が運転できれば、もう片方も最初は多少止まっていても運転できる。
価格はさておき、哲学、ライセンス、開発モデル、コミュニティの組織、ガバナンスの種類とスタイルの違いは、コマンドラインフラグの違い(例えば、あるバージョンのgrepと別のバージョンのgrep)よりも大きく、重要なものである。
最大の違いは、画面に表示されるものではありません。