web-dev-qa-db-ja.com

Linux OSとカーネルの関係は何ですか?

私はLinuxを数年間使用していますが、CD/DVDからのインストールを超えることはありません。アプリマネージャーが私がソフトウェアで探していたものを持っていなかった場合、私は失われた原因でした。

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

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

Linuxディストリビューションは単なるソフトウェアのパックリストですか?

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

カーネルはどこか中央から来ており、every Linuxディストリビューションの中核ですか?これが本当なら、Linuxディストリビューションは、カーネルを搭載したコンピューターをよりユーザーフレンドリーにする方法にすぎないのでしょうか。このように、distro + kernelはOSです。これは、一方が他方なしでは使用できないためです(おそらく純粋なカーネルですが、誰がその上に座っているのでしょうか?)。

35
Jason94

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

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

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

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

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

27
Kurt

Linuxはカーネルです(私はここでRMS)をチャネリングしています)。それはLinusが書いたものであり、カーネル開発者は今日も取り組んでいます。それはハードウェアを制御します。

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

ディストリビューションは、DVDオーサリングツール、Webブラウザー、オフィススイートなどの高レベルのアプリケーションの絶対的なバケットロードがad-near-infinitumにパッケージ化されたオペレーティングシステムです。 Windowsでさえ、ワードパッド、電卓、ペイントを含めてある程度これを行っていますが、Linuxディストリビューションが拡張するめちゃくちゃ多作なレベルではありません-本当に必要 472の異なるファイルマネージャーですか?選択は良いです、はい、しかしポイントまでだけです:-)

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

19
paxdiablo

[〜#〜] os [〜#〜]は、連携して機能するカーネルとシェルです。

Distroは、カーネルで動作するカスタマイズされたシェルの組み合わせです。これは、たとえば、-Kali、Ubuntu、Fedora、MintなどがLinuxカーネルで動作するさまざまなディストリビューションであることを意味します。

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

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

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

簡単な例を挙げるとWindows GUIはシェルですWindows OS Microsoftによる配布です。

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

シェルまたはディストリビューションは、カーネルをよりユーザーフレンドリーにするわけではありませんが、ユーザーが使用できるようにします。

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

4
Akhil Sharma