LinuxはUnixですか?


190

そのため、HP-UX、AIX、BSDなど、UNIXにはさまざまなバージョンがあります。Linuxは、Unixの実装ではなく、Unixクローンと見なされます。すべての「本物の」ユニックスはオリジナルの実際の子孫ですか?そうでない場合、LinuxとUnixの違いは何ですか?


回答:


224

それは、「Unix」と「Linux」の意味に依存します。

  • UNIXは、ある登録商標オープングループ。商標には波乱に富んだ歴史があり、Unixライクなシステムを指す「Unix」が広く使用されているために汎用化されていないことは完全には明らかではありません(以下を参照)。現在、Open Groupは、Single UNIX 認定に合格したシステムに商標の使用を許可しています。参照のUnixの言及は、インターネットを通じがある場合*があるのはなぜ?

  • Unixは、1969年にベル研究所で生まれたオペレーティングシステムです。さまざまな企業が、AIXHP-UXSolarisなど、この元のシステムから派生したコードを販売し、現在も販売しています。Unixからのオペレーティングシステムの進化も参照してください。

  • Unixライクなシステムは数多くあり、プログラマー、ユーザー、管理者に同様のインターフェースを提供します。最も古い実動システムはBerkeley Software Distributionです。これは、Unixベース(つまり、元の実装から派生したコードを含む)からUnixライク(つまり、同様のインターフェースを持つ)に徐々に進化しました。FreeBSDNetBSDOpenBSDMac OS Xなど、多くのBSDベースまたはBSD派生のオペレーティングシステムがあります。他の例には、OSF / 1(現在廃止され、商用Unixのような非Unixベースのシステム)が含まれます。ミニックス(元々は教育ツールとして使用されていたおもちゃのUnixライクなオペレーティングシステムでしたが、現在は実稼働環境に組み込まれたUnixライクなシステムです)、そして最も有名なLinuxです。


  • 厳密に言えば、LinuxはUnixのカーネルのように設計されたオペレーティングシステムカーネルです。

  • Linuxは、Linuxをカーネルとして使用するUnixライクなオペレーティングシステムの名前として最も一般的に使用されています。カーネル外のツールの多くはGNUプロジェクトの一部であるため、そのようなシステムはしばしばGNU / Linuxとして知られています。すべての主要なLinuxディストリビューションは、GNU / Linuxおよびその他のソフトウェアで構成されています。

  • 特に組み込みの世界では、多くのGNUツールを使用しないLinuxベースのUnixライクなシステムがありますが、GCC開発ツール、特にGCCを排除するものはないと思います。

  • Linuxをカーネルとして使用しているが、Unixに似ていないオペレーティングシステムがあります。最もよく知られているのはAndroidで、Unixのようなユーザーエクスペリエンス(Unixのようなコマンドラインをインストールできます)や管理者のエクスペリエンス、または(ほとんど)プログラマーのエクスペリエンス(「ネイティブ」のAndroidプログラムは、 Unixとはまったく異なります)。


70
そして、GNUが「GNUはNot Unix」の略であることを忘れないでください!
アレックス

57
「GnuはUnixではない」とは、GnuがUnixのオリジナルコードに基づいていないことを意味し、GnuがUnix仕様を実装したくないということではありません。rmsの引用:「無料のUnix!この感謝祭を始めて、GNU(Gnu's Not Unix)と呼ばれる完全なUnix互換ソフトウェアシステムを作成し、それを使用できるすべての人にfree(1)を渡します。」
-jlliagre

8
LinuxディストリビューションがUNIXとしての認定を取得したい場合、それほど変更する必要はなく、変更することもできます。しかし、私は、この時点でそれほど価値のないものにそのすべてのお金を払う人を聞いたことはありません。
ケビンCantu

6
@ケヴィン:カルデラ(現在は別の名前で知られています)は一度は取り組みましたが、彼らはずっと行きませんでした(彼らはアイデアを捨て、LSBを代わりにプッシュしたようです) Linux)。
ジル

4
@milkovskyいいえ。答えで説明したように、「Linux」という言葉には2つの意味があります。「AndroidはLinuxベース」は、1(カーネル)を意味します。「LinuxはUnixに似ています」は2(オペレーティングシステム)を意味します。
ジル

58

すべての意図と目的のために、典型的な最新のLinuxディストリビューション(Ubuntu、Debian、Red Hat、Fedora、Slackwareなど)はUnixですが、厳密に言えば、システムは認定されていなければUnixであると主張することはできません。 Unixライク。Unixに触発され、その文化を継承しています。

これは、BSDシステムにも適用されます。

Mac OS XはUnixの認定を受けているため、名前も実際にもUni​​xです。(そして、それは実際にはBSDに基づいています)。

