平成27年秋期試験問題 午前問18

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

- 1.5
- 6.0
- 7.5
- 12.0
正解 エ問題へ
広告
解説
セグメント2が解放されると空き領域がセグメント3の前後に存在するようになります。最も少ない回数で空き領域を1つにする方法はセグメント3を前方(図の左側)に寄せることなので、セグメント3の800kバイトを移動させる時間を考えます。
1回のメモリアクセスは4バイト単位なので、800kバイトでは、
800,000÷4=200,000(回)
また、データの移動を行うには「読取り→書込み」の処理を繰り返さなければならないので、総メモリアクセス回数は2倍の400,000回になります。したがってアクセス時間の合計は、
400,000×30=12,000,000(ナノ秒)=12(ミリ秒)
したがって「エ」が正解です。

800,000÷4=200,000(回)
また、データの移動を行うには「読取り→書込み」の処理を繰り返さなければならないので、総メモリアクセス回数は2倍の400,000回になります。したがってアクセス時間の合計は、
400,000×30=12,000,000(ナノ秒)=12(ミリ秒)
したがって「エ」が正解です。
広告