基本情報

基本情報 平成27年度 春期 問18|テクノロジ系に関する問題

問題

基本情報 | 平成27年度 春期 | 分野:テクノロジ系

仮想記憶方式のコンピュータシステムにおいて, 処理の多重度を増やしたところ, ページイン, ページアウトが多発して, システムの応答速度が急激に遅くなった。こ のような現象を何というか。

キーボード:1〜4で選択・Enterで次へ

タップするとすぐ答え合わせ

答え合わせ

正解は B
  • A
  • B
  • C
  • D

自信の3択

えらぶと、この端末に記録します(登録はいりません)

解説

答えは b「スラッシング」 です。

仮想記憶では「メモリが足りないとき、使ってないデータをディスクに退避(ページアウト)して、必要になったら戻す(ページイン)」仕組みを使います。

ところが、同時に動かすプログラムが多すぎると、メモリへの出し入ればかりに時間を取られて、本来の処理がまったく進まなくなる! これがスラッシング(Thrashing:「もがき苦しむ」)。

👉 覚え方:スラッシング=もがき=メモリ出し入れに大忙しで仕事が進まない。

ほかの選択肢:a オーバレイ=プログラムを部分入替する古い手法/c メモリコンパクション=断片化を整理/d ロールアウト=メモリ→ディスクへ全退避。

なぜこれが正解か

正解は b。スラッシング(Thrashing)は仮想記憶方式において、多重度を上げすぎた結果、ページイン・ページアウトの頻度が増大し、CPU処理能力の大半がページング処理に消費され、本来の処理がほとんど進まなくなる現象。応答速度が急激に悪化する。

各選択肢の解説

  • a オーバレイ:仮想記憶以前の手法で、プログラムを複数の部分に分けて、必要な部分のみをメモリにロードする方式。
  • c メモリコンパクション:メモリの断片化(フラグメンテーション)を解消するために、使用中の領域を集約する処理。
  • d ロールアウト:プロセス全体を主記憶から二次記憶へ退避する処理。再開時はロールイン。

覚え方・ひっかけ注意

仮想記憶の現象を区別:

  • スラッシング:ページング地獄(多重度過多)
  • ページフォルト:要求ページが主記憶にない状態
  • デマンドページング:必要時にページをロードする方式
  • ワーキングセット:プロセスが現時点で頻繁にアクセスするページ集合

スラッシング対策は「多重度を下げる/主記憶を増やす/ワーキングセット理論で動的調整」が定石。

理論的背景

スラッシングはPeter Denning(1968年)が体系化した仮想記憶の病的状態。CPU使用率と多重度のグラフで、多重度を上げるとCPU使用率が上昇するが、ある閾値を超えると急激に下降する「Denningのカーブ」が知られる。原因は「全プロセスの合計ワーキングセットサイズ>主記憶サイズ」となり、各プロセスがページフォルトを連発するため。

実務での使われ方

スラッシング対策:

  • 静的対策:(1) 主記憶増設、(2) スワップ領域の高速化(SSDへ)、(3) 多重度の制限
  • 動的対策:(1) ワーキングセットモデル(Denning)でプロセスごとに必要ページ数を予測し主記憶を割当、(2) PFF(Page Fault Frequency)アルゴリズムでフォルト頻度を監視し閾値超過プロセスを一時停止、(3) ロードコントロール(プロセスのスワップアウト)
  • OS実装:Linuxの`vm.swappiness`、Windowsのページファイル管理、macOSの圧縮メモリ、Androidの`lowmemorykiller`がスラッシング回避機構
  • モダン環境:コンテナ環境(Kubernetes)ではメモリ制限(Limits/Requests)とOOM Killerでスラッシング前に強制終了

試験での位置づけ

OS・コンピュータシステム分野の最頻出論点。基本情報・応用情報・データベーススペシャリスト・組込みシステムスペシャリストで頻出。性能チューニング・キャパシティプランニングの観点でも重要。

選択肢の発展補足

  • オーバレイ(a):1960-70年代のメモリ制約下で多用された手法。現代ではDLL/共有ライブラリの動的リンク・ロードに概念が引き継がれる。
  • メモリコンパクション(c):固定区画方式・可変区画方式の断片化対策。バディシステム・スラブアロケータが現代的解。GCではマーク&コンパクト方式で同等処理。
  • ロールアウト(d):プロセス全体退避。スワッピングとも。中レベルスケジューラ(Medium-Term Scheduler)の役割。
  • 関連用語:ページ置換アルゴリズム(FIFO・LRU・LFU・Clock・Aging)、TLB(Translation Lookaside Buffer)、デマンドページング vs プレページング、コピーオンライト(Copy-on-Write:fork()の高速化)。
  • 近年のNUMAアーキテクチャでは、NUMAノード間メモリアクセス遅延を考慮した「NUMAバランシング」も性能要因。
この問題の根拠出典:IPA(情報処理推進機構)公式 基本情報技術者試験 平成27年度 春期 問18
訂正の記録この問題の訂正はありません(サイト全体の記録)
出典と作り方

出典:IPA(情報処理推進機構)公式 基本情報技術者試験 平成27年度 春期 問18/ 公的機関配布資料につき出典明記の上引用。解説は合格ナビ独自の3段階の解説(初級・標準・上級)です。