C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[2]: data メモリとcodeメモリ


(過去ログ 125 を表示中)

[トピック内 3 記事 (1 - 3 表示)]  << 0 >>

■74247 / inTopicNo.1)  data メモリとcodeメモリ
  
□投稿者/ 熱風 (1回)-(2014/12/10(Wed) 10:40:46)

分類:[C/C++] 


OS理論を勉強したことはないですけれど、あえて深い事を御伺いさせていただきます。
何かデータ域を確保する時に、メモリ不足エラーに遭遇する事はありますが、
code保存するメモリが足りない現象を見た事はありません。

Q1: code保存するメモリとdata保存メモリ完全に別々の管理方式でしょうか。
Q2: メモリ空間も完全に切り離されているのでしょうか。
   それとも、codeも実際OSなどにより、mallocのような関数で確保されます?


宜しくどうぞ
引用返信 編集キー/
■74248 / inTopicNo.2)  Re[1]: data メモリとcodeメモリ
□投稿者/ 774RR (196回)-(2014/12/10(Wed) 11:12:09)
code 領域ってのはプログラム開発の時点(リンクが成功した時点)で大きさが決まっている。
んで、実行時に動的に増減することは無い。だから「実行開始時点」で
・開始できれば終了まであふれることは無くて
・開始できないなら「起動できません」エラーとなるだけ
のこと。

> code保存するメモリが足りない現象を見た事はありません。
code を保存するのはリンク時点の話。
超巨大なプログラム code を故意に組むとリンク失敗することはありうる。
プログラムを実行する・終了するときに「 code を保存」するようなことは無い。

data 領域ってのはプログラムの実行中に増減するので
> 何かデータ域を確保する時に、メモリ不足エラーに遭遇する事はありますが、
そのとおり。

OS の内部の詳細実装の話でなくて OS を使う側の認識としては

> Q1: code保存するメモリとdata保存メモリ完全に別々の管理方式でしょうか。
Yes

> Q2: メモリ空間も完全に切り離されているのでしょうか。
Yes

> それとも、codeも実際OSなどにより、mallocのような関数で確保されます?
ここは OS 内部の詳細実装の話なのでユーザは気にしなくていい。

引用返信 編集キー/
■74266 / inTopicNo.3)  Re[2]: data メモリとcodeメモリ
□投稿者/ 熱風 (2回)-(2014/12/12(Fri) 10:26:26)
774RR様
ご教授ありがとうございました!

長い間の謎が解けたような感じですっきりしました。


解決済み
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -