メモリアドレスマッピング - kentakozuka/yetos GitHub Wiki

  • 仮想アドレスを物理アドレスにマップする機能
  • アプリAとアプリB、あるいはOSの機械語や変数を置くためのメモリ領域を被らないように物理メモリ上に配置しつつも、それぞれのアプリが実行する機械語には同じメモリアドレスを含むことができるようにする
  • アドレス変換を行うハードウェアをMMU (Memory Manageent Unit)と呼び、MMUはCPUに内蔵されている。MMUはアドレス変換の他にメモリ権限の検査なども行う

セグメンテーション

現在、x86-64アーキテクチャの64ビットモードではほとんど無効化されている

ページング

  • メモリアドレス空間を固定長の領域(=ページ)に分け、ページごとにアドレスをマップする方式
  • x86-64アーキテクチャの64ビットモードではページの大きさは4KiB, 2MiB, 1GiBから選べる

階層ページング構造