Lions' Commentary on UNIX 読書会メモ#8 おさらい

はじめに

Lions本読書会#8で詰まった箇所がありました。

それを整理し、解説した動画を作ってみたので公開します。

説明動画

大きな流れ

  • アドレス周りのおさらい
  • estabur( ), sureg( )のおさらい
  • xalloc( )のおさらい


訂正&補足

  • 「メモリアドレスの話」の絵でvirtual memory 16K, physical memory 18Kと描いてありますが、virtual memory 16bits, physical memory 18bitsの誤りです
  • 「KernelのAPRは最初にセットされて固定」と言っていますが「KernelのPAR7(1から数えて7番目)」はユーザプロセスが切り替わるたびに値が変わります
  • estabur( )の説明で「セグメンテーション情報が切り替わるとき」と言っていますが、より正確に言うと「ページの情報が変わるとき」です
  • sureg( )のソース説明の部分で「aは先頭ページのアドレス」と言っていますが、「aはp_addr」の間違いです
  • データセグメントでは、プロセス固有データ領域を超えたところからPARにセットされます


注意

  • 携帯で撮っています。手振れや画質の悪さなどご了承ください
  • 風邪で咳き込む箇所がありますがご了承ください
  • 細かい表現で怪しい箇所はありますが、全体の流れはこんな感じだと思います
  • 「ページ」「セグメント」というキーワードの使い方が怪しいです。定義は本などで確認してください


参考資料

  • Lions' Commentary on UNIX 6, 7, 8章
  • PDP11/40 handbook chapter6 Memory management

終わりに

動画で説明という初めての試みをしてみました。いかがでしょうか。