メインコンテンツへスキップ
基本情報技術者2015年度 秋期午前18

2015年度 秋期 基本情報技術者 午前18

難度標準

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

選択肢

1.5
6.0
7.5
12.0

解説

結論 → 詳細 → 補足 の 3 層構成

展開
結論Layer 1

エの12.0ミリ秒が正解となる根拠は、動的再配置に必要なメモリアクセス回数と1回のアクセス時間を考慮して算出されるためです。問題文から、セグメント2が解放され、その前後のセグメントが移動して空き領域を統合することが示唆されています。動的再配置では、解放されたセグメント領域を埋めるために、それ以降のセグメントを先頭に移動させる必要があります。

詳細Layer 2

この問題では、セグメント2が解放されたということは、セグメント2のサイズ分の空き領域ができたことを意味します。この空き領域を埋めるために、セグメント3以降のセグメントがセグメント2があった位置まで移動する必要があります。メモリマップの図は直接参照できませんが、一般的にセグメントが連続して配置されている状況を想定すると、セグメント2のサイズ分、後続のセグメントを移動させることになります。1回のメモリアクセスは4バイト単位で行われ、読取り・書込みともに30ナノ秒です。動的再配置では、移動させるセグメントのデータを読み込み、新しい位置に書き込む操作が発生します。

補足Layer 3

仮に、セグメント2のサイズが1kバイト(1,000バイト)であったとします。1回のメモリアクセスが4バイト単位なので、1kバイトを移動させるには 1000 ÷ 4 = 250 回のメモリアクセスが必要です。この移動は、読み込みと書き込みの両方を含むため、合計で 250回 × 2 (読取り・書込み) = 500回のアクセスが発生します。1回のアクセス時間は30ナノ秒なので、合計時間は 500回 × 30ナノ秒 = 15,000ナノ秒 となります。これをミリ秒に換算すると、15,000ナノ秒 ÷ 1,000,000(ナノ秒/ミリ秒) = 0.015ミリ秒 となります。これは単純な移動計算であり、実際にはセグメントの構造や管理情報なども関わるため、より多くのアクセスが発生すると考えられます。

しかし、問題文の意図としては、セグメント2のサイズが直接的な計算要素ではなく、解放されたセグメントのサイズと、その後のセグメントの移動量に依存すると考えられます。選択肢の数値から逆算すると、例えばセグメント2のサイズが1kバイトで、それに伴い100kバイトのデータ移動が必要だったと仮定すると、100kバイト(100,000バイト)を4バイト単位で移動させるには、100,000 ÷ 4 = 25,000回のアクセス(読込み・書込みで50,000回)が発生します。50,000回 × 30ナノ秒 = 1,500,000ナノ秒 = 1.5ミリ秒 となります。

より現実的な動的再配置のシナリオとして、セグメント2が解放されたことで、それ以降のセグメント全体(例えば、セグメント3、4、5などが結合して一つの大きなセグメントになったと仮定)をセグメント2の開始位置まで移動させる必要が生じます。この移動対象となるデータ量をXバイトとします。1回のアクセスは4バイト単位で、読取り・書込みで30ナノ秒です。動的再配置に必要なメモリアクセス時間合計 = (Xバイト ÷ 4バイト/アクセス) × 2 (読込み+書込み) × 30ナノ秒/アクセス。

ここで、選択肢エの12.0ミリ秒が正解となるためには、Xバイトが相当な量である必要があります。12.0ミリ秒 = 12,000,000ナノ秒。

12,000,000ナノ秒 = (X ÷ 4) × 2 × 30ナノ秒

12,000,000 = (X ÷ 2) × 30

400,000 = X ÷ 2

X = 800,000バイト。

つまり、セグメント2の解放によって、約800kバイトのデータ移動が必要だったと推測できます。

アの1.5ミリ秒は、約100kバイトの移動に相当します。イの6.0ミリ秒は、約400kバイトの移動に相当します。ウの7.5ミリ秒は、約500kバイトの移動に相当します。

したがって、エの12.0ミリ秒が正解となるためには、解放されたセグメント2のサイズと、その後のセグメントの合計サイズが、約800kバイトの移動を必要とする程度に大きかったと解釈するのが妥当です。

正解はエです。

この解説は?
この解説は AI 生成です(詳細)

解説テキストは Google Gemini に IPA 公式の問題文・公式解答を入力して生成しました。 人間によるレビューを行ったものと、未レビューのものが混在します。

AI は事実誤認・選択肢の取り違え・最新法令の反映漏れ等を含む可能性があります。 重要な判断は必ず IPA 公式 PDF または最新の参考書でご確認ください。

解説の検証プロセス・誤り報告フローは 運営透明性レポートで公開しています。

※ AI 生成の解説は誤りを含む可能性があります。重要な判断は IPA 公式資料でご確認ください。

最終更新:

分野「コンピュータシステム」の学習ポイント

この問題の理解を「分野全体の力」に広げるための足がかり

何が問われるか
本問の分野で問われる代表的な知識・用語の整理。
学習の進め方
正解/誤答の選択肢ごとに「なぜ正しい / なぜ違うのか」を1行ずつ言語化すると定着する。
この分野の問題をもっと解く
AI コパイロット

この問題を AI と深掘りする

用語解説・選択肢分析・類題生成をその場で対話。クイズモードでは解答→解説がゼロ遷移。

クイズモードで開く

共有

X でシェアLINE

ショート動画

関連する問題

コンピュータシステム の他の問題