Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
仮想アドレスと物理アドレスの対応を実機確認してみよう
Search
Satoru Takeuchi
PRO
June 15, 2024
Technology
510
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
仮想アドレスと物理アドレスの対応を実機確認してみよう
以下動画のテキストです
https://youtu.be/o1gRyW8U3dA
Satoru Takeuchi
PRO
June 15, 2024
More Decks by Satoru Takeuchi
See All by Satoru Takeuchi
Machine Check Exception
sat
PRO
2
21
バイナリダンプの模様を読む
sat
PRO
0
67
cpコマンドはディスク上でデータを コピーしないことがある
sat
PRO
3
52
114-ファイルのshallow_copy.pdf
sat
PRO
2
37
113-Btrfsのスナップショット.pdf
sat
PRO
0
15
システム強制終了時にファイルシステムの整合性を保つ~ コピーオンライト編 ~
sat
PRO
0
59
システム強制終了時に ファイルシステムの整合性を保つ ~ ジャーナリング編 ~
sat
PRO
2
62
ファイルシステムの整合性を回復するfsck
sat
PRO
1
64
小学校5,6年生向けキャリア教育 大人になるまでの道
sat
PRO
8
5.2k
Other Decks in Technology
See All in Technology
依頼文化をやめる日 EM視点で語るPlatform EngineeringとInclusive SRE / Discussing Platform Engineering and Inclusive SRE from an EM's Perspective
shin1988
3
2.2k
金融の未来を考える / Thinking About the Future of Finance
ks91
PRO
0
150
プロンプト_きのこカンファレンス2026_LT
yurufuwahealer
0
140
SRE依存からの脱却 運用を開 発チームへ移す、 フルサイ クル開 発体制の実践
joooee0000
0
230
ゼロをイチにする仕事が終わったあと
smasato
0
290
最近評価が難しくなった
maroon8021
0
230
はてなのサービス基盤を支える Kubernetes《足腰》
masayoshimaezawa
0
440
フルAIで個人開発して学んだあれこれ / yuruai vol.1
isaoshimizu
0
180
cccccc
moznion
0
1.8k
認証認可だけじゃない! ID管理の構成要素と ライフサイクルを意識しよう
ritou
1
490
小さいから、全部わかる。— 常駐AI "xangi" のすすめ
sugupoko
0
270
AIに「使われる」時代のSaaS戦略 〜既存WebAPIのMCPサーバー化における開発ノウハウ〜
ekispert_api
0
290
Featured
See All Featured
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
123
22k
SEO in 2025: How to Prepare for the Future of Search
ipullrank
3
3.6k
DBのスキルで生き残る技術 - AI時代におけるテーブル設計の勘所
soudai
PRO
67
56k
Impact Scores and Hybrid Strategies: The future of link building
tamaranovitovic
0
330
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
11
960
Leveraging Curiosity to Care for An Aging Population
cassininazir
1
310
Money Talks: Using Revenue to Get Sh*t Done
nikkihalliwell
0
280
Designing for Timeless Needs
cassininazir
1
270
Mozcon NYC 2025: Stop Losing SEO Traffic
samtorres
1
270
The Curious Case for Waylosing
cassininazir
1
420
ラッコキーワード サービス紹介資料
rakko
1
3.8M
Documentation Writing (for coders)
carmenintech
77
5.4k
Transcript
仮想アドレスと 物理アドレスの対応を 実機確認してみよう Jun. 15th, 2024 Satoru Takeuchi X: satoru_takeuchi
1
はじめに • プロセスの仮想アドレスと物理アドレスがどう対応しているかはユーザ空間から確 認できる • 実際に実機確認してみよう • 環境 ◦ CPUアーキテクチャ:
x86_64 ◦ カーネル: 5.15.0-107-generic • 📝 x86_64以外でできるかどうかは確認していないので知らないです 2
確認方法 • /proc/<pid>/pagemapに各プロセスのページテーブル相当の情報がある • ページ(4KiB)単位で8バイトのデータがメモリアドレス0から並んでいる • 主なデータ: ◦ bit 0
~ bit 54: page frame number: 4KiBをかけると物理メモリアドレスになる ◦ bit 63: present bit • 読み出すにはCAP_SYS_PTRACE capabilityが必要 ◦ Ubuntu 22.04.5のデフォルト設定なら rootならOK ◦ 権限が無ければzero fillされる • 📝 詳細は man procfsを参照 3
実機確認 • vp-conversion.py ◦ sudo ./vp-conversion.py <pid> <仮想アドレス> • 仮想端末上で動いているbashの実行ファイルをmapしている領域がどの物理アド
レスにマップされているか確認 ◦ cat /proc/$$/maps を実行してbashのメモリマップを確認 ◦ sudo ./vp-conversion.py $$ <仮想アドレス> を実行してアドレスの対応を見る • 📝 ある瞬間にページがメモリ上にあったとしても次の瞬間には無くなっているかも しれない。それはまた別動画で 4
まとめ • /proc/<pid>/pagemapを読めばプロセスの仮想アドレスと物理アドレスの対応がわ かる • かっこいい 5