Linuxがなぜそのように設計されたのかについての良い本は何ですか?たとえば、なぜHDがにあるのか/dev/sda
、なぜ/dev/
null、zero、urandomなどがファイル(またはパイプ)なのかなどがあります。ループバックデバイスがある理由(Linuxディストリビューションで0〜7と制御が表示されます)、bin、sbin、lib、usr(およびそれらの違い)があるのはなぜですか?についてのすべて/proc
。カーネルの内部には何があり、何ではありませんか?私が覚えているように、init.dはカーネルの一部ではなく、プログラムがどのように実行されるのか、いつ実行するのかわかりません。ブロックデバイスとキャラクターデバイスとは何ですか?文字デバイスが「1バイト」(またはint)ブロックデバイスになることができないのはなぜですか?
を書くとき、なぜすべてがファイル(ソケットを含む)なのかわかりませんcat /proc/cpuinfo
。これはオペレーティングシステムの名前付きパイプですか? CPU情報を動的に読み込み、呼び出されるたびにそのテキストを生成しますか?
答え1
以下は、Unixシリーズのオペレーティングシステムの設計を理解するのに役立つ2つの素晴らしいオンラインリソースです。
LinuxカーネルについてそしてLinuxカーネルの開発カーネルの内部構造を理解するのに良い本です。
権威あるUNIXプログラミング環境Unixシステムの設計哲学と実際の活用方法を説明する素晴らしい本です。
この7つの部分よくある質問また、一般的なUnixについて学ぶのに役立つリソースです。