カーネルの役割 is 何

カーネルはハードウェアとソフトウェア(アプリケーション)のやりとりを管理します。

例えばアプリケーションが通信したいというとカーネルは無線LANアダプタに通信してくれと命令をしますし、アプリケーションがデータを保存したいというとカーネルがSSDやHDDにデータを保存するように命令をします。

カーネルってなんのためにいるの?

アプリケーションが直接ハードウェアに命令すればいいじゃんって思った人
(私は最初思いました。)

ハードウェアをアプリケーションが好き勝手に使えたとします。Webブラウザがメモリを100%使ってCPUも100%使って爆速でYoutubeを再生したとします。すごい!カーネルいらない!

とはなりません。メモリもCPUも余力が全く残りません。メールは見れないし、マウスは動きません。困りますね!

カーネルはアプリケーションが好き勝手に勝手にハードウェアを触らないようにハードウェアの割り当てる量を調整します。

コンピュータの構造を説明するときに書きのような図がよく使われます。オレンジの部分がOSです。

この図はそれぞれ隣り合ったものしか触れません。例えばユーザが手や足を使ってUSB メモリ(ハードウェア)にデータを書き込むことはできません。カーネルがUSB メモリにデータを書き込みます。

ま、現実問題こんなに綺麗に分かれないんですけどね

この記事が気に入ったらサポートをしてみませんか?