ソフトウェア

基本情報技術者試験 科目A免除 修了試験 20190728 実施分 問18

図のメモリマップで,セグメント 2 が解放されたとき,セグメントを移動(動的再配置)し,分散する空き領域を集めて一つの連続領域にしたい。1 回のメモリアクセスは 4 バイト単位で行い,読取り,書込みがそれぞれ 30 ナノ秒とすると,動的再配置をするために必要なメモリアクセス時間は合計何ミリ秒か。ここで,1 k バイトは 1,000 バイトとし,動的再配置に要する時間以外のオーバヘッドは考慮しないものとする。
メモリマップ(左から順に):セグメント1(500 k バイト)|セグメント2(100 k バイト・セグメ/ント2 と折返し表記)|セグメント3(800 k バイト)|空き(800 k バイト)
  • ア 1.5
  • イ 6.0
  • ウ 7.5
  • エ 12.0

出典:基本情報技術者試験 科目A免除 修了試験 20190728 実施分 問18

答えと解説を見る

正解:エ

覚える知識

動的再配置に要するメモリアクセス時間の計算

動的再配置は分散した空き領域を連続させるためセグメントを移動する処理である。

この問題で必要なこと

移動対象はセグメント3の800kバイト。4バイトごとに読30ns+書30ns=60ns、200,000回で12ms。

ひっかけ

移動するセグメントを誤り(セグメント1や空き領域)、読取りだけの時間で計算させる。

この知識の出題:本試験系 1 回・免除試験 3 回(公開問題での観測値)

この知識をアプリで解いて覚える レッスン「主記憶の割当てと断片化・解放」で学ぶ

同じ知識の過去問