カーネルの進化
カーネルはOSの中枢です。
そのため、稼働中のシステムに対して、カーネルを途中で入れ替えるということは基本的にやりません。
カーネルを入れ替えるということは、それまで動いていたシステムとはまったく違うものとなるということであり、それまで動いていた環境が入れ替え後もそのまま動くとは限らないからです。
ただ、コンピュータの進化は凄まじく、ハードウェアの数や種類はものすごく多くなってますし、コンピュータの処理能力も年々上がっていきます。
そのような流れに伴い、カーネルに要求される機能は増え、それらの機能に対応していくため、カーネルのサイズはどんどん大きくなっていきます。
この事態は好ましいことではありません。
というのも、前述しましたが、カーネルは途中で入れ替えることはできないからです。
そこで、カーネルにはOSが担う各種機能のうち、必要最小限のみを実装し、残りを部品化し分離することで、全体の設計が簡素化でき、結果的に性能も向上できるという考え方が広まっていきます。
そのような考え方で設計されたカーネルを「マイクロカーネル」と呼び、WindowsやLinuxなど、現在も使われているほとんどのOSはマイクロカーネルであると言えるようになっています。
そして、カーネルから外した部分(部品)は「カーネルモジュール」という形で提供します。
そのような形を取ることで、カーネルモジュールは時代に伴い増えていきますが、カーネルは変えずにカーネルモジュールだけ動的に追加するということが可能となります。