Linux自体は単なるカーネルであるため、Unix以外のシステム(Androidなど)の構築に使用できることに注意してください。


1
注:Mac OS Xカーネルは、BSDカーネルに基づいていません。ユーザーモードの部分はFreeBSDに基づいており、私の知る限りではNetBSDの部分に基づいています。
0xC0000022L

2
今日のカーネルはBSDカーネルとはかなり異なるかもしれませんが、当初は(少なくとも部分的に)それに基づいていたと思います。
11

3
FreeBSDはATT Unixの直接の子孫であり、かつてATT Unixコードが含まれていたことに注意する必要があります。Unixに「触発された」だけではありません。
ロブ

2
@ 0xC0000022Lそして、私たちはさらに進んでいきます。「Machの初期バージョンは、カーネルにBSDのコードの多くを含むモノリシックカーネルを備えていました。Mach3.0は最初のマイクロカーネル実装でした。」私に関しては、osxbook.com / book / bonus / ancient / whatismacosx / arch_xnu.htmlは非常に信頼できるソースです。
poige

2
結論として、「BSDが担当するいくつかの側面には、プロセスモデルのユーザーID、権限、基本的なセキュリティポリシーPOSIX API、BSDスタイルのシステムコールTCP / IPスタック、BSDソケット、ファイアウォールVFSおよびファイルシステムが含まれます(Mac OS X詳細)System V IPC暗号化フレームワークのさまざまな同期メカニズム」。私に関しては、これはBSDに基づいていると言うのに十分です。事実に直面する。
poige

23

Linuxはより「Unixに似ている」ため、単純にクローンと呼ぶことができます。BSDについても同じことが言えます(ただし、BSDはLinuxよりもUnixに近いと考えられますが)。

LinuxにUnixライクなタイトルを与える主なものは、それがほぼ完全に準拠しているという事実です。POSIX(Portable Operating System Interface [for Unix])標準は、時間の経過とともに構築されてきました。

もう1つの重要なことは、Wikipediaで実証されているように、コード継承などです。Linuxは実際にはUnixのソースに由来するものではなく、ほとんどゼロから構築されます(ただし、これは論争です)。

したがって、本質的に、UnixをLinuxから分離する主なものは、祖先とそれが満たす標準です。


1
考慮すべき単一のUnix仕様もあります。
デニスウィリアムソン

BSDはLinuxよりもUnixに近いと断言できます。BSDのより自由なライセンスとAT&T UNIXとの緊密な開発により、多くのBSDソースコードとそのAPIが商用Unixで使用されています。Solarisおよびその他の商用UNIXのUFSファイルシステムは、BSDから直接来ました。また、Linuxを含むすべてで使用されるBerkely Sockets API(必ずしもソースではない)はBSDで開発されました。
ペンギン359

3
SCO全体とIBMの混乱の後、Linuxカーネルに Unixコードがまったく含まれていないことが明らかになりました。
フォンブランド

11

選ばれた答えはそれを非常に徹底的に説明しますが、UNIXの初期開発とLinuxがどのように発展したかの間のすべての詳細を知るためにドキュメンタリー全体を見る必要があります。

まず、Linuxはカーネルであり、linusや他のプログラマーによって作成されたものであると考えなければなりません。彼はそれをGPLでリリースすることを選択しました。GPLは、FSF(RMSおよび他の人々)によって作成されたライセンスでしたが、FSFも独自のカーネルとGNUを開発していました。

私たちが通常Linuxと呼ぶものは、最初はカーネルと、元々GNUプロジェクトから来た他のすべてのツールです。これらの2つのプロジェクトは歴史的に異なります。当時、FSFの人々のカーネルはLinuxカーネルを支持するために放棄され、はるかに優れていたからです。

ドキュメンタリーがあったことを覚えています、あなたは本当にそれを見なければなりません、私はそれがあなたのプログラミング文化にとって重要だと思います。

「* nix」について考えるときに考慮しなければならないもう1つのことは、POSIXやその他のアーキテクチャ標準化されたものを含むすべてのことです。OSの設計/研究の対象ですが、関与するOSの動作を正確に定義し、カーネルがそのツールで適切に動作している場合に重要です。


実際、POSIXは、言及されたSUS(Single Unix Specification)と呼ばれるようになりました。
0xC0000022L

1
@STATUS POSIXはSUSv2の基盤でした。オースティングループは、POSIXを作成したIEEEと、UNIX商標およびUNIX仕様を所有するThe Open Groupとの共同作業グループとして後に設立されました。彼らはSUSv3としても知られるPOSIX:2001をリリースしました。私が知る限り、それらは同じものです。POSIXは、SUSv4の中核であるPOSIX:2004およびPOSIX:2008を使用してまだ開発中です。POSIXはまだ死んでいるとは思わない。 en.wikipedia.org/wiki/Single_UNIX_Specification
penguin359

