プロセス制御の初期化(init/systemd)
カーネルが起動し、OSとして稼働するための初期設定が行われた後に、Linuxのプロセス制御を行うフェーズが始まります。このフェーズでは、プロセス制御を行う仕組みがOS全体の動作を管理します。歴史的に最も古く登場したのがSysVinit、その後、Upstart、最後にsystemdが登場しました。
プロセス制御システムの比較
項目 | SysVinit | Upstart | systemd |
---|---|---|---|
登場時期 | 最も古い | SysVinitの後 | 最新 |
動作原理 | ランレベルに基づく | イベント駆動型 | ユニットファイルベース |
スクリプト配置 | /etc/init.d | /etc/init | /etc/systemd/system |
長所 | シンプルで理解しやすい | イベントに応じた柔軟なプロセス管理 | 高速な起動、並列処理が可能 |
短所 | 並列処理が困難、起動速度が遅い | 複雑で分かり難い | 複雑で分かり難い |
使用状況 | 古いディストリビューションで使用 | いくつかのディストリビューションで使用 | 現在の標準 |
LPIC-1の試験
LPIC-1の試験範囲には、SysVinitとsystemdが含まれています。試験では、これらのプロセス制御システムの基本的な操作や管理方法について問われます。
項目 | 説明 |
---|---|
SysVinit | ランレベル、/etc/init.d スクリプトの理解と操作 |
systemd | ユニットファイルの理解、基本コマンド(systemctl など)の操作 |
SysVinitの基本コマンド
コマンド | 説明 |
---|---|
init | ランレベルの変更 |
service | サービスの開始、停止、再起動 |
/etc/init.d/ | 各サービスのスクリプトが配置されているディレクトリ |
systemdの基本コマンド
コマンド | 説明 |
---|---|
systemctl start [サービス名] | サービスの開始 |
systemctl stop [サービス名] | サービスの停止 |
systemctl restart [サービス名] | サービスの再起動 |
systemctl enable [サービス名] | サービスの自動起動設定 |
systemctl disable [サービス名] | サービスの自動起動設定解除 |
まとめ
Linuxのプロセス制御システムは、SysVinitから始まり、Upstartを経て、現在のsystemdに至ります。SysVinitはシンプルなスクリプトベースのシステムであり、Upstartはイベント駆動型で柔軟な管理を可能にしました。そして、systemdは並列処理と高速な起動を実現し、現代のLinuxディストリビューションで標準となっています。LPIC-1の試験範囲にはSysVinitとsystemdが含まれており、それぞれの基本的な操作と管理方法が重要です。