Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
仮想記憶 ~確認編~
Search
Satoru Takeuchi
PRO
January 23, 2023
Technology
300
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
仮想記憶 ~確認編~
以下動画のテキストです。
https://youtu.be/J3x2SI_9Tkk
Satoru Takeuchi
PRO
January 23, 2023
More Decks by Satoru Takeuchi
See All by Satoru Takeuchi
119-多機能ファイルシステムBtrfs_のコピー.pdf
sat
PRO
1
82
Linuxカーネルの インタフェースは変わりうる?
sat
PRO
1
110
あなたの知らないバージョン命名規則
sat
PRO
3
930
Rook: Intro and Deep Dive with Ceph
sat
PRO
1
82
Machine Check Exception
sat
PRO
2
73
バイナリダンプの模様を読む
sat
PRO
0
120
cpコマンドはディスク上でデータを コピーしないことがある
sat
PRO
3
120
114-ファイルのshallow_copy.pdf
sat
PRO
2
71
113-Btrfsのスナップショット.pdf
sat
PRO
0
50
Other Decks in Technology
See All in Technology
令和の今、あらためて IAM を考える。アクセスキーを「無くせない現実」との向き合い方
kazzpapa3
0
490
Metadata - Section 3 : Dublin Core Standard · DC
mohab1
0
110
並列度を下げたら速くなった — go build の重複コンパイルを実測で見る
tomoaki25
2
880
登壇はいいぞ! 〜Kaigi on Railsに登壇して起きた3つの変化〜
occhi
0
110
Gifu WordPress Meetup #200 に向けて、私たちには何ができるだろうか?/ 2026-11-07 Gifu WordPress Meetup
torounit
0
230
AI時代の組織作り:チーム開発から「個人×AI」への移行と、持続可能な「開発資本」の築き方
ham0215
2
320
AX時代の自治体支援リソース再配分と役割分担の再構成:戦略とロードマップ(概要)
sishi2026
0
200
顧客合意を取りながら進めるAWSコスト削減の実践
optim
0
130
超⼩型・多⾔語検索モデル Bekko Embedding
hotchpotch
1
120
An Introduction to Context Ontology Accelerator (teaching AI agents what your data means)
inariku
PRO
1
130
現場を動かすAIエージェント#2_製造業現場でのAI活用から見た、ハマる罠と実践知
kintotechdev
2
200
Sizing, Benchmarking and Performance Tuning Apache Flink Clusters
rmetzger
0
130
Featured
See All Featured
Design of three-dimensional binary manipulators for pick-and-place task avoiding obstacles (IECON2024)
konakalab
0
650
Organizational Design Perspectives: An Ontology of Organizational Design Elements
kimpetersen
PRO
1
880
The Mindset for Success: Future Career Progression
greggifford
PRO
0
560
Faster Mobile Websites
deanohume
310
32k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
23k
Bash Introduction
62gerente
615
220k
Technical Leadership for Architectural Decision Making
baasie
3
640
Jamie Indigo - Trashchat’s Guide to Black Boxes: Technical SEO Tactics for LLMs
techseoconnect
PRO
0
740
Speed Design
sergeychernyshev
33
2.2k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
11
1.1k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
659
62k
SEO for Brand Visibility & Recognition
aleyda
0
4.9k
Transcript
仮想記憶 ~ 確認編 ~ Jan. 23rd, 2023 Satoru Takeuchi twitter:
satoru_takeuchi
はじめに • 「その54 仮想記憶 ~概念編~」で説明したことを実機で確認 • 話を簡単にするために実行ファイルはPIEではないとする ◦ その35 Address
Space Location Randomization
おさらい: 仮想記憶 • プロセスごとに固有の仮想アドレス空間を持つ ◦ プロセスは仮想アドレスしか指定できない ◦ 仮想アドレスにアクセスするとカーネルとハードウェアが連携して物理アドレスに変換し、物理メモリ にアクセス 物理メモリ(システムに搭載されているメモリ
) プロセスAの 仮想アドレス空間 物理アドレス空間 プロセスAのメモリ プロセスBのメモリ プロセスBの 仮想アドレス空間
実験してみよう • 実験プログラム 1. グローバル変数fooの値とアドレスを表示して ENTERキーが押されるのを待つ 2. もう一度(1)と同じことをする 3. fooの値を書き換えた後に
fooの値とアドレスを表示して ENTERキーが押されるのを待つ • やること 1. 上記プログラムを2つ動かす。それぞれを A,Bとする 2. 2つのプログラムが同じアドレスにマップされていることを確認 3. A、Bともにfooの値とアドレスが同じであることを確認 4. Aだけfooの値を書き換える(Aをstep2まで実行) 5. Bのfooの値は変わってないことを確認 (Bをstep2まで実行) 6. Bのfooの値を書き換える(Bをstep2まで実行)
初期状態 物理メモリ(システムに搭載されているメモリ ) プロセスAの 仮想アドレス空間 物理アドレス空間 プロセスAのメモリ プロセスBのメモリ プロセスBの 仮想アドレス空間
foo(=0) foo(=0) &foo (=0x571260) &foo (0x571260)
プロセスAのfooの値を書き換え 物理メモリ(システムに搭載されているメモリ ) プロセスAの 仮想アドレス空間 物理アドレス空間 プロセスAのメモリ プロセスBのメモリ プロセスBの 仮想アドレス空間
foo(=100) foo(=0) &foo (=0x571260) &foo (0x571260)
プロセスBのfooの値を書き換え 物理メモリ(システムに搭載されているメモリ ) プロセスAの 仮想アドレス空間 物理アドレス空間 プロセスAのメモリ プロセスBのメモリ プロセスBの 仮想アドレス空間
foo(=100) foo(=100) &foo (=0x571260) &foo (0x571260)
まとめ • 「その54 仮想記憶 ~概念編~」で述べたことが実証できた • 📝「どうやって仮想アドレスを物理アドレスに変換しているか」について説明する動 画を作成見込み