カーネルの役割 is 何
カーネルはハードウェアとソフトウェア(アプリケーション)のやりとりを管理します。
例えばアプリケーションが通信したいというとカーネルは無線LANアダプタに通信してくれと命令をしますし、アプリケーションがデータを保存したいというとカーネルがSSDやHDDにデータを保存するように命令をします。
カーネルってなんのためにいるの?
アプリケーションが直接ハードウェアに命令すればいいじゃんって思った人
(私は最初思いました。)
ハードウェアをアプリケーションが好き勝手に使えたとします。Webブラウザがメモリを100%使ってCPUも100%使って爆速でYoutubeを再生したとします。すごい!カーネルいらない!
とはなりません。メモリもCPUも余力が全く残りません。メールは見れないし、マウスは動きません。困りますね!
カーネルはアプリケーションが好き勝手に勝手にハードウェアを触らないようにハードウェアの割り当てる量を調整します。
コンピュータの構造を説明するときに書きのような図がよく使われます。オレンジの部分がOSです。
この図はそれぞれ隣り合ったものしか触れません。例えばユーザが手や足を使ってUSB メモリ(ハードウェア)にデータを書き込むことはできません。カーネルがUSB メモリにデータを書き込みます。
ま、現実問題こんなに綺麗に分かれないんですけどね
この記事が気に入ったらサポートをしてみませんか?