コア

コア

Linuxシステムの多くのコンポーネントの中で、カーネルが何であるか、GNU部分が何であるかが混乱しています。いくつかの基本概念を理解していますが、シェルとウィンドウマネージャの間の境界はどこにありますか?

答え1

コア

カーネルはリソースを管理します。リソースには、プロセッサ時間、メモリ、および周辺機器が含まれます。これは、リソースと直接通信し、インターフェイスをユーザー空間に公開することによってこれを行います。

ユーザースペースツール(時々GNUツールとユーティリティを含む)

ユーザー空間ツールには、ls、cat、dd、ln、mountなどの基本的なユーティリティが含まれています。これにより、ユーザーはカーネルが提供するリソースを使用できます。 BSD、OSX、その他のUnicesとは異なり、LinuxはGNUツールのデフォルトユーザーですが、すべてのLinuxシステムがこれらのツールを使用するわけではありません。 BusyboxはLinux用の代替ツールセットを提供します。

シェル

シェルは、ユーザーがユーザースペースツールを使用できる環境を提供します。シェルの例には、bash、ksn、zsh、および Fish があります。通常、ユーザーはコマンドを入力してユーザースペースツールを起動するように求められます。

ウィンドウマネージャ

これは通常、グラフィック、オーディオ、およびI / Oリソースを管理し、高レベルのツールにインターフェースを提供するディスプレイサーバーを持つ上位層です。一般に、ディスプレイマネージャは、ユーザログイン管理、セッション管理などの機能を提供するディスプレイサーバの上位層である。その上には通常ウィンドウマネージャがあります。ウィンドウマネージャは、アプリケーションがコンテンツをレンダリングできる領域を提供し、ユーザーが移動、サイズ変更、並べ替えによってこれらの領域と対話できるようにします。

答え2

「bash」をシェルとして使用する場合、これはGNUユーティリティです。システムの "coreutils" パッケージには、、mvなどの GNU ソフトウェアが含まれています。lsrm

カーネルは直接対話するのではなく、システムの他のソフトウェアを介して対話します。簡単に言うと、カーネルは、キーストロークとマウスの動きを読み取り、ディスクにデータを読み書きし、ソフトウェアで計算をスケジュールして実行することによって、ソフトウェアがシステムのハードウェアと対話する方法を提供します。コンピュータで実行してください。私が見落としたか無視した詳細がたくさんあります。読んでみると役に立ちます。カーネルウィキペディアページ

あなたのウィンドウマネージャはGNUソフトウェアではないかもしれませんが、他のソフトウェアプロジェクト(Gnome、KDE、XFCEなど)で提供されます。ただし、これらはすべて、GNU Cライブラリ(glibc)やGNUコンパイラコレクション(gcc)を使用するなど、GNUソフトウェアに依存して実行されます。さらに、システム内のほとんどのソフトウェアはGNU General Public License(GPL)に従ってライセンスされているため、GNUライセンスの恩恵を受けることができます。

関連情報