第5回「Linuxのしくみ」読書会に参加しました

6/6 に開催されたNSEGの「Linuxのしくみ」読書会の第5回に参加しました。参加者7名。

nseg.connpass.com

今回は、第5章の途中(p.135)から第6章の途中(p.170)まで読みました。

個人的な収穫

階層型ページテーブル、ヒュージページについては知りませんでした。

誤植等

  • p.139 誤植というかプログラムのバグだけど、プロセスIDが5桁未満の場合は ps の出力が空白で始まるので、grep ^%d に適合せず出力されない。
  • p.141 「親プロセスと子プロセスでメモリで共有されているメモリは」
  • p.144-145 プロセスBの仮想アドレスから物理メモリ500に不要な線がある。
  • p.145 PDF版第2版 は 145ページが重複していて146ページがない。[追記] 2018/06/23時点では修正されています。
  • p.152, 154 「物理アドレス」であるべきところが「下位のページテーブル」になっている。
  • p.155 「mdadvise」→「madvise」

その他

  • プロセスサイズだけでは実際のメモリ使用量はわからない。/proc/*/smaps の Pss を見れば目安になる。という話をしました。
  • 誤植つらい。p.145 が重複してるって何事??? 実はこの2つのページには1箇所違いがあります。誤植を直してページを差し替える時に間違って p.146 を消して修正後の p.145 を入れてしまったのかな…。

f:id:tmtms:20180606223508p:plain

[追記] 2018/06/23時点では修正されています。


次回は6/20です。

nseg.connpass.com