Initinitは、UNIXおよびUnix系システムのプログラムのひとつであり、他の全てのプロセスを起動する役目を持つ。デーモンとして動作し、一般にPID 1 を付与される。ブートローダがカーネルを起動し、カーネルがinitを起動する。代替手段を用意せずにinitを削除すると、次回のリブート時にシステムはカーネルパニックに陥る可能性がある。 init の機能はBSD系とSystem V系では大きく異なるため、ユーザーは自分のシステムがどちらのバージョンを使っているかをマニュアルで調べる必要がある。多くのLinuxディストリビューションで使われていたinitはSystem Vと互換性がある。SlackwareのようなLinuxディストリビューションではBSD系のinitを使っていた。Gentoo Linuxなどでは独自のinitを使用していた。ISO/IEC 23360-1:2006の国際規格[1]になったLinux Standard Baseではinitを定義している[2]。 他にもいくつかinitの設計上の限界に対処した代替として、systemdやUpstartがあり、Ubuntu[3][4]や他のLinuxディストリビューションで採用している[5][6]。 System V系のinitSystem Vのinitは、
ランレベルSystem Vのランレベル (runlevel) は、マシンの状態を実行するプロセス群によって分類したものである。一般に 0 - 6とSまたはsという8段階のランレベルがある。Sとsは同じランレベルの別名である。この8段階のうち、以下の3つは予約されたランレベルである。
これら以外のランレベルは、各システムによってそれぞれ意味が異なる。一般に、 デフォルトのランレベル
上記表でデフォルトのランレベルを5としているLinuxディストリビューションでは、5というランレベルはマルチユーザーのグラフィカル環境(X Window Systemと、その上でディスプレイマネージャが起動される)である。しかし、Solarisでは、ランレベル5はシャットダウンと電源オフの自動化のために予約されている。 現在のランレベルは以下のようなコマンドを使って調べることができる。
通常、ランレベルはrootが BSD系のinitBerkeley Software Distribution (BSD) のinitは、
BSDの子孫では、伝統的に NetBSD 1.5では完全にモジュール化したシステムを導入し、それがFreeBSD 5.0およびそれ以降にも移植されている。このシステムは、 initをスキップするinitはマシンを立ち上げる唯一の方法ではない。最近のブートローダ(たとえばLILOやGRUB)では、カーネルが初期化の最後に何を起動するかを指定することができる(既定値はもちろん BSD系では、ブート処理は途中で割り込むことができ、 ブートが行われている端末が カーネルのブート処理後、initを起動できない場合はパニックが発生して、システムは利用できなくなる。initのパス指定方法はオペレーティングシステム (OS) によって異なる(NetBSDでは initの代替initに比較して何らかの長所を持つ代替がいくつも開発されてきた。
脚注
関連項目外部リンク
|
Portal di Ensiklopedia Dunia