はじめに
1日1項目1時間学習の会
今回のテーマはOSカーネルの役割についてです。
カーネルとは
「カーネル(Kernel)」は、システム全体に中核部分です。
システム全体を管理し、ハードウェアとアプリケーションの橋渡しをする。
カーネルの役割
1.プロセス管理
- CPUを各プロセスに適切に割り当て、並列処理を実現
- プロセスの状態(実行中、待機中、終了)を管理してプロセスの生成・終了を制御する
- プロセス間の競合を防ぐためにスケジューリングを行う
2.メモリ管理
- プロセスが使用するメモリの割り当てと解放を行う
- 仮想メモリ機能を提供し、物理メモリが不足してもストレージを一時的にメモリとして使用する
- メモリの保護を行い、プロセス間でのメモリ侵害を防ぐ
3.デバイス管理
- キーボード、マウス、ディスク、ネットワークなどのハードウェアをアプリケーションが容易に操作できるようにする
- デバイスドライバを通じて、各種ハードウェアとの通信を行う
4.ファイルシステム管理
- ファイルやディレクトリの管理を行い、読み取り・書き込み・削除などの操作をサポートする
- ストレージデバイス上のファイルの整合性を維持し、データの紛失を防ぐ仕組みを提供する
5.ネットワーク管理
- データの送受信を管理し、ネットワーク通信を可能にする
- TCP/IPなどの通信プロトコルを実装し、アプリケーションが通信機能を使えるようにする
6.セキュリティとアクセス制御
- ユーザーやプロセスに対するアクセス権限を管理し、不正なアクセスを防ぐ
- ユーザー認証、ファイル暗号化、プロセス隔離など、セキュリティ機能を提供する
参考