SUSはPOSIXであり、いくつか追加されていることを理解しています。
フォンブランド

そのドキュメンタリーへのリンク?
エドワードトーバルズ

edward torvalds申し訳ありませんが、タイトルを思い出せません。主にRMSを取り上げており、古いドキュメントのように見えました。
jokoon

6

すばらしい答えはすでにたくさんありますが、偉大なデニス・リッチー(Unixの共同創作者)の意見は、他のより技術的な答えを補完する興味深いものになると思いました。

Dennis RitchieはLinuxを合法的なUnix派生物だと考えていたようです。でLinuxFocus.org 1999インタビュー、彼は尋ねられました、

Linuxのすべての勢いについてのあなたの意見、およびそのためのソフトウェアの開発を開始するという多くの企業の決定についてどう思いますか?

質問に対する彼の応答は

Linuxの現象は、Unixが提供する基盤に非常に強く基づいているため、非常に楽しいと思います。Linuxは、Unixの直接派生物の中で最も健全なもののようです。ただし、さまざまなBSDシステムや、ワークステーションおよびメインフレームメーカーからのより公式な製品もあります。もちろん、Unixから派生した「フリーソース」の世界は、商業世界で発生し、現在も発生しているのとまったく同じ種類の断片化と紛争に苦しんでいるようです。


1

歴史的に、Linus TorvaldsはMinix OSの改良されたクローンを作成しました。Linuxの開発は特定のプラットフォームと顧客ベースに焦点を合わせておらず、Linux開発者はさまざまな経験と視点を持っています。HP-UX、AIX、SolarisなどのOSは、ベンダー向けに大幅に強化されています。

Linuxコミュニティには、ツールや環境の厳密な標準セットはありません。この標準化の欠如は、Linux内で大きな不整合をもたらします。一部の開発者にとっては、他のオペレーティングシステムの最高の成果を使用できることはプラスですが、たとえばLinux内のデバイス名をAIXから取得できる場合、Linux上のUNIX要素をコピーすることは必ずしも便利ではありません。ファイルシステムの操作はHP-UXに焦点を当てています。この種の非互換性は、異なるLinuxディストリビューション間でも見られます。


0

Unix、元はUNICS(ユニプレックス化された情報およびコンピューティングサービス)。

Unix(UNIXとして商標登録)は、元のAT&T Unixから派生したマルチタスク、マルチユーザーコンピューターオペレーティングシステムのファミリです。開発は1969年に開始され、1973年10月にベルabs以外で発表されました。

カリフォルニア大学バークレー校(BSD)、マイクロソフト(Xenix)、IBM(AIX)、サンマイクロシステムズ(Solaris)などのベンダーが提供するさまざまなUnixのアカデミック版と商用版の両方。

  • BSDはBの erkeley Sの oftwareのDの istribution)リリースは、例えば、FreeBSDの、OpenBSDの、NetBSDの、ダーウィン、及びTrueOSを進行中であるいくつかのオープンソース開発プロジェクトのための基礎を提供しました。
  • Xenixは、さまざまなマイクロコンピュータプラットフォーム用のUnixオペレーティングシステムの廃止バージョンであり、Microsoftによってライセンスされています。
  • AIX(A dvanced I nteractive E X ecutive)を開発し、そのコンピュータプラットフォームのいくつかのためにIBMから販売されています。

Linuxは、Linuxカーネルを中心に構築されたフリーでオープンソースのソフトウェアオペレーティングシステムのファミリです。Linuxの定義コンポーネントは、1991年9月17日にLinus Torvaldsによって最初にリリースされたオペレーティングシステムカーネルであるLinuxカーネルです。

Linuxは、デスクトップとサーバーの両方の使用のために、Linuxディストリビューション(または略してディストリビューション)と呼ばれる形式でパッケージ化されています。最も人気のある主流のLinuxディストリビューションには、Arch Linux、CentOS、Debian、Fedora、Gentoo Linux、Linux Mint、Mageia、openSUSE、Ubuntu、およびRed Hat Enterprise Linuxなどの商用ディストリビューションがあります

