多重度を上げると応答が急に遅くなる現象を整理
基本情報技術者試験 令和8年度 問5 / ソフトウェア › オペレーティングシステム
過去問にチャレンジ
仮想記憶方式のコンピュータシステムにおいて,処理の多重度を増やしたところ,ページイン,ページアウトが多発して,システムの応答速度が急激に遅くなった。このような現象を何というか。
- ア
オーバレイ
- イ
スラッシング
- ウ
メモリコンパクション
- エ
ロールアウト
会話形式の解説
講師今回は仮想記憶の用語問題です。問題文の「多重度を増やした」「ページイン、ページアウトが多発」「応答速度が急激に遅くなった」という3つの手がかりに注目してください。
受験者選択肢はどれも記憶管理の言葉なので、似て見えて迷います。ページが出たり入ったりしているので、退避を表すロールアウトかなとも思いました。
講師そこが引っかけどころです。ロールアウトは、主記憶上のプログラムやデータを補助記憶へ退避させる「操作」の名前です。退避したものを主記憶に戻す操作はロールインと呼びます。今回問われているのは、性能が急に落ちる「現象」の名前です。
受験者操作と現象の違いですね。では、多重度を上げると何が起きているのでしょうか。
講師多重度、つまり同時に動かす処理の数を増やすと、主記憶に同時に置いておくべきページが増えます。主記憶が足りなくなると、ページの入替えが頻繁に起こります。低速な補助記憶の入出力に時間を取られて、処理が進まなくなるのです。この現象をスラッシングと呼びます。
受験者入替えばかりしているなら、CPUはずっと忙しく働いているように思えます。
講師そう考えがちですが、実際は逆です。入出力待ちが長くなるので、CPUは有効な処理を進められず、CPU使用率はかえって下がります。
受験者なるほど。オーバレイとメモリコンパクションも、主記憶を工夫して使う話だったと思いますが、どう違いますか。
講師オーバレイは、プログラムをいくつかの部分に分け、そのとき必要な部分だけを主記憶に読み込む「方式」です。主記憶より大きなプログラムを実行するための工夫です。メモリコンパクションは、主記憶上に散らばった空き領域を移動させて一つの連続した領域にまとめる「処理」で、外部断片化、つまり空きが細切れになる問題への対策です。
受験者整理すると、オーバレイは方式、メモリコンパクションは空き領域をまとめる処理、ロールアウトは退避の操作で、ページングの多発で遅くなる現象がスラッシング、ということですね。
講師その通りです。補足すると、スラッシングの対策には、多重度を下げる、主記憶を増設する、各プロセスに十分なページ枠を割り当てる、といったものがあります。用語問題では「現象」「方式」「操作」のどれを問われているかを意識すると、区別しやすくなります。
まとめ
仮想記憶方式で処理の多重度を上げすぎると、主記憶に置くべきページが増えてページの入替えが頻発し、性能が急激に低下します。この現象をスラッシングと呼び、入出力待ちが増えるためCPU使用率はかえって下がります。オーバレイはプログラムを分割して必要な部分だけ読み込む方式、メモリコンパクションは散らばった空き領域をまとめる処理、ロールアウトは補助記憶への退避操作です。対策には多重度を下げる、主記憶を増設する、十分なページ枠を割り当てるといった方法があります。
解答・解説
正解はイです
この問題のテーマ
仮想記憶方式で処理の多重度を上げすぎたときに起きる性能低下の現象の名前を問う問題です。ページの入替えに関する似た用語を区別できるかがポイントです。
解き方の考え方
まず問題文の「多重度を増やした」「ページイン、ページアウトが多発」「応答速度が急激に遅くなった」という3つの手がかりを押さえます。多重度を上げると、主記憶に同時に置いておくべきページが増えます。主記憶が足りなくなるとページの入替えが頻繁に起こり、低速な補助記憶の入出力に時間を取られて処理が進まなくなります。この現象を指す用語を選び、ほかの選択肢はそれぞれ何を表す用語なのかを確かめて除外します。
選択肢ごとの解説
- ×ア オーバレイオーバレイは、プログラムをいくつかの部分に分け、そのとき必要な部分だけを主記憶に読み込む方式です。同じ記憶領域を重ねて使うので、主記憶より大きなプログラムも実行できます。メモリを節約するための手法であり、ページングの多発による性能低下の現象を指す言葉ではありません。
- ○イ スラッシングスラッシングは、仮想記憶でページの入替えが頻発し、処理性能が著しく低下する現象です。ページングに時間を取られるため、CPUは有効な処理を進められず、CPU使用率もかえって下がります。多重度の増加、ページイン・ページアウトの多発、応答速度の急な低下という問題文の状況と一致します。
- ×ウ メモリコンパクションメモリコンパクションは、主記憶上にばらばらに散らばった空き領域を移動させ、一つの連続した領域にまとめる処理です。外部断片化への対策であり、ページングが多発して遅くなる現象のことではありません。
- ×エ ロールアウトロールアウトは、主記憶上のプログラムやデータを補助記憶へ退避させる操作です。優先度の高い処理を実行するためなどに行い、退避したものを主記憶に戻す操作はロールインと呼びます。これは個々の操作の名前であり、性能が急に落ちる現象の名前ではありません。
補足
スラッシングを防ぐには、多重度を下げる、主記憶を増設する、各プロセスに十分なページ枠を割り当てる、といった対策があります。「スラッシング中はCPUが忙しい」と考えがちですが、実際は入出力待ちが長くなり、CPU使用率は低下します。「現象」を問われているのか、「方式」や「操作」を問われているのかを意識すると、用語を区別しやすくなります。
POINT
- スラッシングは、ページの入替えが頻発して処理性能が急激に落ちる現象です。
- 多重度を上げると主記憶に置くべきページが増え、容量が足りなくなるとスラッシングが起こります。
- スラッシングが起きているときは、補助記憶の入出力待ちが増え、CPU使用率は下がります。
- オーバレイは大きなプログラムを分割して読み込む方式、メモリコンパクションは断片化した空き領域をまとめる処理です。
- ロールアウトは補助記憶への退避、ロールインは主記憶への復帰という操作の名前です。
