generated at
メモリセグメント
memory segments
1つのプロセスに割り当てられる仮想アドレス空間のセグメントの話

言語の仕様や実装による
メモリをどう扱うかという話なので、好きなように分けちゃって良い
一般的にこの4つに分けると便利だよね、みたいなのがあるだけ

下がアドレス0
上に行くほどアドレスは大きくなる



静的な領域
コンパイルやリンクの時点でサイズや場所が決まる
block starting symbol
初期化されていないグローバル変数を置く



動的な領域
実行時にサイズや場所が決まる
動的にサイズが確保されるデータを置く
関数の引数やローカル変数などの一時変数を置く






参考
Ruby, PHP, Python, C, Java, Rustについても
実験して各セグメントのサイズを可視化