By Kei YamadaMarch 10th 2021

Linuxとは何か?オペレーティングシステム(OS)なのか?実は、LinuxはカーネルでありOSではありません。フリーでオープンソースです。Linuxカーネルは1991年にLinus Torvaldsによって開発されました。彼はUnixのようなオペレーティングシステムを作ろうとしていましたが、その中でLinuxカーネルが開発されました。それ以来、Linuxカーネルは多くのオペレーティングシステムを生み出し、時が立つにつれてますます人気を集めています。LinuxカーネルはDebian、Red Hat、Arch Linuxオペレーティングシステム上にあります。これらのディストリビューションでは、多くのオープンソースプロジェクトが作成されています。UbuntuはDebianのブランチです。FedoraはRed Hatのブランチです。そして、ManjaroはArch Linuxのブランチです。この記事では、カーネルとは何か、そしてLinuxカーネルがモノリシックカーネルとどのように違うのかについて説明します。

カーネルとは何か?

カーネルとは、オペレーティングシステムの起動時にロードされるコアプログラムまたは最初のプログラムのことです。カーネルは、POSTとブートローダの後に最初にロードされるものです。以下の処理を行います。

  1. 起動
  2. 他のプログラムのI/O
  3. デバイスドライバ(デバイスとはキーボード、スピーカー、ネットワークカードなどのこと)

Linuxカーネルはモノリシックカーネルとどう違うのか

Linuxはマイクロカーネルと呼ばれるものです。マイクロカーネルは、必要のないソフトウェアドライバやコードでOSを肥大化させないように、最低限のコードを実行します。モノリシックカーネルとは異なります。モノリシックカーネルでは、ソフトウェアが必要かどうかに関わらず、すべてのソフトウェアドライバやコードをロードしてしまい、システムをクラッシュさせる可能性のある肥大化やメモリの問題を引き起こします。Linuxカーネルはマイクロカーネルであるため、不要なソフトウェアドライバやコードをロードする必要はありません。そのため、Linuxカーネルベースのオペレーティングシステムは、サーバーアプリケーションに広く使われています。必要なソフトウェアのみをロードします。また、この安定性はより良いメンテナンスを可能にします。Linuxカーネルがソフトウェアを処理する方法は、クラッシュしたサービスを再起動するだけです。オペレーティングシステム全体を再起動する必要はありません。

)