Unix、Linux、Ubuntu、およびDebianの関係は何ですか?
WindowsがDOSをベースにしているのと同じように、それらはすべてお互いに基づいているオペレーティングシステムだと思います。私の疑いは正しいですか?これらのオペレーティングシステムは、WindowsがDOSと同じタイプの関係を持っていますか?それらはDOSやWindowsと何らかの関係がありますか?
UNIXは、1969年から開発されたオペレーティングシステムです。もともとはアプリケーションプラットフォームではなく開発ステーションとして設計されていましたが、開発が進みさまざまなベンダが関与するにつれて、Unixが追加されました。
Unixは当初Assemblyで書かれていましたが、その後Cに発展しました。
他のものとの関係では、LinuxカーネルはUnixライクです。
LinuxはUnix風のカーネルです。それは最初1990年代を通してLinus Torvaldsによって開発されました。このカーネルは、Free Software Movementによる初期のソフトウェアリリースで、新しいオペレーティングシステムをコンパイルするために使用されていました。カーネルはシステムリソースを管理し、それらをアプリケーションに割り当てます。
そのリリースの多くが 'Linux'と呼ばれているにもかかわらず、これはテキストエディタ、コンパイラ、デバッガなどと共にオペレーティングシステムを構成する特定の側面であり、それ自体ではオペレーティングシステムではありません。
Debianは1990年代初頭にリリースされたこのオペレーティングシステムの形式の1つであり、今日入手可能なLinuxの多くのバージョンの中で最も人気のあるものの1つです。
Ubuntuは2004年にリリースされたもう一つのオペレーティングシステムで、Debianオペレーティングシステムに基づいています。端末を使わなくても簡単に習得できるのでとても人気があります。
読み方: Linuxカーネル
読んでいる Debian
読み方 Ubuntu
読み方: Unix
あなたが本当にこれらすべての背後にある歴史を学ぶことに興味があるなら、私はこのフリーソフトウェア運動の発展の背後にある歴史の多くに入るRevolution OSと呼ばれる映画をお勧めします。
もう1つ知っておくべきことがあります:GNU。
GNUは "GNU's Not Unix"の略で、Free Software Foundationによって開発された無料の独立バージョンのUnixを作成する試みです。
彼らは非常に遠くへ行った、彼らはCコンパイラ、Cライブラリ、リンカ、エディタ、シェル、あなたが典型的なUnixシェルで期待するすべてのコマンド、たくさんのものを作った。しかし、カーネル( "Hurd"と呼ばれる)は完成していません。カーネルの外側にあるもの(ユーザーが所有するプロセスとして実行されているもの)をまとめて「ユーザーランド」と呼びます。
Linus Torvaldsが彼のLinuxカーネルを作成したとき、彼はユーザーランドを作成しませんでした。彼はただカーネルを持っていました、それは完全なシステムでもありませんでした。彼のカーネルをコンパイルしてGNUユーザランドの中で使うことは可能であることがわかった(これはおそらく自明ではなかったが、私はそこにいなかったし、知らない)。
通常 "Linux"と呼ばれるOSの人々は、実際にはGNUユーザランドを持つLinuxカーネルとして始まりました。それ以来、他にもたくさんのものが追加されました。その結果、Free Software FoundationはそれをGNU/Linuxと呼ぶべきだと主張してきました。
DebianはLinuxの「ディストリビューション」です。彼らはあなたがLinuxシステム全体を作るためにあなたが必要としたすべての様々なツールをコンパイルするすべての大変な仕事をし、それらをコンパイルし、そしてフロッピーの束としてダウンロードのためにそれらを提供した。あとでCD。他のものも同じでした。 Slackware、Red Hatなど。
最初からではなく、既存のディストリビューションを出発点として追加のソフトウェアを追加したり、別の方法で編成したりするなどして、他の多くのディストリビューションが後で作成されました。 UbuntuはこのようにDebianに基づいていました。
" Unix "はもともと1970年代にBell Labsで開発された、PDP-11用のオペレーティングシステムの名前でした。その設計は非常に影響力があり、それは何十回もコピーされ再実装されました。
今日では、 "Unix"はオペレーティングシステムのファミリー全体を表す包括的な用語であり、そのすべてがその元のOSから直接由来するものではありません。主要なシステムプログラミングインタフェースが POSIX.1 API仕様と互換性があるものはすべて、合法的にUnixの実装と呼ぶことができます - そしてそれらの数十もあります。現在まだ広く使用されているオペレーティングシステムのうち、Unixの実装ではないものをリストする方が簡単です。
(を超えてUnixデザインを動かそうとしている実験的な研究プロトタイプの束もありますが、あいにく「広く使用されている」とはみなされません。)
" Linux "は、Unixの実装の一般名です。これは1990年代以降に出回っており、現在最も一般的に使用されている上位5つの実装のうちの1つです。
Linuxは、カーネル、Cライブラリ、コンパイラ、「シェル」ユーティリティの基本的なセットなどがすべて異なる人々のグループによって開発されているという点で珍しいです。さらに、これらの作品のほとんどには複数の選択肢があります。誰かがピースのセットを選び、それらをまとめて、それらが組み合わせて正しく動作することを確認する必要があります。誰か(通常は人々の集まりです)は伝統的にLinuxのdistributionと呼ばれ、その出力はdistributionです。。 Debian と Ubuntu はLinuxのディストリビューションです。それらは非常に密接に関連していましたが、それ以来かなり発散しました。
(技術的には、Linuxという名前は特にカーネルを指しています。そのカーネルを使用しない場合は、オペレーティングシステムをLinuxと呼ぶのはちょっと変ですが、are人々は他のすべてを維持し、カーネルを交換しています、例えば Debian kFreeBSD 。
(ペダントのための脚注:この記事の細かい区別についてのすべての説明は100%意図的なものです。)
UNIXとLinuxはDOSやWindowsとは関係ありません。
DOSは、70年代後半/ 80年代初頭に普及した8ビットCP/Mオペレーティングシステムの後継製品でした。
Windows NT(XP、Vista、7、および8が基づいている)は1993年からMicrosoftによって新しく開発され、VAX VMSから多くの概念とアイデアを借用しています。 Windows NTは、「本物の」現代のプリエンプティブなマルチユーザー、マルチタスクの安全なオペレーティングシステムとして開発されました。
Windows 3.1、95、98、およびMEは、Microsoftのマルチタスク(マルチユーザー、またはセキュアではない)のDOSのほとんどの考え/実行でした。
UNIX、Linuxなどに関して:
UNIXは70年代から存在し続けてきたカーネル/ API /オペレーティングシステムです。
カーネルは、実行するプログラムのプラットフォームを提供します。Unixの場合は、単一のコンピュータ上で複数のプログラムを実行し、それに複数のユーザーがアクセスすることを可能にします。カーネルはそれ自身ではプログラムを実行しません。これらは別々に開発され提供される必要があります。
APIはプログラムがカーネルと通信するための標準的な方法です。これはカーネルの一部です。
オペレーティングシステムは、システムを管理および管理するためのカーネルと一般的なユーティリティプログラムです。 UNIX用の一般的なユーティリティプログラムには、サービスとログインを管理する基本プログラム(init
)、コマンドを入力できるシェル(sh
、bash
)、および基本ファイル管理コマンド(cp
、ls
、mv
など)があります。
LinuxはGPLの下でリリースされたUNIX系のカーネルで、最初はPCハードウェアで動作していましたが、現在はCPUを搭載したほとんどすべてのもので動作します(実行可能であれば)。
GPLは、Linuxを修正/強化し、その修正を公開した人は誰でもそれらの修正を公に利用可能にし、他の人が同じことができるようにすることを要求されるライセンスです。
LinuxはUNIX APIを実装しているので、UNIXプログラムは再計算すれば一般に変更なしで実行できます(これは一から書き直すよりはるかに簡単です)。UNIXAPIを使用するため、実際にLinuxまたはUNIXと通信しても構いません。 APIが同じことをしている限り、または何か他のもの。
DebianはLinuxディストリビューションです。 1993年に始まり、最も古いディストリビューションの1つです。 Linuxディストリビューションは一般的に以下を提供します。
.deb
を使用します)パッケージのリポジトリ
つまり、ディストリビューションをインストールして、基本的なLinux環境を起動して実行してから、ソフトウェアが必要なときにパッケージマネージャーを使ってディストリビューションのリポジトリからパッケージを呼び出すことができます。 Windowsとは異なり、従来のソフトウェアはCDで配布されてきましたが、バージョンとアップデートの間に何年もかかります。リポジトリ内のソフトウェアは通常頻繁に更新され、パッケージマネージャは更新のダウンロードと適用を処理します。
Debianはまた、オープンソースソフトウェアのみをリリースすることにも厳密に取り組んでいます。つまり、最新のビデオカードやWi-Fiチップセットのように独自のソフトウェアを実行する必要があるものは、そのままではDebianでは最適に機能しません。
UbuntuはDebianの「フォーク」です
Debianは他の人がそのパッケージ管理ツールを使ってそれに基づいてディストリビューションを作成することを可能にします。これを行うことは「分岐」と呼ばれます。
Ubuntuの特定のブランド化と外観に加えて、Ubuntuは、より多くの新しいソフトウェアを含むUbuntu固有の追加のリポジトリを追加します。 UbuntuはDebianよりも "最先端"です - それは技術的でない、あるいはUNIXを専門としていないという観点からより親しみやすく便利になるように作られました。それはすべて、箱から出してすぐに使える新機能とハードウェアについてです。
Debianで動作するほとんどのソフトウェアはUbuntuでも動作します。 Debianのソフトウェアは一般的に古いので、他の方法は少し問題があるかもしれません。 Ubuntu関連のものを実行するために更新が必要な基本コンポーネントに遭遇するかもしれませんが、Debianリポジトリには新しいバージョンがないため更新できません。これらは手動で更新できますが、その場合は他のコンポーネントを更新する必要があるかもしれません。
Debianは最近よりもずっと友好的で現代的なハードウェアを知っていることに注意してください。
Unix =商用オペレーティングシステムの仕様
Linux =無料のUnixクローン(カーネルのみ)
Debian = Linuxディストリビューション(Linux +その他)
Ubuntu = Debianが再配布されました(Debianはエンドユーザーに優しいものになりました)
"Unix"は1960年代の "Multics"という名前のオペレーティングシステムに触発されたオペレーティングシステムの商標です。 「Unix」はそれがMulticsのようであることを示唆することを意図した言葉遊びでしたが、それほど複雑ではありませんでした。 (個人的なメモ:1980年代後半に、私は商用化されたMulticsの子孫であるUnixではなかった。 UNIXの開発は1969年にDEC PDP-7で始まり、1970年にPDP-11に移行しました。1972年に、Cで書き直されました。それまではアセンブリ言語で書かれていました。 (DECアセンブリ言語は比較的プログラマーに優しいものでしたが、それでもアセンブリ言語でした。)1979年にリリースされた「バージョン7」として知られていたものを通して、ベル研究所の研究プロジェクトの大部分を占めました。
その過程で、1977年頃、 "BSD"(Berkeley Software Distribution)という代替ブランチが開発されました。 AT&Tは、1982年に商用版「System III」、1983年に「System V」のライセンスを供与しました。その後、AT&TとBerkeleyの間で多数の法的争いが発生し、訴訟が解決されるまでの間、両方が怪我をしました。
System VとBSDをめぐっての戦いに部分的に応えて、2つの新しいプロジェクトが始まりました:Minix(Andrew Tanenbaumによる、既存のUnixファミリカーネルの重要な機能をマイクロカーネル設計で再現した)とGNU project(これは既存のUnixの重要なカーネル以外の部分の大部分を複製したもの)、System VとBSDの間の法的な問題を回避するまったく新しいコード。標準化の取り組みは、2つの主要なブランチ間の違いを解決しようとしました。主な結果はPOSIXでした。
1991年 - Minix、古いUNIXのブランチ、そしてGNUカーネルの進歩がないことに触発されて、Linus TorvaldsはLinuxを作成しました。それはすべて新しいコードでもあり、Minixタイプのマイクロカーネルではなく、古いUnixタイプのカーネルに戻りました。
1997年に、AppleはBSDベースのNeXTSTEPを引き継ぎ、そして最終的にそれを新しいMacオペレーティングシステムに発展させ、そしてそれを他のAppleデバイスに適応させた。
Linuxにはさまざまなディストリビューションがあります。これらはLinuxカーネルと各種ユーティリティを含むパッケージです。 DebianはLinuxの1つのディストリビューションであり、それはディストリビューションのファミリーに分岐しました。 UbuntuはDebianファミリーの一部であるディストリビューションであり、それは今度はディストリビューションのファミリーに分岐しました。
WindowsとDOSの歴史は大きく異なります。 1963年頃、DECはPDP-6を構築しました。これにはMonitorという名前のオペレーティングシステムがありました。彼らがPDP-10を作ったとき、彼らはオペレーティングシステムを「TOPS-10」と名付けました。 Gary Kildallは、Intel 8080ファミリコンピュータ用のオペレーティングシステムを作成し、「CP/M」という名前を付けました。 TOPS-10に触発されました。 CP/M-86はCPの続編であるため、CP/Mは、Tim Patersonによって8086ファミリーマシン用に書かれた(Microsoftの "Standalone Disk BASIC-86" 8ビットFATファイルシステムを使用) "86-DOS"に影響を与えました。/M、遅れました。
IBMは、最初の8088マシンにCP/M-86のライセンスを供与したいと考えていましたが、契約に問題がありました。 IBMは86-DOSについて聞いたことがあり、Microsoftにそれを入手するように依頼しました。マイクロソフトはそれをライセンスし(そして後にそれを購入し)、そしてそれを "PC-DOS"としてIBMにライセンス供与し、そして "MS-DOS"として他の人にライセンス供与した。
しばらくして、Visi On(Xerox Star、AppleのLisaとMacintoshのインスピレーションとしてよく知られている)に触発されて、MicrosoftはMS-DOSのアドオンとしてWindowsを開発しました。初期のバージョンはあまり成功していませんでしたが、結局Windows 3.0は商業的成功のために十分に良かったです。それ以降のいくつかのバージョン(3.1、3.11、95、98、およびME)はすべてDOS上で実行されましたが、MicrosoftはDOSがWindows上で進歩を遅らせていると認識していました。終わり近くでは、Windowsのそのブランチの多くは32ビットでしたが、それでも16ビットDOSに依存していました。
DOSの制限を回避するために、マイクロソフトはOS/2でIBMと協力しました。これは、「DOSよりDOSが良く、WindowsよりWindowsが良い」という意味でした。初期バージョンはそれほど良くありませんでしたが、結局IBMとMicrosoftは共同開発を終了しました。 IBMはそれを引き継ぎ、結局かなり良いOS/2を作ってしまいました。
一方、DECはPDP-11ラインに代わるVAXシリーズのコンピュータと、それを実行するVMSオペレーティングシステムを開発しました。 TOPS-10オペレーティングシステムと歴史を共有しましたが、それらは相互に互換性がありませんでした。
OS/2に問題がある可能性を避けて、Microsoftは一から32ビットの新しいWindowsを構築するために、一流のVMS開発者(および一部のマイクロカーネル研究者)を雇った。深く、それはVMSの最高の機能のマイクロカーネル適応に似ていました。上に、それはWindowsのように見えました。 32ビットWindowsの最初のリリースは "Windows NT 3.1"、続いてWindows NT 3.5、3.51、4.0、そしてWindows 2000( "NT"なし)、XP(最初の64ビット)です。 Windows)、Vista、7、8、および8.1。
これらのほとんど関係のない開発パスを結びつける興味深いスレッドの1つがDECです。初期のUNIXの歴史の多くはDEC、PDP-7、PDP-11、およびVAXに関連していました。 DEC PDP-6とPDP-10はDOSの先史時代に影響を与えました。そしてDECのVAX-VMSチームのベテランがWindows NTファミリーの中核を築きました。
私は彼らがすべてのオペレーティングシステムであると思う
それらはすべてオペレーティングシステムです。今日Unixは商標であり、オペレーティングシステムではありません。
それはお互いに基づいているかもしれません
どういうわけかこれは本当です。後者のグループは、本質的にUnixから来た多くのアイデアの再実装に基づいていました。 LinuxにはUnixコードはありませんでした(これは最終的に失敗する長期の訴訟の主題でしたが)。
windowsがDOSに基づいているのと似ています。
私は、Windows 8にはPC-DOSコードがないと思いますが、互換性のためでさえないかもしれません。 DOSからWindows 8への明らかな進歩があります。これは、UnixとLinuxには当てはまりません。
これは同じ種類の関係ですか?
実際には、UnixとLinuxの所有権と開発は明らかに別です。
Linuxは、当初Linus Torvaldsによって完全に開発されたオペレーティングシステムカーネルです。それはUnixに少し似ていることを意図し、Unixから多くのアイデアを引き出しました。 Torvaldsは、Unixコードをベースにしていませんでした。
使用可能なオペレーティングシステムを作るために、あなたは特にLinuxカーネルにFSFによって独自に開発された "GNU"ツールのセットを追加します。また、今日ではいくつかの競合するサブシステム(GnomeやKDEデスクトップマネージャなど)のうちの1つ以上を追加しています。これらはそれぞれ「配布」と呼ばれます。
このようなディストリビューションは多数あり、それぞれ独自の機能選択があります。
いくつかのディストリビューションは本質的に他のディストリビューションの修正版です。通常、1つの配布はアップストリーム配布と呼ばれます。ダウンストリームディストリビューションのリリースは、アップストリームディストリビューションの新しいリリースに大きく依存します。
UbuntuはDebianのダウンストリームディストリビューションです。 Ubuntuが多くの価値を追加するもの(おそらくCentOSやRedHatなどの他のそのような関係と比較して)
Linux自体は単なるカーネルです。
LinuxカーネルとWindowsカーネルを比較できます。
最大の違いは、Linuxは純粋な モノリシック カーネルを使用するのに対し、Windowsは ハイブリッドを使用することです 一つ。
しかし、それらは両方ともカーネルであり、カーネルはユーザーに機能へのアクセスを許可することを目的としたものではなく、機能へのアクセスを提供するために必要なタスクを解決するためのものではありません。
DebianとUbuntuはディストリビューションのフレーバーです。 ディストリビューション はカーネルの上/周りを走るすべてのものです。そしてカーネルではできないので、Linuxを完全なオペレーティングシステムにするための基本的なアプリケーションがいくつか必要です。したがって、ディストリビューションが提供する基本的なニーズは次のとおりです。
これらのどれも必要ではありませんが、WindowsまたはMAC OSが提供するもののような「共通の」OSの全機能を持つために必要です。
またDebianはディストリビューションの先祖の一人です。これは、多くのディストリビューションが依存している/展開しているディストリビューションです。例えばUbuntuのように。
では、なぜそんなに多くの人がDebianの代わりにUbuntuを使うのですか?
Debianには可能な限りプレインストールされたソフトウェアはできるだけ少ないが、フルOSを実行するのに必要なだけのソフトウェアが付属しているため。 (これは主にサーバー上で使用されるため、GUIがない場合のケースです)。その結果、OSは非常に安定しています。
今、人々の「大多数」はGUIを必要とし、自分のPCやラップトップで自分の音楽を聴いたり、インターネットにアクセスしたりしたいと思うかもしれません。 Debianでは、GUI、サーバルドライバのインストール、そしてこれらの設定に時間を費やすことなしにはうまくいきません。 Ubuntuは、Deibanが提供する安定性をすべて提供し、日常の家庭での使用に必要な多くの機能を追加します。
Windowsはこれらのダイナミクスを持っていません。それでも、みんなが使うWindows版とServer版があります。これはLinuxの風味ほど多様ではありません。しかしそれでも、既存の顧客グループやアプリケーション分野に対する大きなカスタマイズです。
DOSとLinux端末の両方がカーネル上で実行されます。しかし、それらはOSで「エミュレート」することもできます。 OSでは、これらのエミュレータはカーネルにコマンドを渡すこと以外に何もしません。カーネルはエミュレータによって拾われて端末に表示される情報をダンプします。
シモンズ:私は意図的に、GUIは完全なOSに必要であり、Debianは理解を容易にするための先祖だと言っています。これらの州は技術的に完全には正しくないことを私は知っています。これを読んでいる間にハードコアなオタクがあまりに速く回転しないようにするためのちょっとした情報:)
UNIXは、すべて同じ理論に基づいており、ほとんどの人が違いを見分けることができないほど十分に類似しているオペレーティングシステムのクラスです。歴史はちょっと複雑で、Berkley(BSD)とAT&T(SysV)そしてPOSIXと呼ばれる標準が関係しています。
純粋主義者は、Linuxが単なる「カーネル」の最下位部分であることを純粋主義者に言うが、LinuxはUnixの一種である。 OSの他の部分はGNU Software Associationや他の場所からのUnix互換ツールでできています。一緒に、これはGNU/Unixになります。
DebianはLinuxの一般的なディストリビューションです。すべてのディストリビューションには独自のパッケージ管理ツール、プレインストールされているデフォルトパッケージのセットがあり、どのサービスがプレインストールされているか、さらにどの構成ファイルが使用されているかなども異なります。
UbuntuはDebianに基づいています。彼らは最新の安定版Debianを利用して独自のデスクトップアプリケーション、ソフトウェア管理ツールなどを追加してユニークにします。 Linuxには他にもたくさんのディストリビューションがあります。 SlackwareとGentooベースのシステムもありますが、ほとんどはDebianベースかRedhatベースです。これら4つのベースはそれぞれ他のディストリビューションによって構築されています。たとえば、私は今エレメンタリOSを実行しています。これは、Unixの一種であるLinuxのバージョンであるDebianに基づいているUbuntuに基づいています。とった?
Mac OS/XはUnixと似ていますが、BSD風のUNIXと互換性を持たせるために、それに加えて一連のソフトウェアパッケージとも互換性のある異なるカーネル(Mach)を使用します。 MacのBSDとの互換性のため、多くのソフトウェアをLinuxからMacに移植するのは簡単です。ただし、display PDFおよびその他の追加機能に基づいて、OSの上位層がGUIで変更されています。全体のものはもともとNeXTステップとして作成され、アップルはそれを購入し、それを改装しました。それはUnixファミリーです。
AndroidはLinuxカーネルを使用しますが、残りのOSは独自の設計であるため、最低レベルのOSはUNIXをベースにしていますが、残りはそうではなく、一般的にはUnix風味とは見なされませんそれはLinuxの味です。まだ混乱している? AndroidはPOSIX標準に準拠していません。
DOS/Windowsは全く違います。 MS-DOSはもともと8080から8086までのCP/Mのポートでした(8080は8ビットCPUで、.COMファイルはCP/Mのための8ビット実行可能ファイルです)。 Microsoftはそれを書いていない、彼らはそれを買ってそれからIBMとその競合他社にそれをライセンスした。 Windowsはおおよそ合法的に盗まれた古いApple APIとして始まりました。それがPascal呼び出し規約を使う理由です。 Windows 95とWindows Meと他のいくつかはまだいくつかの事柄のために内部的にDOSを使用しました(これに関して訴訟がありました)。 Windowsのより新しいバージョンはOS/2のためにIBMによって共同書かれたWin32 APIに基づいています。マイクロソフトはOS/2契約から切り離し、彼らと一緒にコードを入手しました。 Windows NTカーネルは通常DOSをまったく使用しないWin32 APIを実行するために使用され、Microsoftは実際にUnixからいくつかのアイデアを借りました。実際、NTを起動するとUnixの著作権が表示されます。 Unix互換です。