シェルとも呼ばれるユーザーインターフェイスは、コマンドラインインターフェイス(CLI)、グラフィカルユーザーインターフェイス(GUI)、または組み込みシステムに共通の関連ハードウェアに接続されたコントロールを使用します。デスクトップシステムの場合、デフォルトモードは通常グラフィカルユーザーインターフェースですが、CLIは一般的にターミナルエミュレーターウィンドウまたは別の仮想コンソールで使用できます。

  • CLIシェルはテキストベースのユーザーインターフェイスであり、入力と出力の両方にテキストを使用します。Linuxで使用される主要なシェルは、もともとGNUプロジェクト用に開発されたBourne-Again Shell(bash)です。
  • GUIシェルは、K Desktop Environment(KDE)、GNOME、MATE、Cinnamon、Unity、LXDE、Pantheon、およびXfceですが、さまざまな追加のユーザーインターフェイスが存在します。最も一般的なユーザーインターフェイスは、多くの場合「X」と呼ばれるX Window Systemに基づいています。

GNUはオペレーティングシステムであり、コンピューターソフトウェアの広範なコレクションです。GNUは完全にフリーソフトウェアで構成されており、そのほとんどはGNUプロジェクトのGPLの下でライセンスされています。GNUは、「GNU's Not Unix!」の再帰的な頭字語です。GNUの設計はUnixに似ていますが、フリーソフトウェアであり、Unixコードを含まないという点でUnixと異なります。GNUオペレーティングシステムの開発は、1983年にマサチューセッツ工科大学(MIT)人工知能研究所で働いていたリチャードストールマンによって開始されました。

基本コンポーネントには、GNU Compiler Collection(GCC)、GNU Cライブラリ(glibc)、およびGNU Core Utilities(coreutils)が含まれますが、GNU Debugger(GDB)、GNU Binary Utilities(binutils)、GNU Bashシェル、およびGNOMEも含まれます。デスクトップ環境。


-7

Linuxは、Linus Torvaldsおよび他の数千人によって開発されたUnixライクなオペレーティングシステムです。
BSDは、法律上の理由からUnixライクと呼ばれる必要があるUNIXオペレーティングシステムです。
OS Xは、Apple Inc.が開発したグラフィカルなUNIXオペレーティングシステムです。

Linuxは、「本物の」Unix OSの最も顕著な例です。それは何でも動作し、BSDやOS Xよりもはるかに多くのハードウェアをサポートしています。BSDとLinuxを比較していたときに見つけた興味深い引用:

Linuxは、多くのPCハッカーが座ってPC用のUnixシステムを作成しようとするときに得られるものです。BSDは、多くのUNIXハッカーが座ってUnixシステムをPCに移植しようとするときに得られるものです。

BSDは、LinuxよりもUnix OSに似ています。また、注目すべきは、AppleがBSDおよびLinuxコンポーネントを利用していることです。Appleは、iOSおよびOS XプラットフォームでDebianおよびUbuntuのAPTを使用しています。そして、それはBSDに基づいています。(ただし、カーネルはDarwinです。これは独自のカーネルです。カモノハシのBeastieは、BSDのBeastieとPlatypusが混在しているため、Darwinのマスコットです。)

「本物の」Unixオペレーティングシステム(すべてで実行され、多くのハードウェアをサポートするシステム)が必要な場合は、Linuxを試してください。
ローエンドのハードウェアのサポートと頭痛がしたい場合(私は多くの憎しみを感じることは知っていますが、気にしません)、BSDを使用してください。
1000ドル以上を使いたい場合は、OS XとiOSを使用してください。(繰り返しますが、私はおそらく多くの憎しみを得るでしょう。)

私は長年のLinuxユーザーで、90年代から2000年代初頭に何度も使用してからしばらく使用をやめましたが、2012年中頃に再び恒久的なOSとして使用し始めたので、 Windoze以外のものを試してみてください。


4
Linuxは最近Wayland / systemd / etcで変化しているため、Unixライクなシステムから独自のエンティティになることからますます削除されています。これらの実際のシステムがLinuxに対して「気にしない」態度をとるまで、真のUnixおよびUnixライクなシステムとの互換性を低下させています。あなたの「推奨事項」はベースから外れており、あなたが15年間このようなものに触れていないことに同意します。
ロブ

11
LinuxはOSではなく、カーネルです。
マーティンシュレーダー2013年

3
AppleはDebianのAPTを使用していません。これには、APT(Javaの注釈処理ツール)という名前の完全に異なるツールが含まれています。また、脱獄コミュニティは、Appleの意志に反してiOSソフトウェアをインストールするためのパッケージマネージャーとしてAPTを使用しています。
アバーナート14

4
実際、この答えのほとんどすべての記述は間違っています。「多くのシステムで実行== Unix」はばかげています。Appleは、iOSを実行する1000ドル以上のシステムをリリースしたことはありません。BSDは、単一のOSではなく、UnixおよびUnixライクなシステムのファミリーです。Linuxは、Unixのようなユーザーランド(GNUのような)、単純化されたUnixのようなユーザーランド(eLinuxやAndroidのような)、または他のものと組み合わせることができるカーネルです。等々。
アバーナート14
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.