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

提供:UnixClassWiki
ナビゲーションに移動 検索に移動
編集の要約なし
 
(同じ利用者による、間の35版が非表示)
1行目: 1行目:
== はじめに ==
== はじめに ==
UNIXとは何かという問いに一言で答えることが出来る人はたぶん誰にもいない
でしょう。それはUNIXは長い歴史を人々とともに積み重ねてきたからです。
どのような歴史があるかは
[[OS誕生からLinuxまでの歴史]]
を参照してください。


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


さて、なぜGNU/Linuxが授業向きのオペレーティングシステムであるかです。理由
UNIXとは何かという問いに一言で答えることが出来る人はたぶん誰もいないでしょう。それはUNIXは長い歴史を人々とともに積み重ねてきたからです。
は2つです。
どのような歴史があるかは [[OS誕生からLinuxまでの歴史]] を参照してください。UNIX的なものとは何かという議論は''[[UNIXとは何か]]''で行っていますので、そちらを参照して下さい。さて、なぜGNU/Linuxが授業向きのオペレーティングシステムであるかです。理由は3つです。
 
 


* GNU/Linuxは IEEE Std 1003.1 (POSIX 1003.1)を目指して作られた。
* GNU/Linuxは IEEE Std 1003.1 (POSIX 1003.1)を目指して作られた。


* GNU/Linuxはカーネルとミドルウェアを切り離して考えている。
* GNU/Linuxはディストリビューションという形でカーネルとミドルウェアを切り離して考えている。


* 初学者向けGNU/Linuxの情報は溢れている。
* 初学者向けGNU/Linuxの情報は書籍としてもネット上の情報としても大量にあり入手しやすい。


== スタンダードということ ==
== スタンダードということ ==


UNIXがこれだけ広まった原動力はあきらかに4.1BSDから4.4BSDまでを作りあげ
UNIXがこれだけ広まった原動力はあきらかに4.1BSDから4.4BSDまでを作りあげたUniversity of California BerkeleyのComputer System Research Groupの活躍のおかげです。高速なファイルシステム、仮想記憶、TCP/IPなど最新の技術が取り込まれており、それが大学や研究所を中心に広まっていったからです。こう聞くとBSDの方がよりUNIXの中心にいるような気がします。
たUniversity of California BerkeleyのComputer System Research Groupの
活躍のおかげです。高速なファイルシステム、仮想記憶、TCP/IPなど最新の技
術が取り込まれており、それが大学や研究所を中心に広まっていったからです。
こう聞くとBSDの方がよりUNIXの中心にいるような気がします。




しかしスタンダードなUNIXとは何かということで考えるとPOSIX仕様を忠実に
しかしスタンダードなUNIXとは何かということで考えるとPOSIX仕様を忠実にインプリメンテーションしようとしたGNU/Linuxと、研究プラットフォームとしてPOSIXとの互換性を重要視していなかったBSDとは明らかにスタンスに差があります。これはスタンダードなUNIXを教えるならばGNU/Linuxに軍配が上がります。
インプリメンテーションしようとしたGNU/Linuxと、研究プラットフォームとして
POSIXとの互換性を重要視していなかったBSDとは明らかにスタンスに差があり
ます。これはスタンダードなUNIXを教えるならばGNU/Linuxに軍配が上がります。


== カーネルが独立している ==
== カーネルが独立している ==


