44

私は数年間 Linux を使用してきましたが、CD/DVD からインストールする以上のことはしたことがありません。アプリ マネージャーが私が探していたものをソフトウェアに持っていなかったとしたら、私は大義を失ったことになります。

しかし今、私は「Linux」とは何かを理解しようとしています。

頭に浮かぶ最初の単語は「カーネル」です。ウィキペディアを読んだ後、カーネルは、他のソフトウェア (OS + アプリ) にハードウェア (CPU、RAM+++) へのアクセスを許可するために実行されているソフトウェアであることがわかりました。メモリも処理しますが、それはOSが行うべきことではありませんか(OSクラスから覚えていること)?

Linux ディストリビューションは単なるソフトウェアの詰め合わせリストですか?

私のお気に入りのディストリビューションである Fedora を見てみましょう。現在はバージョン 14 で、カーネル 2.6.35 が同梱されています。

カーネルは中央のどこかから来ており、すべてのLinux ディストリビューションのコアですか? これが本当なら、Linux ディストリビューションは、カーネルを搭載したコンピューターをより使いやすくするための手段に過ぎないのでしょうか? そのように、ディストリビューション + カーネルは OS です。なぜなら、もう一方のないものは使用できないからです (純粋なカーネルかもしれませんが、誰がその上に座っているのでしょうか?)。

4

4 に答える 4

35

かなり正しい。私にとって、「linux」は単なるカーネルです。しかし、ディストリビューション全体を Linux と呼ぶことはかなり一般的です。それがRMSをとても悩ませているものです。彼はディストリビューションを Linux カーネルに加えて GNU プロジェクトからの追加ソフトウェアと見なしているため、GNU/Linux と呼ぶべきだと主張しています。これも理にかなっていますが、私は GNU/Linux という用語を決して使用しません。私が話しているのは、カーネル Linux、または「Linux ディストリビューション」、または特定のディストリビューションのいずれかです。

あ、はい。ディストリビューションは、カーネル (ディストリビューション固有のパッチが含まれる場合があります) と、それを使用可能にするすべての追加プログラムです。

カーネルは中心的なプロジェクトであり、名目上は各ディストリビューションで同じですが、ほとんどのディストリビューションでは少しカスタマイズされています。

そして追加のソフトウェアは、カーネルをよりユーザーフレンドリーにするだけでなく、まったく使いやすくします。カーネルは、割り込みハンドラ、デバイス ドライバ、およびシステム コールにすぎません。基本的にハードウェアを仮想化し、プログラムが動作する標準的な環境を提供します。

「オペレーティング システム」という言葉については、混乱を招く可能性があります。カーネルはオペレーティング システムであり、それ以外はすべてユーティリティまたはアプリケーションまたはその他の何かであると言う人もいます。カーネルとその他のパッケージがオペレーティング システムを構成していると言う人もいるかもしれませんが、ほとんどのソフトウェアはオペレーティング システムの一部ではありません。他の人は、ディストリビューション内のすべてのソフトウェアがオペレーティング システムの一部であると言うかもしれません。

于 2010-08-04T08:58:11.820 に答える
23

Linux はカーネルです。これは Linus が書いたものであり、カーネル開発者が今日も取り組んでいるものです。ハードウェアを制御します。

オペレーティング システムとは、カーネルに加えて、ユーザーがコンピューターで便利なこと (ファイル マネージャー、コントロール パネルなど) を実行できるようにするためのかなりの数の下位レベルの「アプリケーション」を含むものです。

ディストリビューション(ディストリビューション) は、 DVD オーサリング ツール、Web ブラウザー、オフィス スイートなど、ほぼ無限(b)のような大量の高レベル アプリケーション(a)がパッケージ化されたオペレーティング システムです。

現在、カーネル/OS と OS/ディストリビューションの間にも灰色の領域がありますが、それがどのように結びついているかを理解するための公正な出発点だと思います。


(a) Windows でさえ、ワードパッド、電卓、ペイントを含めて、ある程度はこれを行いますが、Linux ディストリビューションが拡張するほどの多作レベルではありません。本当に 472 種類のファイル マネージャーが必要なのでしょうか? はい、選択は良いですが、ある程度までです:-)


(b)はい、無限から差し引かれた有限量は依然として無限であるため、「無限に近い」は意味をなさないことは承知しています。しかし、数学的な精度が必要な場合は、おそらくhttps://math.stackexchange.comにアクセスする必要があります:-)

于 2010-08-04T08:52:50.717 に答える
4

OSはカーネルとシェルが連携して動作するだけです。

ディストリビューションは、カーネルで動作するカスタマイズされたシェルの組み合わせです。つまり、たとえば、Kali、Ubuntu、fedora、Mint などは、Linux カーネルで動作するさまざまなディストリビューションです。

シェル は、ユーザーとカーネルの間のインターフェイスとして機能します。シェルは、コマンド ライン インターフェイスまたはグラフィック ユーザー インターフェイスにすることができます。Bash、sh、Windows GUI はいくつかのシェルです。

カーネルはオペレーティング システムのハブです。プログラムに時間とメモリを割り当て、ファイルストアなどを処理します。

シェルとカーネルについてさらに説明するために、 cd と入力するとします。シェルは、プログラム cd を含むファイルをファイルストアで検索し、システム コールを介して、myfile でプログラム cd を実行するようにカーネルに要求します。

簡単な例を挙げると、 Windows GUIはシェルであり、Windows OSは Microsoft によるディストリビューションです。

同様に、Ubuntu OSfedora OSなど、Linux カーネルを使用してさまざまなシェルで動作するディストリビューションです。

シェルまたはディストリビューションは、カーネルを使いやすくするものではありませんが、ユーザーにとって使いやすいものにします。

つまり、単純に Linux はカーネルであると言えます。Linux + シェル (Bash、Gnome など) は、Ubuntu、Mint、Kali などの Linux ディストリビューションであり、それぞれが OS です。

于 2018-01-03T19:44:44.193 に答える
-3

「カーネル」と「シェル」は元の用語で、「コア」と「シェル」としましょう。「シェル」はコマンドインタープリターです。「ディストリビューション」とは、カスタマイズされたシェル + そのディストリビューションに含まれる特定のプログラムを意味する用語です。ただし、1 つのディストリビューションで複数のシェルが存在する場合があります。ユーザーの観点からは、これは人間の言語の概念に近いものです。シェルと対話する端末と対話する必要がある言語です。シェルはそれを読み取り、ファイルストア内 (まだシェル/ディストリビューション内) でファイルを探します。ファイル (実行可能ファイル) が見つかると、シェルはこれをカーネルに送信し、ジョブ (プロセス) を実行します。何年もの間、基本的に変更されていない同じエンジンを搭載しているが、フレーム/ボディを変更する車を考えてみてください。ここはやめた方がいいと思います…

于 2016-01-29T11:58:15.277 に答える