web-dev-qa-db-ja.com

LinuxはUnixですか?

したがって、HP-UX、AIX、BSDなど、さまざまなバージョンのUnixが世の中に出回っています。Linuxは、Unixの実装ではなく、Unixクローンと見なされます。すべての「実際の」Unicesはオリジナルの子孫ですか?そうでない場合、LinuxとUnixの違いは何ですか?

194
Shawn J. Goff

それは、「Unix」と「Linux」の意味によって異なります。

  • [〜#〜] unix [〜#〜]登録商標The Open Group です。商標には波乱の歴史があり、Unixライクなシステムを指す「Unix」が広く使用されているため、一般化されていないことは完全には明らかではありません(以下を参照)。現在、Open Groupは Single UNIXcertification を通過するすべてのシステムに商標の使用を許可しています。参照 インターネットにUnixの言及があるのに、なぜ*があるのですか?

  • nix は、1969年に Bell Labs で誕生したオペレーティングシステムです。この元のシステムから派生したコードを販売し、現在も販売しているさまざまな会社。例 [〜#〜] aix [〜#〜]HP-UXSolarisNIXからのオペレーティングシステムの進化 も参照してください。

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


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

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

  • 特に組み込みの世界では、多くのGNUツールを使用しないLinuxベースのUnixライクなシステムがありますが、GNU開発ツール、特に [〜#〜] gcc [〜#〜]

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

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

これはBSDシステムにも当てはまります。

Mac OS XはUnixの認定を受けているので、名前と確かにUnixです。 (そしてそれは実際にはBSDに基づいています)。

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

60
hasen

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

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

もう1つの重要な点は、 コードの継承などです 。ウィキペディアで示されているように、Linuxは実際にはUnixソースからのものではなく、かなり多く構築されていますゼロから(ただし、これには異議があります)。

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

23
N J

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

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

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

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

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

11
jokoon

すばらしい答えはたくさんありますが、すばらしい Dennis Ritchie (Unixの共同作成者)の見方は、他のより技術的な答えを補完する興味深いものになると思いました。

Dennis RitchieはLinuxを正当なUnix派生物であると考えていたようです。 1999年LinuxFocus.orgのインタビュー で、彼は尋ねられました、

すべてのLinuxの勢いについてあなたの意見は何ですか、そして多くの企業がそのためのソフトウェアの開発を開始することを決定しましたか?

質問に対する彼の応答は

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

6

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

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

1
Quarind

Unix、もともとはUNICS(UNiplexed Infomation and Computing Service)。

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

カリフォルニア大学バークレー校(BSD)、マイクロソフト(Xenix)、IBM(AIX)、サンマイクロシステムズ(Solaris)などのベンダーによるUnixの学術的および商用のさまざまなバリアント。

  • [〜#〜] bsd [〜#〜][〜#〜] b [〜#〜]erkeley[〜#〜] s [〜#〜]ソフトウェア[〜#〜] d [〜#〜]istribution)リリースは、FreeBSD、OpenBSD、NetBSD、Darwin、TrueOSなど、進行中のいくつかのオープンソース開発プロジェクトの基礎を提供しました。
  • Xenixは、Microsoftからライセンスされた、さまざまなマイクロコンピュータプラットフォーム用のUnixオペレーティングシステムの廃止バージョンです。
  • AIX([〜#〜] a [〜#〜]高度[〜#〜] i [〜# 〜]nteractive e[〜#〜] x [〜#〜]ecutive)用にIBMが開発および販売そのコンピュータプラットフォームのいくつか。

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

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

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

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

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

基本コンポーネントには、GNUコンパイラコレクション(GCC)、GNU Cライブラリ(glibc)、およびGNUコアユーティリティ(coreutils)、GNU Debugger(GDB)、GNU Binary Utilities(binutils)、GNU BashシェルとGNOMEデスクトップ環境。

0
Premraj