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

提供: UnixClassWiki
移動先: 案内検索
(カーネルが独立している)
1行目: 1行目:
 
 
UNIXとは何かという問いに一言で答えることが出来る人はたぶん誰にもいない
 
UNIXとは何かという問いに一言で答えることが出来る人はたぶん誰にもいない
 
でしょう。それはUNIXは長い歴史を人々とともに積み重ねてきたからです。
 
でしょう。それはUNIXは長い歴史を人々とともに積み重ねてきたからです。
36行目: 35行目:
 
ンという形でいろいろなタイプのものが出ている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の情報 ===
 
=== 初学者向けGNU/Linuxの情報 ===

2009年10月3日 (土) 07:00時点における版

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

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

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

  • 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を取り上 げています。