基本情報 平成28年度 春期 問17:テクノロジ系に関する問題
仮想記憶システムにおいて主記憶の容量が十分でない場合, プログラムの多重度 を増加させるとシステムのオーバヘッドが増加し, アプリケーションのプロセッサ 使用率が減少する状態を表すものはどれか。
- aスラッシング正答
- bフラグメンテーション ボトルネック
- cページング エ 問8 マルチプログラミングにおけるプロセスの切替え手順を示した図において, OS の 処理acとして, 適切な組合せはどれか。 プロセスAの状態 OS の処理 プロセスB の状態 実行状態 割込み ーー光 1 ! 状態 [ 約 ( 「 実行状態 a b C ア | 実行状態の回復 | プロセスの選択 | 実行状態の退避 イ | 実行状態の退避 | 実行状態の回復 | プロセスの選択 ウ | 実行状態の退避 | プロセスの選択 | 実行状態の回復
- d| プロセスの選択 | 実行状態の回復 | 実行状態の退避 問19 LRU アルゴリズムで, ページ置換えの判断基準に用いられる項目はどれか。 ア 最後に参照した時刻 イ 最初に参照した時刻 ウ 単位時間当たりの参照頻度 エ 累積の参照回数
AI解説(初心者・標準・上級)
理解度に合わせて3レベルの解説を無料で読めます。
答えは a「スラッシング」 です。
スラッシングは、欲張ってたくさんプログラムを動かそうとした結果、メモリ不足でディスクとメモリの間のやりとり(ページング)に追われすぎて、本来の仕事がほぼ進まなくなる状態。
たとえば机が小さいのに本を10冊同時に広げようとして、本棚と机の出し入れで手いっぱい→読書が全然進まない、と同じ。
👉 覚え方:「ページング祭り=スラッシング」。
ほかの選択肢:b フラグメンテーション=メモリの飛び地で空きが使いにくい現象/c ページング=メモリとディスク間のデータ移動そのもの(仕組み)/d 文字化け。
なぜこれが正解か
正解は a。スラッシング(thrashing)は仮想記憶システムで主記憶容量に対し過剰にプロセスを多重実行した結果、ページフォールトが頻発しページング処理(ディスクI/O)が支配的になり、CPUがアプリケーション処理に使われない状態。プロセッサ使用率は見かけ上低下し、システム全体のスループットが激減する。
各選択肢の解説
- a スラッシング:正解。過剰多重度→ページフォルト多発→I/O待ち増→CPU使用率低下の典型現象。
- b フラグメンテーション:メモリ/ディスク内の未使用領域が分散し、まとまった大容量を確保できなくなる現象。
- c ページング:仮想記憶のページ単位での主記憶⇔補助記憶間移動の仕組みそのもので、スラッシングはこれが過剰発生した状態。
- d 不明(選択肢欠落)
覚え方・ひっかけ注意
「スラッシング=ページング祭り→仕事進まず」。対策は多重度を下げる(プロセス数削減)か主記憶を増設。ワーキングセットモデル(プロセスが直近使うページ集合)が主記憶に収まらないとスラッシング発生、と覚える。試験ではページングとスラッシングの区別が頻出ひっかけ。
理論的背景
スラッシング理論はDenningが1968年に提唱したワーキングセットモデルで説明される。プロセスが時刻tの直前Δ時間に参照したページ集合をワーキングセットW(t,Δ)と定義し、全プロセスのワーキングセット総和>物理メモリ容量になるとスラッシング発生。多重度を上げるとCPU使用率は当初上昇するが、ある閾値を超えると急落しスラッシング領域に入る(CPU使用率曲線のキンク点)。
実務での使われ方
対策手法:
- ワーキングセット監視:プロセス毎のページフォルト率を監視し、閾値超過で多重度低減
- PFF(Page Fault Frequency)アルゴリズム:ページフォルト率を一定範囲に保つよう動的にフレーム割当調整
- スワップアウト:スラッシング検知時にプロセスを丸ごとディスクに退避
- メモリ管理チューニング:Linuxの`vm.swappiness`、`overcommit_memory`設定
コンテナ環境ではメモリ制限超過でOOMKiller起動、Kubernetesではeviction policyでPod追い出しで対処。
試験での位置づけ
OS分野の頻出テーマ。基本情報では現象識別、応用情報では原因・対策・関連現象(ワーキングセット・ベラディ異常)まで問われる。ベラディ異常(FIFO置換でフレーム数を増やすとページフォルトが増える反直感的現象)も併せて押さえる。
選択肢の発展補足
ページ置換アルゴリズム比較:
- FIFO:実装簡単だがベラディ異常あり
- LRU(Least Recently Used):理論的に優秀だが完全実装は重い
- Clock(Second Chance):LRU近似で実用的、多くのOSが採用
- NRU(Not Recently Used):参照ビットと変更ビットで4クラス分類
- OPT(Belady最適):未来予測前提で理論上限値の参照ベンチマーク
フラグメンテーションは内部断片化(割当ブロック内の未使用)と外部断片化(割当ブロック間の未使用)に分類。外部断片化対策はコンパクション(メモリ詰め直し)・バディシステム・スラブアロケータ等。各概念の関係を整理することが上位資格対策に直結する。
出典:IPA(情報処理推進機構)公式 基本情報技術者試験 平成28年度 春期 問17/ 公的機関配布資料につき出典明記の上引用。解説は合格ナビによる独自AI解説です。