- ベストアンサー
動的に確保したメモリをOSに返さなくてもよいのは
動的に確保したメモリをfree命令で解放しても、メモリをOSに返さない実装があると聞きました。仮想記憶を実装するOSに多く見られるそうですが、なぜ返さなくてよい実装なのですか。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
C言語でのmalloc,free関連の話でしょうか? その前提で話をしますが、freeはOSにメモリを返すではなくmallocなどで再利用可能な状態にするという仕様です。ですので元々からOSに返すことは約束されていません(そういう実装があってはいけないという意味ではないです) OSに返さなければメモリリークになるのではないかと心配されるかもしれませんがOSはプロセスに割り当てたメモリは把握してますので、そのプロセスが終了すればOSには戻ります。
お礼
それでうまくいくような仕様だったのですね。ありがとうございます。