図のメモリマップで、セグメント2が解放されたとき、セグメントを移動 (動的再配置) し、分散する空き領域を集めて一つの連続領域にしたい。1回のメモリアクセスは4バイト単位で行い、読取り、書込みがそれぞれ30ナノ秒とすると、動的再配置をするために必要なメモリアクセス時間は合計何ミリ秒か。
ここで、1kバイトは1,000バイトとし、動的再配置に要する時間以外のオーバヘッドは考慮しないものとする。
┌──────┬───┬────────┬────────┐
│セグメント1│セグメ│ セグメント3 │ 空き │
│ │ント2│ │ │
└──────┴───┴────────┴────────┘
500kバイト 100kバイト 800kバイト 800kバイト
ア 1.5 イ 6.0 ウ 7.5 エ 12.0
エ
以下のような再配置を行うには、セグメント3を移動させることになる。
┌──────┬────────┬────────────┐
│セグメント1│ セグメント3 │ 空き │
│ │ │ │
└──────┴────────┴────────────┘
500kバイト 800kバイト 900kバイト
セグメント3の800kバイトを移動させる時間は
800kバイト ÷ 4バイト × (30ナノ秒+30ナノ秒) = 12,000,000ナノ秒
= 12,000マイクロ秒 = 12.0ミリ秒 である。
問18 | 目次 | 問20 |