差分

移動先: 案内検索

オペレーティングシステムとは何か

2 バイト除去, 2007年10月4日 (木) 13:31
/* 何をさしてオペレーティングシステムと呼ぶのか */
コンピュータ上で動いているソフトウェア(下図)のどの部分を指してオペレー
ティングシステムと呼ぶべきないのか、ということの定義を確認しましょう。
 
ここでは、一番最下層をハードウェアとして、次にあるのがカーネルの層、そ
の次が汎用に使われるシステムユーティリティの層、そして、特定目的のため
にユーザが利用するアプリケーションの層と分けてみます。
 
オペレーティングシステムと、システムユーティリティの両方を1つのまとま
ムであれば、このシステムソフトウェアがオペレーティングシステムと同意語
であると言えます。
 
しかし「最小限必要な」という定義は、かなり曖昧な表現です。なぜならば、
プログラムも含めてオペレーティングシステムである」という奇妙な結論が導
かれてしまいます。
 
しかしながら、「パッケージを購入した時にバンドルされているものが最小限
一般には多いようです。しかし、これではゲームのソリティアもオペレーティ
ングシステムに含まれることになるので、やはり奇妙な結論と言えます。
 
<PRE>
では逆に、ここは確実にオペレーティングシステムだろうと言える部分を考えでは逆に、ここは確実にオペレーティングシステムだろうと言える部分を考えてみます。まずカーネルは当然入ります。ユーザが使うということであれば、てみます。まずカーネルは当然入ります。ユーザが使うということであれば、シェルなども必要です。なぜならシェルがないとコマンドを入力できません。当然ユーザを認証するためのログインに関連するソフトウェアが必要です。シェルなども必要です。なぜならシェルがないとコマンドを入力できません。当然ユーザを認証するためのログインに関連するソフトウェアが必要です。
:'''; 補足''': カーネルとそれ以外のソフトウェアの切り分けは、実行されるプロセスの実行モードが、どの状態で動いているかで区別します。プロセスの実行モードが、カーネル・モード(UNIX以外のシステムによっては特権モード、スーパーバイザ・モード、あるいはマスタ・モードとも呼ばれる) で動作しているか、ユーザ・モード ( 非特権モード、プロブレム・モード、あるいはスレーブモードとも呼ばれる)で動作しているかどうかです。実行モードに関しては、実行とプロセスに関する話題の時に改めて説明します。
どれくらいのものが最初に用意されるのか、Debian GNU/Linux Woodyを例にして調べてみました。Woodyを例にして調べてみました。
ディレクトリ名 コマンド数
/usr/sbin 112
:'''; 補足''': 2007年ではDebian GNU/Linux Etchが最新です。
このコマンド数も先に述べたようにすべてが必要であるとは限りません。最小
過ぎません。しかしながら、いくつかのコマンドとそのコマンドで利用される
ライブラリ群はオペレーティングシステムには必要になるといえます。
 
では、グラフィカルインタフェース(GUI)を提供するためのウィンドウシステ
ムはオペレーティングシステムに入るのでしょうか?
 
一般的なUNIXシステムでは、GUIがなくても当然動きますし、サーバシステム
タ用のオペレーティングシステムと呼ばれるものではウィンドウシステムは
切り離すことができないコンポーネントとなっています。
 
ここまででわかったことは、まず、カーネルは確実にオペレーティングシステ
あること、ただし、その必要なソフトウェアは何かの線引きは難しいというこ
とです。
 
下はDebian GNU/Linux (Woody) を最小限のインストールして立ち上げてみた
ムと呼んでいいのか、どこからがそれ以外のアプリケーションと呼ぶかのはグ
ラデーションのように曖昧になることでしょう。
 
<PRE>
匿名利用者