• ベストアンサー

動的に確保したメモリをOSに返さなくてもよいのは

動的に確保したメモリをfree命令で解放しても、メモリをOSに返さない実装があると聞きました。仮想記憶を実装するOSに多く見られるそうですが、なぜ返さなくてよい実装なのですか。

質問者が選んだベストアンサー

  • ベストアンサー
  • wormhole
  • ベストアンサー率28% (1626/5665)
回答No.1

C言語でのmalloc,free関連の話でしょうか? その前提で話をしますが、freeはOSにメモリを返すではなくmallocなどで再利用可能な状態にするという仕様です。ですので元々からOSに返すことは約束されていません(そういう実装があってはいけないという意味ではないです) OSに返さなければメモリリークになるのではないかと心配されるかもしれませんがOSはプロセスに割り当てたメモリは把握してますので、そのプロセスが終了すればOSには戻ります。

vasta12500
質問者

お礼

それでうまくいくような仕様だったのですね。ありがとうございます。

関連するQ&A