Linuxカーネル
OSの中核、ハードウェアとソフトウェアの橋渡し
Linuxカーネルとは
カーネルはOSの中核部分で、ハードウェアとアプリケーションの間を仲介します。 プロセス管理、メモリ管理、デバイスドライバ、ファイルシステム、ネットワークスタックなど OSの基本機能を提供します。Linuxカーネルはモノリシックカーネルですが、 モジュールにより動的に機能を追加できます。
Linuxシステム構造
ユーザー空間(User Space)
アプリケーション、シェル、ライブラリ
↕ システムコール
カーネル空間(Kernel Space)
プロセス管理
メモリ管理
ファイルシステム
ネットワーク
↕ デバイスドライバ
ハードウェア
CPU、メモリ、ディスク、NIC
カーネルの主な役割
プロセス管理
- • プロセスの生成・終了
- • スケジューリング(CPU時間配分)
- • プロセス間通信(IPC)
メモリ管理
- • 仮想メモリ
- • ページング・スワッピング
- • メモリ保護
デバイス管理
- • デバイスドライバ
- • 割り込み処理
- • I/O制御
ファイルシステム
- • VFS(仮想ファイルシステム)
- • 各種FS対応(ext4, xfs等)
- • バッファキャッシュ
カーネルバージョン
5.15.0-generic
5 = メジャー15 = マイナー0 = パッチ
# カーネルバージョン確認
uname -r
cat /proc/version
SRE/インフラ観点
カーネルパラメータ(sysctl)
/proc/sys/ 配下のパラメータでカーネル動作をチューニング。 ネットワーク、メモリ、ファイルシステムの最適化に使用。
カーネルアップデート
セキュリティパッチ適用時は再起動が必要な場合あり。 Livepatch技術で再起動なしの適用も可能(一部)。