init |
辞書:電算用語の基礎知識 ソフトカテゴリー編 (PTSOFTC) |
読み:イニット |
外語:init |
品詞:名詞 |
UNIXやその互換OSで、システムが立ち上がった際、最初に起動されるプロセス。
|
概要 |
initは、全てのプロセスの親となる。initはデーモンプロセスとして起動され、プロセスIDは通常、1が付与される。
initの主要な機能は、その設定ファイルに従い、必要なプロセスを作成することである。
大きくBSD系とSystem V系の二大潮流があり、両者は大きく仕様が異なっている。Linuxの場合は、どちらかに互換のあるものが使われているが、ディストリビューションによっては独自のものが使われている。
特徴 |
initは起動時に読み込まれる必要があるため、起動時にマウントされるドライブに存在する必要がある。
通常は、最初にマウントされるrootfsに置かれる。つまり、ルートディレクトリか、そのサブディレクトリに置かれる。
Androidにも/sbinはあり、これは他と同様にrootfsにあるサブディレクトリだが、initはルートディレクトリに置かれている。
機能 |
System V系 |
System V系のinitは、/etc/inittabを読み、動作する。これはinit専用の設定ファイルであり、拡張性は高いが、複雑で、手書きにはあまり向いていない。
このinitは「ランレベル」と呼ばれる8段階のプロセスの分類群がある。/etc/inittabに標準のランレベルを定義するエントリが書かれるが、もしない場合は、ユーザーが起動時に手入力せねばならない。
is:2:initdefault:
なお、ランレベルの定義は、システムごとに異なっている。
それぞれのランレベルで何を行なうかも、/etc/inittabにて定義されるのが一般的である。
BSD系 |
BSDのinitは、/etc/rcを起動する。これはシェルスクリプトであり、必要な動作はここに記述される。
手で簡単に書き換えられるという利点があるが、設定を誤ると簡単に起動不可能な状態に出来るという難点もある。
古いBSDでは、サービスの設定は/etc/rc.localで行ない、これが/etc/rcから呼び出される、という形式を取っていた。起動不可能な状態に陥ることを、多少でも避ける目的があった。
現在のBSDでは、/etc/rc.dディレクトリ下に、サービスごとに細かく分けられたシェルスクリプトが置かれ、これが/etc/rcから順次実行するようになっている。このスクリプトは、サービスの有効化/無効化でそれぞれ呼び出され、適切な処理を行なうように書かれている。
Linux系 |
Linuxの場合、init実行まで、通常は次のような手順を踏む。
一般的な環境では、/etc/initや/bin/initは存在せず、/bin/shはbashなどへのシンボリックリンクとなっており、実際に起動するのは/sbin/initである。
Android |
Androidは、カーネルはLinuxだが、それ以外の殆どはオリジナルであり、initもオリジナルが使われている。
Androidでは、/initが実行ファイルであり、/init.rcを読み、動作する。
このファイルはAndroid Init Languageと呼ばれ、Androidのinit専用の初期化スクリプトである。専用だけあり、Androidの初期化に必要なことはほぼ可能なように作られている。
リンク |
通信用語の基礎知識検索システム WDIC Explorer Ver 7.04a (27-May-2022) Search System : Copyright © Mirai corporation Dictionary : Copyright © WDIC Creators club |