勉強前イメージ
OSの中心部分となるもの
HWへの司令する場所で、カーネルだけでは動かない
調査
カーネル とは
オペレーティングシステム(OS)の中核を構成するソフトウェア
プログラムの起動や終了、メモリの割り振りなどソフトウェアとハードウェアの間で仲介する役割
アプリがリソースを使って動作できるようにします
これはサーバだけではなく、PCや携帯電話にも当てはまります
主要なカーネルの種類
- モノリシックカーネル
OSのほとんどの機能をカーネルに盛り込み、一体化させたもの
入出力機能・ネットワーク機能などすべてカーネルが引き受ける
OSが一体化しているため、実行速度が速い
Linuxはモノリシックカーネルと言われているが、実際はハイブリッドという声もある
- マイクロカーネル
小さな(マイクロ)カーネルの意
モノリシックカーネルとは違い、OSの中核として必要最低限の機能割り込み処理やプロセス間通信処理)だけを持っており
他の処理はモジュールに任せる
メリットはカーネルの肥大化を防ぎ開発効率を上げたり、追加機能を用意にしたりする
他にも以下のカーネルなどがある。
- ハイブリッドカーネル
- ナノカーネル
- エクソカーネル
カーネルの動作
※今回は、一旦Linuxカーネルを中心に調べていきます
- メモリ管理
メモリが何にどれだけ割り振られたかを追跡します
- プロセス管理
どのプロセスがどれだけCPUを使えるかを確認・決定します
- デバイスドライバー
ハードウェアとプロセスを仲介します
- システムコールとセキュリティ
プロセスからのサービス要求を受け取ります
勉強後イメージ
カーネルにも種類があったとは知らなかった
必要最小限だけ(マイクロカーネル)だと思ってたら、実はそうでもない(モノリシックカーネル)のかな?
今回は種類とどういうものか、しか調べられなかった...
今度はもう少し突っ込んだ内容をしたい