私はGNUやLinuxではなくGNU / Linuxについて話しています!
カーネルがオペレーティングシステムの重要なコンポーネントであることはわかっていますが、「オペレーティングシステム」(オペレーティングシステムと見なすことができるもの)を定義することが何であるかを知りたいです。
GNUとLinuxのウィキペディアページには次のようなものがあります。
GNUは、Unixファミリーのオペレーティングシステムを構築するために使用される広範なコンピュータソフトウェアの集まりです。
そして
Linuxは、無料のオープンソースソフトウェア開発および配布モデルに従って組み立てられたUnixに似ており、ほとんどPOSIXと互換性のあるコンピュータオペレーティングシステム(OS)です。
記事もあります:GNU/Linux 命名論争。
それでは、カーネルがオペレーティングシステムのコアコンポーネントであることを念頭に置いて、カーネルをオペレーティングシステムと見なすことができますか、それともオペレーティングシステムに参加する割合で含めることができますか?
私は訪問しましたGNU/Linux FAQ、より正確にはこのトピックに関連しています。
- オペレーティングシステムとカーネルの違いは何ですか?
- カーネルはシステムの脳ではないか?
- 私たちはカーネルにちなんでシステム全体をLinuxと呼びます。カーネルにちなんでオペレーティングシステムの名前を付けるのは正常ではありませんか?
- GNUは今日のシステムの一部にすぎませんが、なぜ言及しますか?
要約すると、彼らがGNU / Linuxを熱心に話す理由は、1)オペレーティングシステムの背後にある主な貢献2)ソフトウェアの自由への哲学を導入し維持することです。
しかし他の人は好きですこれLinuxオペレーティングシステムの命名論争の解決策を提供します。これは次のように言います。
- Linuxはオペレーティングシステムです
- Linux/GNUは開発システムです。
そして、オペレーティングシステムのLinux / GNU呼び出しを拒否します。
上記の2つの部分では、次のいずれかを考えると混乱しています。:
- Linuxカーネルを使用するGNUオペレーティングシステム
- GNU開発ツールを含むLinuxオペレーティングシステム
最後に、私の質問は次のとおりです。オペレーティングシステムと見なすことができるものは何ですか?
- カーネルベースのオペレーティングシステム?または
- オペレーティングシステムの作成に貢献/参加を検討していますか?
注:この質問は、GNU / LinuxまたはLinuxと言う必要があるかどうかを尋ねると、主にコメントに基づいている可能性があります。しかし、可能であれば「運営体制とみなすことができるものは何か」を知りたいという点を考慮すれば、意見に基づいてはならないと思います!
投稿にコメントを提起する議論をして申し訳ありません。しかし、自信があれば、ほとんどの意見ベースのアプローチで終わることができます。
答え1
オペレーティングシステムが何であるかは非常に明白です。ハードウェアとユーザーアプリケーションの間にあるソフトウェアです。カーネルはこれにとって非常に重要な部分ですが、この役割を果たすには不十分です。
Unix および Unix ファミリーのオペレーティングシステムについて話すとき、互換性のあるオペレーティングシステムの定義は、シェル構文とコマンド、関数 API、一部のデバイス、その他の一般的な概念およびインタフェースなどを提供する必要がある前提条件を指定することによって、よりよく定義されます。これがPOSIXの内容です。
あなたの場合、ほとんどのPOSIX APIはGNU層で提供されているので、作成者が保証を主張することは正当です。
LinuxやGNU/Linuxは決してオペレーティングシステムではありませんが、Slackware、Ubuntu、Red Hat、Debianなどのいくつかの実際のオペレーティングシステムを構築するための重要なコンポーネントですが、BSD、Solarisなどは異なるカーネルとPOSIXレイヤの実装に基づいています構築されました。これらの製品はすべてオペレーティングシステムと見なすことができます。
また、AndroidはLinuxベースの重要な非GNUオペレーティングシステムであることに注意してください。