本文へスキップ

FE SUBJECT A

基本情報技術者 科目Aの問題解説:メモリリークの説明はどれか。

テクノロジ系 標準 fe_a_s046_q003

問題

メモリリークの説明はどれか。

  1. メモリの物理的な故障
  2. プログラムが確保したメモリ領域を解放せず、利用可能なメモリが徐々に減少する現象(正解)
  3. メモリの内容が外部に漏洩するセキュリティ上の問題
  4. メモリへのアクセス速度が低下する現象
出典:オリジナル問題|参考範囲:試験要綱Ver.5.5 / FEシラバスVer.9.2 科目A範囲

正解と解説

正解:プログラムが確保したメモリ領域を解放せず、利用可能なメモリが徐々に減少する現象

メモリリークとは:正解はイです。メモリリークは、プログラムが確保したメモリを不要になっても解放しないため、利用可能なメモリが徐々に減っていく不具合です。短時間の実行では目立たなくても、サーバのように長時間動き続けるプログラムでは、応答遅延や異常終了の原因になります。

紛らわしい選択肢:ウは「情報漏えい」という意味では言葉が似ていますが、メモリリークは通常、メモリ内容が外部に漏れることではなく、メモリ資源を解放し忘れることを指します。アは物理故障、エはアクセス性能低下の説明であり、メモリ領域の解放漏れとは別物と覚えておくとよいでしょう。

なぜ起こるか:C言語のように手動でメモリを管理する場合、malloc()で確保した領域をfree()し忘れると発生します。JavaやPythonのようにガベージコレクションを備えた言語でも、不要になったオブジェクトへの参照を保持し続けると回収されず、同様にメモリリークが起こり得ます。

他の選択肢はなぜ違う?

  • 物理的な故障はハードウェア障害の話。
  • 情報漏えいの意味ではない。『リーク』の語感に引っ張られないこと。
  • アクセス速度の低下でもない。空きメモリが減っていく現象。

この問題について

出典:オリジナル問題|参考範囲:試験要綱Ver.5.5 / FEシラバスVer.9.2 科目A範囲

IPAが公開するシラバス・試験範囲・公開問題の出題形式を参考にした独自作成問題。公式問題・過去問題の転載ではありません。

公式試験問題、過去問題、公式サンプル問題、市販教材の問題文を転載したものではありません。

参考範囲: シラバスVer.9.2参考

参考文献・出典(公式情報)

RELATED

関連問題