問題
図のメモリマップで、セグメント 2 が解放されたとき、セグメントを移動(動的再配置)し、分散する空き領域を集めて一つの連続領域にしたい。1 回のメモリアクセスは 4 バイト単位で行い、読取り、書込みがそれぞれ 30 ナノ秒とすると、動的再配置をするために必要なメモリアクセス時間は合計何ミリ秒か。ここで、1 k バイトは 1,000 バイトとし、動的再配置に要する時間以外のオーバヘッドは考慮しないものとする。

選択肢
- 11.5
- 26.0
- 37.5
- 412.0
正解
4. 12.0
詳しい解説を見る解説を閉じる
解説
セグメント 2(100 k バイト)を解放後、その後ろにあるセグメント 3(800 k バイト)を前へ詰めるため移動する。移動には 800 k バイトの読取りと書込みが必要で、4 バイトごとに読取り 30 ナノ秒+書込み 30 ナノ秒=60 ナノ秒かかる。回数は 800,000 ÷ 4 = 200,000 回なので、200,000 × 60 ナノ秒 = 12,000,000 ナノ秒 = 12.0 ミリ秒となる。よって「エ」が正しい。(出典: 平成29年度 秋期 基本情報技術者試験 午前 問19)
一問一答
科目A 180問+科目B 60問