web-dev-qa-db-ja.com

Linuxを使用していると言うとき、正確にはどういう意味ですか?

GNU以下のような記事を読んでいました

本当にLinuxがあり、これらの人々はそれを使用していますが、それは彼らが使用するシステムの一部にすぎません。 Linuxはカーネルです。つまり、実行する他のプログラムにマシンのリソースを割り当てるシステム内のプログラムです。カーネルはオペレーティングシステムの重要な部分ですが、それ自体では役に立ちません。完全なオペレーティングシステムのコンテキストでのみ機能できます。 Linuxは通常、GNUオペレーティングシステムと組み合わせて使用​​されます。システム全体は、基本的にGNU Linuxが追加されたものまたはGNU/Linuxです。 「Linux」ディストリビューションは、実際にはGNU/Linuxのディストリビューションです。

私はいつもLinuxをカーネルとオペレーティングシステムだと思っていましたが、Linux = LinuxカーネルとGNU OSのように見えます。

私たちが日常生活で使用している「Linux」の用語で、それぞれの正確な機能を誰かが指摘できますか。また、ウィキによると、GNUのデザインはUnixに似ていますが、フリーソフトウェアであり、Unixコードを含まないという点でUnixとは異なります。 Unixはオープンソースだと思いました。そうですね。

9
Aniket Thakur

通常、私たちが通常オペレーティングシステムと呼ぶのは、カーネルを含むソフトウェアの組み合わせであり、その仕事はマシンと一部のアプリケーションのリソースを管理することです。これはカーネル上で実行され、ユーザーランドと呼ばれます(これには、ブラウザー、コンパイラー、pdfリーダー、カーネル以外のもの、またはドライバーが含まれます、または多分vmハイパーバイザー)。

この質問の残りの部分は、歴史的な背景がなければ答えることができません。 RichardStallmanは1983年9月27日にGNU Project を発表しました。目的はオペレーティングシステム(および付随するユーザーランド)のようなUNIXを開発するために必要なソフトウェアを提供することでした。 )as フリーソフトウェア 。1992年までに、GNUプロジェクトは、1つを除いて、ソフトウェアに不可欠なほぼすべての部分を完了しました:カーネル。同時に、Linus Torvaldsは、彼のkernelLinux(バージョン0.12)をフリーソフトウェアとしてリリースし、 GPLライセンス でライセンスを取得しました。 (ほぼ)完全にフリーソフトウェアで構成されたコンピュータを実行することは可能かもしれません。

Linux(前述のとおり)はカーネルであり、コンピューターを使用できるようにするソフトウェアの究極のベースですが、あまり有用ではありません。一人で。実行するには、何らかのアプリケーション(ユーザーランド)とペアリングする必要があります。これは、DebianやUbuntuなどのGNU/Linuxディストリビューションが行うことです。

カーネルは重要であると同時に重要ではないことにも言及する価値があります。説明させてください。コンピューターを使用するほとんどの人は、カーネルではなくユーザーランドに慣れています。カーネルはほとんど透過的であり、ほとんどの人は同じユーザーランドを持つ別のカーネルを使用し、違いに気付かない可能性があります(もちろん彼らがいない限り)特定のカーネルによって提供される機能に依存しています)

したがって、Linuxを使用する場合、実際にはGNUオペレーティングシステムの実現を使用しています。つまり、LinuxカーネルとGNUユーザーランド(GNOME、GNUコンパイラコレクション、GNUデバッガ、GNU Coreutils、GNU binutilsなど)。そのため、FSFはそれをGNU/Linuxと呼ぶことを主張します(私の意見では、公正な要求です)。

もちろん、GNUユーザーランド(ヒント:Android、 Busybox )なしでLinuxを使用でき、もちろんGNU userland on他のカーネル(kfreebsd、hurdなど)のトップ。

Unixはオープンソースなどですが、それはかなりの議論を伴う可能性のある質問です。しかし、あなたはいくつかの有用な情報を見つけるかもしれません ここ

3
NlightNFotis

Linuxカーネルは、OSに次の機能を提供するプログラムです。

linux kernel map image

画像への元のリンク:http://www.makelinux.net/kernel_map/

カーネルは不可欠であり、その上にユーティリティとパッケージ化されたソフトウェアの残りすべてがあります。フルOSとカーネルの違いは、ソフトウェアの残りの部分と、ディストリビューションメンテナがどのように組み合わせるかと同じです。

それらのメンテナは必ずしもすべての余分なソフトウェアを作成するわけではありません。彼らはそれを組み立てて変更し、すべてをまとめて、今日のほとんどの人にLinuxエクスペリエンスを提供します。いわば「フレーバー」を追加し、多くの場合系統があります。 DebianやRedhatなどの非常に確立されたディストリビューションに。問題は、Linuxディストリビューションにパッケージ化されている初期のユーティリティとソフトウェアのかなりの部分に GNUプロジェクト から適応されたソフトウェアが含まれているということです。そのソフトウェアの多くは、Linuxカーネルが発明される前に、リソースを使用してGNUプロジェクトによってまとめられました。また、無料であり、そのソフトウェアの多くは、両方が無料であり、Linuxの人気を構築するのに役立ちました。 GPLライセンスによってリンクされたオープンソースソフトウェア。libcframwework、Gnome Desktop、およびgccコンパイラは、GNU保守されているソフトウェアの例です。

それは確かに些細なことではなく、それがそれほど政治的であるべきではないことを認めていますが、両側に声の人々がいて、議論があります。実際のアプリケーションが何であれ、私たちが使用するディストリビューションとその作成者のソフトウェアの歴史についてもっと知ることは有効な努力です。

2
user44370