シェル(UNIX)のイメージのよくある誤解
「シェル」って「カーネルを貝殻(shell)のように包んでユーザとの間を取り持つ」ってことでイメージが作られてるけど、その中身結構テキトーだよね、というちょっとしたまとめ。
- angel_p_57
- 8687
- 57
- 1
- 0
「赤字」ってのは、strace の抜粋の方のことね。念のため
angel (as ㌵㌤の猫)
@angel_p_57
※コマンド読み込みとか、メッセージ出力もカーネルがもろ関係するけど、そこまで絵に入れるとごちゃごちゃするので、そこはめっちゃ簡単に
2020-04-20 22:07:39
angel (as ㌵㌤の猫)
@angel_p_57
ということで、「シェルがなんでも中継するよ」って絵は、( まじめに動きを見てたらそんな解釈はできないわけで ) 完全に空想の産物と分かる、と。
2020-04-20 22:10:18
angel (as ㌵㌤の猫)
@angel_p_57
…いや、ここらへんはモデルを示す方が検証して推敲して作るもので、空想を否定するためになんか調査してみせるって、はっきりいってナンセンスなんだけど。
2020-04-20 22:11:47
angel (as ㌵㌤の猫)
@angel_p_57
なので、カーネルはあくまで「シェルに限らず」色々なアプリからの処理依頼をこなすものだし、シェルはなんでもかんでも中継するような役回りじゃなくて、主にアプリ起動に特化した存在。
2020-04-20 22:08:59
angel (as ㌵㌤の猫)
@angel_p_57
で、シェルのことを「機器を操作するためのインターフェースになりますよ」くらいに抑えて言っておけば全然ウソじゃないし、有用な情報だと思うんだけど、「カーネルとの間を取り持ちます」なんて言っちゃうと、もうデマになってしまう。
2020-04-20 22:13:18
angel (as ㌵㌤の猫)
@angel_p_57
「なんとなく詳しく説明してる風の方が分かり易いだろう」は害ね。 ちょうど「蛇足」という故事があるけど、むしろ単なる「にょろんとした線」なら詳しくないけど蛇と言い張れるものの、足をつけちゃうと、どんなに緻密に書いててもニセの蛇になる。
2020-04-20 22:15:14
angel (as ㌵㌤の猫)
@angel_p_57
概要を説明するときは、ちゃんと実態から逸れないよう要約できているか、常に気を使わないといけない。 ※むしろ私は細かく書きすぎるきらいがあるのでまだまだだと思う。 「初学者向けなんだから」と正当化するのは、自身の無理解を棚に上げた言い訳でしかないと思う。
2020-04-20 22:17:56