「なぜUNIXオペレーティングシステムの授業にGNU/Linuxを取り上げるのか」の版間の差分

提供:UnixClassWiki
ナビゲーションに移動 検索に移動
22行目: 22行目:
== カーネルが独立している ==
== カーネルが独立している ==


カーネルが単一のコードで、複数のミドルウェアを持ちディストリビューショ
カーネルが単一のコードで、複数のミドルウェアを持ちディストリビューションという形でいろいろなタイプのものが出ているGNU/Linuxの方がより教科書的で
ンという形でいろいろなタイプのものが出ているGNU/Linuxの方がより教科書的で
す。教科書的にはカーネルとミドルウェア、そしてアプリケーションは独立しており、これらを自由に組み合わせるベースとなるのがIBM System/360の時代からのオペレーティングシステムの役目です。
す。教科書的にはカーネルとミドルウェア、そしてアプリケーションは独立し
ており、これらを自由に組み合わせるベースとなるのがIBM System/360の時代からのオペ
レーティングシステムの役目です。




しかしながらパソコン雑誌等では「販売するシステム・パッケージ=オペレーティング・システム」
しかしながらパソコン雑誌等では「販売するシステム・パッケージ=オペレーティング・システム」という表現をしており、また、世間一般ではそう思い込んでいます。また、現実にも自由にコンポーネントを組み合わせているシステムは滅多に見当たりません。各々の上から下までのコンポーネントが緊密に相互依存させている場合が多く選択肢を狭めることによって独自性を強調しようとする方向性を持っています。
という表現をしており、また、世間一般ではそう思い込んでいます。
また、現実にも自由にコンポーネントを組み合わせているシステムは滅多に見当たりません。
各々の上から下までのコンポーネントが緊密に相互依存させている場合が多く
選択肢を狭めることによって独自性を強調しようとする方向性を持っています。




他方、GNU/Linuxは多様性を持つという方向性で進んでいます。たとえばext2、ext3、
他方、GNU/Linuxは多様性を持つという方向性で進んでいます。たとえばext2、ext3、XFS、JFS、ReiserFS を標準ファイルシステムとして選択できるようなオペレーティングシステムはある意味、原理主義的でもあり、あるいは過剰な感すらあります。
XFS、JFS、ReiserFS を標準ファイルシステムとして選択できるようなオペレー
しかし、教科書的にオペレーティングシステムを説明する上で、このような各コンポーネントが切り離されているというのは重要なポイントです。「理屈の上では、カーネルもミドルウェアもアプリケーションも独立していますが、このシステムはそうではありません。」と弁明を入れながら説明する必要ありません。
ティングシステムはある意味、原理主義的でもあり、あるいは過剰な感すらあ
例えばGNU/Linuxのディストリビューションの1つであるubuntuの説明「[[実際にLinuxを使ってみよう#いろいろなUbuntu]] 」の部分でも取り上げたようにカーネル、ミドルウェア、アプリケーションの構成の違いで、デスクトップ向け、サーバ向け、教育向け、メディアクリエータ向けなど様々な特性を持ったディストリビューションを示すことが可能なのです。
ります。しかし、教科書的にオペレーティングシステムを説明する上で、
このような各コンポーネントが切り離されているというのは重要なポイントです。
「理屈の上では、カーネルもミドルウェアもアプリケーションも独立していますが、
現実にはそのようなシステムは、そうではありせん。」
と弁明を入れながら説明する必要ありません。
例えばGNU/Linuxのディストリビューションの1つであるubuntuの説明
[[実際にLinuxを使ってみよう#いろいろなUbuntu]] 」の部分でも取り上げたように
カーネル、ミドルウェア、アプリケーションの構成の違いで、デスクトップ向け、
サーバ向け、教育向け、メディアクリエータ向けなど様々な特性を持った
ディストリビューションを示すことが可能なのです。


== 初学者向けGNU/Linuxの情報 ==
== 初学者向けGNU/Linuxの情報 ==

2012年6月21日 (木) 04:16時点における版

はじめに

UNIXとは何かという問いに一言で答えることが出来る人はたぶん誰にもいないでしょう。それはUNIXは長い歴史を人々とともに積み重ねてきたからです。 どのような歴史があるかは OS誕生からLinuxまでの歴史 を参照してください。

UNIX的なものとは何かという議論はUNIXとは何かで行っていますので、そちらを参照して下さい。

さて、なぜGNU/Linuxが授業向きのオペレーティングシステムであるかです。理由は3つです。

  • GNU/Linuxは IEEE Std 1003.1 (POSIX 1003.1)を目指して作られた。
  • GNU/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の時代からのオペレーティングシステムの役目です。


しかしながらパソコン雑誌等では「販売するシステム・パッケージ=オペレーティング・システム」という表現をしており、また、世間一般ではそう思い込んでいます。また、現実にも自由にコンポーネントを組み合わせているシステムは滅多に見当たりません。各々の上から下までのコンポーネントが緊密に相互依存させている場合が多く選択肢を狭めることによって独自性を強調しようとする方向性を持っています。


他方、GNU/Linuxは多様性を持つという方向性で進んでいます。たとえばext2、ext3、XFS、JFS、ReiserFS を標準ファイルシステムとして選択できるようなオペレーティングシステムはある意味、原理主義的でもあり、あるいは過剰な感すらあります。 しかし、教科書的にオペレーティングシステムを説明する上で、このような各コンポーネントが切り離されているというのは重要なポイントです。「理屈の上では、カーネルもミドルウェアもアプリケーションも独立していますが、このシステムはそうではありません。」と弁明を入れながら説明する必要ありません。 例えばGNU/Linuxのディストリビューションの1つであるubuntuの説明「実際にLinuxを使ってみよう#いろいろなUbuntu 」の部分でも取り上げたようにカーネル、ミドルウェア、アプリケーションの構成の違いで、デスクトップ向け、サーバ向け、教育向け、メディアクリエータ向けなど様々な特性を持ったディストリビューションを示すことが可能なのです。

初学者向けGNU/Linuxの情報

GNU/Linuxは利用の裾野が広いので初学者向けの情報が溢れています。HOW TO 本の たぐいはたくさん出ているので、いくらでも自分で学習できるので、授業は概 念的な理解に集中できます。この授業はオペレーティングシステムとしてUNIX とは何であるかを考えていくことが中心です。HOW TO USE UNIXでもHOW TO USE GNU/Linuxでもありません。それはわざわざ授業に出なくてもできることです から。

以上のような理由からUNIXオペレーティングシステムの授業にGNU/Linuxを取り上 げています。