カーネルが単一のコードで、複数のミドルウェアを持ちディストリビューショ
カーネルが単一のコードで、複数のミドルウェアを持ちディストリビューションという形でいろいろなタイプのものが出ているGNU/Linuxの方がより教科書的です。
ンという形でいろいろなタイプのものが出ているGNU/Linuxの方がより教科書的で
教科書的にはカーネルとミドルウェア、そしてアプリケーションは独立しており、これらを自由に組み合わせるベースとなるのがIBM System/360の時代からのオペレーティングシステムの役目です。
す。教科書的にはカーネルとミドルウェア、そしてアプリケーションは独立し
ており、これらを自由に組み合わせるベースとなるのが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、
他方、GNU/Linuxは多様性を持つという方向性で進んでいます。たとえばext2、ext3、ext4、XFS、JFSほか、を標準ファイルシステムとして選択できるようなオペレーティングシステムはある意味、原理主義的でもあり、あるいは過剰な感すらあります。
XFS、JFS、ReiserFS を標準ファイルシステムとして選択できるようなオペレー
しかし、教科書的にオペレーティングシステムを説明する上で、このような各コンポーネントが切り離されているというのは重要なポイントです。「理屈の上では、カーネルもミドルウェアもアプリケーションも独立しており入れ替えが可能ですが、実際のシステムはそうではなくワンパッケージになっているのが現状です。」と弁明を入れながら説明する必要ありません。
ティングシステムはある意味、原理主義的でもあり、あるいは過剰な感すらあ
例えば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であるディストリビューションのバリエーションを用意しています。
ります。しかし、教科書的にオペレーティングシステムを説明する上で、
 
このような各コンポーネントが切り離されているというのは重要なポイントです。
 
「理屈の上では、カーネルもミドルウェアもアプリケーションも独立していますが、
このようにGNU/Linuxを取り巻く環境では、アプリケーション、ミドルウェア、カーネルといった各々のレイヤーで色々なバリエーションが存在し、また使われています。このような環境を示す中において、オペレーティングシステムとは何かを考えていくことが重要だと考えています。
現実にはそのようなシステムは、そうではありせん。」
と弁明を入れながら説明する必要ありません。
例えばGNU/Linuxのディストリビューションの1つであるubuntuの説明
[[実際にLinuxを使ってみよう#いろいろなUbuntu]] 」の部分でも取り上げたように
カーネル、ミドルウェア、アプリケーションの構成の違いで、デスクトップ向け、
サーバ向け、教育向け、メディアクリエータ向けなど様々な特性を持った
ディストリビューションを示すことが可能なのです。


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


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


以上のような理由からUNIXオペレーティングシステムの授業にGNU/Linuxを取り上
このページへのショートURL: https://uc2.h2np.net/i/hNV.html
げています。

2019年9月7日 (土) 21:10時点における最新版

はじめに

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の時代からのオペレーティングシステムの役目です。


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


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


このようにGNU/Linuxを取り巻く環境では、アプリケーション、ミドルウェア、カーネルといった各々のレイヤーで色々なバリエーションが存在し、また使われています。このような環境を示す中において、オペレーティングシステムとは何かを考えていくことが重要だと考えています。

初学者向けGNU/Linuxの情報

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


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

参考

  1. ウィキペディア日本語版の<オペレーティングシステム>の項には次のような表現があります。 「製品としてのOSには、デスクトップ環境やウィンドウシステムなど、あるいはデータベース管理システム (DBMS) などのミドルウェア、ファイル管理ソフトウェアやエディタや各種設定ツールなどのユーティリティ、基本的なアプリケーションソフトウェア(ウェブブラウザや時計などのアクセサリ)が、マーケティング上の理由などから一緒に含められていることもある。 」(2018年7月4日閲覧 しかしながら、ここでの「製品としてのOS」とはGNU/Linuxでいう所のディストリビューションと同等で、これは販売パッケージを意味しており、技術的な意味でのオペレーティング・システムを意味していません。このウィキペディア日本語版に掲載されている解釈では「Windows 95に含まれていたゲームのマインスイーパは(ユーザに娯楽を提供するというマーケッティング上の理由から)OSの一部」ということも導けます。実際にウィキペディア日本語版のマインスイーパでは 「1992年の Windows 3.1 からはOSに標準で付属するようになった。」(2018年8月8日閲覧) という表現がみられます。もちろんどんな形であれ本サイトの説明ではマインスイーパをシステムに必要不可欠かつ最小限であるべきオペレーティングシステムのコンポーネントとして取り上げることはありません。

目次

このページへのショートURL: https://uc2.h2np.net/i/hNV.html