基本情報技術者 平成27年度秋期午前問18

午前問18

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

正解

解説

セグメント2が解放された場合、セグメント3の前に100kバイト、後ろに800kバイトの空き領域ができます。
最も少ない回数で空き領域を1つにするにはセグメント3の800kを左に移動します。

1回のメモリアクセスは4バイト単位なので、800kバイトでは、
800,000÷4=200,000(回)
データ移動の際には「読取り」と「書込み」でそれぞれ30ナノ秒のアクセスが必要となるので
200,000×2×30=12,000,000(ナノ秒)=12(ミリ秒)
よって動的再配置に要する時間は12ミリ秒となります。
スポンサーリンク







シェアする

  • このエントリーをはてなブックマークに追加

フォローする