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

提供: UnixClassWiki
移動先: 案内検索
 
1行目: 1行目:
== なぜUNIXオペレーティングシステムの授業にLinuxを取り上げるのか ==
+
== なぜUNIXオペレーティングシステムの授業にGNU/Linuxを取り上げるのか ==
  
 
UNIXとは何かという問いに一言で答えることが出来る人はたぶん誰にもいない
 
UNIXとは何かという問いに一言で答えることが出来る人はたぶん誰にもいない
10行目: 10行目:
 
そちらを参照して下さい。
 
そちらを参照して下さい。
  
さて、なぜLinuxが授業向きのオペレーティングシステムであるかです。理由
+
さて、なぜGNU/Linuxが授業向きのオペレーティングシステムであるかです。理由
 
は2つです。
 
は2つです。
  
* Linux は IEEE Std 1003.1 (POSIX 1003.1)を目指して作られた。
+
* GNU/Linuxは IEEE Std 1003.1 (POSIX 1003.1)を目指して作られた。
  
* Linux はカーネルとミドルウェアを切り離して考えている。
+
* GNU/Linuxはカーネルとミドルウェアを切り離して考えている。
  
* 初学者向けLinuxの情報は溢れている。
+
* 初学者向けGNU/Linuxの情報は溢れている。
  
 
=== スタンダードということ ===
 
=== スタンダードということ ===
28行目: 28行目:
  
 
しかしスタンダードなUNIXとは何かということで考えるとPOSIX仕様を忠実に
 
しかしスタンダードなUNIXとは何かということで考えるとPOSIX仕様を忠実に
インプリメンテーションしようとしたLinuxと、研究プラットフォームとして
+
インプリメンテーションしようとしたGNU/Linuxと、研究プラットフォームとして
 
POSIXとの互換性を重要視していなかったBSDとは明らかにスタンスに差があり
 
POSIXとの互換性を重要視していなかったBSDとは明らかにスタンスに差があり
ます。これはスタンダードなUNIXを教えるならばLinuxに軍配が上がります。
+
ます。これはスタンダードなUNIXを教えるならばGNU/Linuxに軍配が上がります。
  
 
=== カーネルが独立している ===
 
=== カーネルが独立している ===
  
 
カーネルが単一のコードで、複数のミドルウェアを持ちディストリビューショ
 
カーネルが単一のコードで、複数のミドルウェアを持ちディストリビューショ
ンという形でいろいろなタイプのものが出ているLinuxの方がより教科書的で
+
ンという形でいろいろなタイプのものが出ているGNU/Linuxの方がより教科書的で
 
す。教科書的にはカーネルとミドルウェア、そしてアプリケーションは独立し
 
す。教科書的にはカーネルとミドルウェア、そしてアプリケーションは独立し
 
ており、これらを自由に組み合わせることがIBM System/360の時代からのオペ
 
ており、これらを自由に組み合わせることがIBM System/360の時代からのオペ
45行目: 45行目:
 
トがかかります。
 
トがかかります。
  
これをLinuxは多数のデベロッパーを持つことにより乗り越えています。乗り
+
これをGNU/Linuxは多数のデベロッパーを持つことにより乗り越えています。乗り
 
越える以上に過激ともいえる状況を作りだしています。たとえばext2、ext3、
 
越える以上に過激ともいえる状況を作りだしています。たとえばext2、ext3、
 
XFS、JFS、ReiserFS を標準ファイルシステムとして選択できるようなオペレー
 
XFS、JFS、ReiserFS を標準ファイルシステムとして選択できるようなオペレー
56行目: 56行目:
 
と弁解しつつ説明する必要はないのです。
 
と弁解しつつ説明する必要はないのです。
  
=== 初学者向けLinuxの情報 ===
+
=== 初学者向けGNU/Linuxの情報 ===
  
Linuxは利用の裾野が広いので初学者向けの情報が溢れています。HOW TO 本の
+
GNU/Linuxは利用の裾野が広いので初学者向けの情報が溢れています。HOW TO 本の
 
たぐいはたくさん出ているので、いくらでも自分で学習できるので、授業は概
 
たぐいはたくさん出ているので、いくらでも自分で学習できるので、授業は概
 
念的な理解に集中できます。この授業はオペレーティングシステムとしてUNIX  
 
念的な理解に集中できます。この授業はオペレーティングシステムとしてUNIX  
 
とは何であるかを考えていくことが中心です。HOW TO USE UNIXでもHOW TO
 
とは何であるかを考えていくことが中心です。HOW TO USE UNIXでもHOW TO
USE LINUXでもありません。それはわざわざ授業に出なくてもできることです
+
USE GNU/Linuxでもありません。それはわざわざ授業に出なくてもできることです
 
から。
 
から。
  
以上のような理由からUNIXオペレーティングシステムの授業にLinuxを取り上
+
以上のような理由からUNIXオペレーティングシステムの授業にGNU/Linuxを取り上
 
げています。
 
げています。

2007年11月19日 (月) 13:09時点における版

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

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の情報

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

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