![Linux OS 設計に関する本はありますか?](https://rvso.com/image/52104/Linux%20OS%20%E8%A8%AD%E8%A8%88%E3%81%AB%E9%96%A2%E3%81%99%E3%82%8B%E6%9C%AC%E3%81%AF%E3%81%82%E3%82%8A%E3%81%BE%E3%81%99%E3%81%8B%3F%20.png)
Linux がなぜそのように設計されているのかについて書かれた良い本は何ですか? たとえば、HD が にある理由/dev/sda
、/dev/
null、ゼロ、urandom などがファイル (またはパイプ) である理由など。ループバック デバイスがあるのはなぜか (Linux ディストリビューションでは 0-7 とコントロールが表示されます)、bin、sbin、lib、usr (およびそれらの違い) があるのはなぜか。 に関するすべて/proc
。カーネルの内部には何があり、何がないのか? 私の記憶では、init.d はカーネルの一部ではなく、プログラムがどのように実行されるのか、これらをいつ実行するのかわかりませんでした。ファイルとして表されるブロック デバイスとキャラクター デバイスとは何ですか? また、キャラクター デバイスを '1 バイト' (または int) ブロック デバイスにできないのはなぜですか?
すべてがファイルである理由 (ソケットを含む) と、書き込み時に何が起こるのかがわかりませんcat /proc/cpuinfo
。これは、CPU 情報をオンザフライで読み取り、呼び出すたびにそのテキストを生成する OS への名前付きパイプですか?
答え1
Unix 系 OS の設計について詳しく説明する 2 つの優れたオンライン リソースを以下に示します。
Linuxカーネルを理解するそしてLinuxカーネル開発カーネルの内部を理解するのに適した本です。
クラシックUNIXプログラミング環境UNIX システムの設計哲学とその実際的な使用法を説明した素晴らしい本です。
この7部構成のよくある質問Unix 全般を理解する上でも役立つリソースです。