回答:
Linux 2.6以降:
カーネル
カーネルは、RAMに読み込まれた後、次の機能を実行します。
setup()
:
startup_32()
:
eflags
レジスタのすべてのビットをクリアします。decompress_kernel()
カーネルイメージを解凍するために呼び出します。startup_32()
(同じ名前、その他の機能):
bss
セグメントをゼロで埋めます。eflags
レジスタのすべてのビットをクリアします。start_kernel()
:ほぼすべてのカーネルコンポーネントがこの関数によって初期化されますが、これらはごく一部です。
/sbin/init
)完全な「リスト」は、linux / init / main.cのソースから入手できます。
初期化
Initは、システムを望ましい状態にするために必要なすべてのユーザープロセスを開始します。このルーチンは、配布と呼び出されるランレベルに大きく依存します。
runlevel
コンソールに入力すると、システムの現在のランレベルが表示されます。
/etc/rcX.d/
(または/etc/rc.d/rcX.d/
)を調べて、Xをランレベルに置き換えます。
これらは、実行優先度順に並べられたシンボリックリンクです。S01....
つまり、このスクリプトは非常に早く開始さS99....
れ、起動プロセスの最後に実行されます。KXX....
シンボリックリンクはシャットダウンシーケンスのために同じですが、操作を行います。
一般に、これらのスクリプトは、ディスク、ネットワーク、ロギング、デバイス制御、特別なドライバー、環境、およびその他の多くの必要なシーケンスを処理します。