OS のメモリ管理の仕組みについて調べたことをまとめました。 読んでいただくと、以下のようなことについて少し詳しくわかるかもしれません。 あるユーザー空間プロセスが他のユーザー空間プロセスのメモリにアクセスできない理由 ユーザー空間プロセスがカーネル空間のメモリにアクセスできない理由 ユーザー空間のプロセスとスレッドの違いはどのように実装できるか 共有メモリはどのように実装できるか メモリマップトファイルはどのように実装できるか malloc は何故必要か あるコンテナが別のコンテナのメモリにアクセスできない理由 コンテナと仮想マシンのメモリ領域の分離についての違い 上記の全ての点について、仮想メモリという一つの機構で概ね説明可能である、というのが今回のポイントです。 また、そもそものユーザー空間プロセスとメモリの関係についても、少しわかるかもしれません。 当記事は、x86-64 CPU
