Rundevlog

小さい会社のしがないエンジニアのブログ

2025.3.2

カーネルとシェル

カーネルとは

カーネルとはCPUやメモリなどハードウェアを管理し、処理を実行するOSの核になる部分。

Linuxは様々なディストリビューションが存在しているが、広義では、各ディストリビューションをLinuxと呼ぶが、狭義のLinuxはLinuxカーネルを指している。

シェルとは

シェルはユーザーから受け取ったコマンドを解釈し、カーネルに処理の指示を出すソフトウェア。

bashやzshが主流。

シェルとカーネルが別れている理由

シェルとカーネルが分かれている理由は下記。

・シェルをユーザーの好みで変更できる

・OSが異なっていてもシェルが移植できていれば同様の操作を行うことができる

・高負荷によってシェルが破損しても、OSを破損からまもることができる

そういえばMacもLinuxと同じコマンドが使えるが、それはシェルが移植されているからというのが正しいのかな。

また、Macは以前までBashであったが現在はzshを使用している。これも一つ目のユーザー(この場合はAppleの開発者だけど)の好みで変更できるという理由によるところかと。