|
code 領域ってのはプログラム開発の時点(リンクが成功した時点)で大きさが決まっている。 んで、実行時に動的に増減することは無い。だから「実行開始時点」で ・開始できれば終了まであふれることは無くて ・開始できないなら「起動できません」エラーとなるだけ のこと。
> code保存するメモリが足りない現象を見た事はありません。 code を保存するのはリンク時点の話。 超巨大なプログラム code を故意に組むとリンク失敗することはありうる。 プログラムを実行する・終了するときに「 code を保存」するようなことは無い。
data 領域ってのはプログラムの実行中に増減するので > 何かデータ域を確保する時に、メモリ不足エラーに遭遇する事はありますが、 そのとおり。
OS の内部の詳細実装の話でなくて OS を使う側の認識としては
> Q1: code保存するメモリとdata保存メモリ完全に別々の管理方式でしょうか。 Yes
> Q2: メモリ空間も完全に切り離されているのでしょうか。 Yes
> それとも、codeも実際OSなどにより、mallocのような関数で確保されます? ここは OS 内部の詳細実装の話なのでユーザは気にしなくていい。
|