前回解説した「ここが変わった、CentOS 7のポイント」に続き、今回はより実務にLinuxの起動処理やシステム管理を行う、キモの仕組みが「systemd」です。CentOS 7では、これまで使われてきた「init」の限界を克服するために作られた新しいシステム管理アーキテクチャとして、このsystemdを使います。今回はsystemdの基礎を、あらためてイチから解説します。
まずはその特徴を深く簡単に理解できるよう、これまで使われていたinitをおさらいします。
initは、Linuxを含むUNIX系システムのプログラムの一つで、他のプロセスを起動する役目を持つプログラムです。ブートローダーがカーネルを起動し、カーネルがinitを起動し、initが他のプロセスを起動する仕組みになっています。
2015年現在も多くのLinux系システムで使われているinitは、1983年に米AT&Tが開発し、リリースしたSystem V(システムファイブ)のinitを起源としています。
長く使われてきたinitですが、昨今のコンピューター性能の向上に伴い、次第にボトルネックとなる面が目立つようになってきました。
Systemdは、initの制限や課題を解消するために、レナート・ポッターリング(Lennart Poettering)氏とケイ・シェバース(Kay Sievers)氏によって開発されました。ポッターリング氏はsystemdの目的を「Rethinking PID 1」としてまとめています。このリポートでは、systemdの特徴を以下のように定義しています。
「To start Less」とは、起動時は最低限のサービスのみを起動し、必要になったときに必要になったものを起動する仕組みとするものです。
「And to start more in parallel」とは、起動時に必要な要素を並列に起動し、システムのCPUやI/Oの帯域を最大限活用することで起動時間の短縮を図る考え方です。
このように、systemdはこれまでinitで課題になっていた部分を改善し、システムの性能を最大限活用できるアーキテクチャとして設計、実装されています。
Copyright© 2015 ITmedia, Inc. All Rights Reserved.
@IT編集部では現在、編集スタッフを募集しています。編集経験は不問。 ITに関する経験のある方、ご応募お待ちしています。