PDP-11 のメモリ管理云々

Lions' 本とか PDP11-40 Handbook なあたりなどを見つつなメモを以下に。

  • word size が 16bit なので 64KB なメモリの取り扱いが可能
  • ページサイズは 8KB でページが 8 つ存在する形
  • User mode および Kernel mode それぞれで 8 つづつ存在
  • 小さい空間を効率的に使うためなのか、最小 64B 最大 8KB の可変長なページサイズ
    • Lions' 本では 64B を 1 ブロックとして 128 ブロックまでの集合体、という記述
    • マニュアルでは page length from 32 to 4096 words という記述
    • 最初、displacement field が何故 block と dib に分かたれているのかが謎だった
  • 64KB よりも大きいメモリ容量だった場合でも仮想メモリ空間は 64KB だった模様
    • 類推です
  • block size の根拠としては、displacement in block が 6bit で表現されてて値の範囲が 0 〜 63 ということで 1 block が 64B
  • page size の根拠としては displacement field が 13bit で表現されてて値の範囲が 0 〜 8191 ということで 1 page が 8KB

ちょっと APF というソレの意味が分かっていないみたい。というか v6 な unix がどうやってメモリを管理しているか、がイメージできてない。

Lions' 本のセグメンテーションレジスタの説明に_無効なアドレス_に関する記述があるのを発見。でもちょっとよく分からない。

各ページは 32 ワード境界で上位部分と下位部分の 2 つの部分に分割できる。その部分はそれぞれ 32 ワードの倍数の大きさを持つ。特に、一方がなくてもよい場合があり、その場合他方はページ全体と一致する。

この次のセンテンスも理解が微妙。もう少し諸々確認してみます。