· 用語解説  · 9 min read

タスク管理・割込み・仮想記憶とは?基本情報技術者試験のOS制御を図解

マルチタスク・割込み処理・仮想記憶——基本情報技術者試験の科目Aで頻出のOS制御分野を、動作原理と出題パターンごとに解説する。

マルチタスク・割込み処理・仮想記憶——基本情報技術者試験の科目Aで頻出のOS制御分野を、動作原理と出題パターンごとに解説する。

OSは「複数のプログラムを同時に、限られたメモリと処理能力の中でうまく動かす」ための管理者だ。 基本情報技術者試験の科目Aでは、この管理の仕組み(OS制御)が頻出分野として毎回のように出題される。

この記事では試験に出る3つのOS制御の仕組みを、動作原理 → 具体例 → 試験での出題パターンの順で解説する。


タスク管理 — 複数の処理を切り替えて動かす仕組み

CPUは同時に1つの処理しか実行できないが、私たちのPCでは複数のアプリが同時に動いているように見える。 これは、OSが極めて短い間隔で処理を切り替えているからだ。この仕組みをタスク管理(プロセス管理)と呼ぶ。

タスクの状態遷移

タスクには主に3つの状態がある。

  • 実行状態:CPUを使って実際に処理を進めている状態
  • 実行可能状態:CPUの割り当てを待っている状態
  • 待ち状態:入出力処理などの完了を待っている状態(CPUを使わない)

タスクはこの3状態を行き来しながら処理を進める。実行状態のタスクが入出力待ちになれば「待ち状態」に移り、その間にCPUは別のタスクに割り当てられる。

スケジューリング方式

どのタスクに次にCPUを割り当てるかを決めるルールがスケジューリング方式だ。

方式概要特徴
ラウンドロビン一定時間(タイムスライス)ごとに順番に割り当てる公平だが切り替えコストがかかる
優先度順優先度の高いタスクを優先的に実行する重要な処理を素早く処理できるが低優先度タスクが待たされ続ける可能性がある
到着順(FCFS)実行可能になった順に割り当てるシンプルだが長い処理が先に来ると後続が待たされる

試験では「タイムスライスを長くすると何が起こるか」「優先度の逆転が起きるとどうなるか」といった、方式の特徴を理解しているかを問う設問が出やすい。


割込み — 処理の流れを緊急に中断する仕組み

割込みは、CPUが実行中の処理を一時中断し、優先度の高い別の処理へ強制的に切り替える仕組みだ。 キーボード入力・ネットワーク受信・ハードウェア異常など、予測できないタイミングで発生するイベントに対応するために使われる。

割込みの種類

  • 外部割込み:ハードウェア(キーボード・タイマー・ディスク)からの信号による割込み
  • 内部割込み:プログラム自体が原因(ゼロ除算・不正命令など)で発生する割込み

割込み処理の流れ

  1. 割込みが発生すると、CPUは現在の処理状態(レジスタの内容など)を退避する
  2. 割込みの種類に応じた割込み処理ルーチンを実行する
  3. 処理が終わったら、退避しておいた状態を復元し、元の処理を再開する

試験では、この「状態の退避と復元」の順序を問う問題や、複数の割込みが同時に発生した場合の優先度処理を問う問題が出やすい。


仮想記憶 — 実メモリより大きな空間を扱う仕組み

仮想記憶は、実際に搭載されているメモリ(主記憶)の容量を超えるプログラムやデータを扱えるようにする仕組みだ。 補助記憶装置(ディスク)の一部を「仮想的なメモリ空間」として扱うことで実現している。

ページング方式

仮想記憶の実装方式として最も一般的なのがページング方式だ。メモリを一定サイズの「ページ」という単位に分割して管理する。

  • 必要なページだけを主記憶に読み込み、使われていないページはディスクに退避する
  • プログラムが必要とするページが主記憶にない場合、ページフォールトが発生し、ディスクから該当ページを読み込む

スラッシング(性能低下の落とし穴)

ページの入れ替えが頻発しすぎると、CPUがディスクへのアクセス待ちばかりになり、処理性能が著しく低下する現象をスラッシングと呼ぶ。試験では「主記憶容量が不足するとどのような問題が起きるか」の文脈でこの用語が問われる。

ページ置き換えアルゴリズム

主記憶がいっぱいの状態で新しいページを読み込む際、どのページを追い出すかを決めるルールがページ置き換えアルゴリズムだ。代表例がLRU(Least Recently Used:最も長く使われていないページを追い出す)方式で、試験にも頻出する。


AIで覚える実践テクニック

OS制御は「言葉の定義」より「状態がどう遷移するか」を図で追う方が理解が速い。以下のプロンプトで、状態遷移や割込み処理の流れを対話形式で確認できる。

タスクA(実行状態)が入出力待ちになり、
タスクB(実行可能状態)にCPUが割り当てられた直後に
タイマー割込みが発生した場合、タスクA・タスクBの状態は
それぞれどう変化するか、時系列で説明してください。
主記憶が3ページ分しかない環境で、
参照順序が 1,2,3,4,1,2,5,1,2,3,4,5 のとき、
LRU方式でのページフォールト回数を教えてください。

自分で条件を変えた問題をAIに作らせ、状態遷移を書き出しながら確認する——この反復が最も定着しやすい。


まとめ

仕組み目的試験ポイント
タスク管理複数処理をCPU1つで切り替えて動かす状態遷移とスケジューリング方式の特徴
割込み緊急イベントへの対応状態の退避・復元の順序
仮想記憶実メモリを超える空間を扱うページフォールト・スラッシング・LRU

3つの仕組みはいずれも「限られた資源をどう効率的に共有するか」という共通の課題への解法だ。動作原理を理解すれば、科目Aの用語問題だけでなく応用的な設問にも対応しやすくなる。基本情報技術者試験全体の学習ロードマップは基本情報技術者試験 完全攻略ガイドで確認できる。

Back to Blog

Related Posts

View All Posts »