差分
/* カーネルが独立している */
== はじめに ==
* GNU/Linuxは IEEE Std 1003.1 (POSIX 1003.1)を目指して作られた。
* GNU/Linuxはカーネルとミドルウェアを切り離して考えている。Linuxはディストリビューションという形でカーネルとミドルウェアを切り離して考えている。 * 初学者向けGNU/Linuxの情報は書籍としてもネット上の情報としても大量にあり入手しやすい。 == スタンダードということ == UNIXがこれだけ広まった原動力はあきらかに4.1BSDから4.4BSDまでを作りあげたUniversity of California BerkeleyのComputer System Research Groupの活躍のおかげです。高速なファイルシステム、仮想記憶、TCP/IPなど最新の技術が取り込まれており、それが大学や研究所を中心に広まっていったからです。こう聞くとBSDの方がよりUNIXの中心にいるような気がします。 しかしスタンダードなUNIXとは何かということで考えるとPOSIX仕様を忠実にインプリメンテーションしようとしたGNU/Linuxと、研究プラットフォームとしてPOSIXとの互換性を重要視していなかったBSDとは明らかにスタンスに差があります。これはスタンダードなUNIXを教えるならばGNU/Linuxに軍配が上がります。 == カーネルが独立している == カーネルが単一のコードで、複数のミドルウェアを持ちディストリビューションという形でいろいろなタイプのものが出ているGNU/Linuxの方がより教科書的です。教科書的にはカーネルとミドルウェア、そしてアプリケーションは独立しており、これらを自由に組み合わせるベースとなるのがIBM System/360の時代からのオペレーティングシステムの役目です。 しかしながらパソコン雑誌等では「販売するシステム・パッケージ=オペレーティング・システム」という表現をしており、また、世間一般<ref>[https://ja.wikipedia.org/wiki/オペレーティングシステム ウィキペディア日本語版の<オペレーティングシステム>]の項には次のような表現があります。''「製品としてのOSには、デスクトップ環境やウィンドウシステムなど、あるいはデータベース管理システム (DBMS) などのミドルウェア、ファイル管理ソフトウェアやエディタや各種設定ツールなどのユーティリティ、基本的なアプリケーションソフトウェア(ウェブブラウザや時計などのアクセサリ)が、マーケティング上の理由などから一緒に含められていることもある。 」([https://ja.wikipedia.org/w/index.php?title=オペレーティングシステム&oldid=68960550 2018年7月4日閲覧]) '' しかしながら、ここでの「製品としてのOS」とはGNU/Linuxでいう所のディストリビューションと同等で、これは販売パッケージを意味しており、技術的な意味でのオペレーティング・システムを意味していません。このウィキペディア日本語版に掲載されている解釈では「Windows 95に含まれていたゲームのマインスイーパは(ユーザに娯楽を提供するというマーケッティング上の理由から)OSの一部」ということも導けます。実際にウィキペディア日本語版のマインスイーパでは ''「1992年の Windows 3.1 からはOSに標準で付属するようになった。」([https://ja.wikipedia.org/w/index.php?title=マインスイーパ&oldid=69194639 2018年8月8日閲覧])'' という表現がみられます。もちろんどんな形であれ本サイトの説明ではマインスイーパをシステムに必要不可欠かつ最小限であるべきオペレーティングシステムのコンポーネントとして取り上げることはありません。</ref>でもそう思い込んでいます。現実にも自由にコンポーネントを組み合わせているシステムはGNU/Linux以外ではあまり見当たりません。各々の上から下までのコンポーネントが緊密に相互依存させている場合が多く、選択肢を狭めることによって独自性を強調しようとする方向性を持っています。 他方、GNU/Linuxは多様性を持つという方向性で進んでいます。たとえばext2、ext3、ext4、XFS、JFSほか、を標準ファイルシステムとして選択できるようなオペレーティングシステムはある意味、原理主義的でもあり、あるいは過剰な感すらあります。しかし、教科書的にオペレーティングシステムを説明する上で、このような各コンポーネントが切り離されているというのは重要なポイントです。「理屈の上では、カーネルもミドルウェアもアプリケーションも独立しており入れ替えが可能ですが、実際のシステムはそうではなくワンパッケージになっているのが現状です。」と弁明を入れながら説明する必要ありません。例えばGNU/Linuxのディストリビューションの1つであるubuntuの説明「[https://uc2.h2np.net/i/Fqh.html 実際にGNU/Linuxを使ってみよう#GNU/Linuxディストリビューション] 」で示したようにカーネル、ミドルウェア、アプリケーションの構成の違いで、デスクトップ向け、サーバ向け、教育向け、メディアクリエータ向けなど様々な特性を持ったディストリビューションを示すことが可能になっています。GNU/Linuxの主要なディストリビューションDebianではDebian GNU/HurdはカーネルはGNU/Hurd、Debian GNU/kFreeBSDはカーネルがFreeBSDであるディストリビューションのバリエーションを用意しています。