ワーキングセットとは?わーきんぐせっと
ワーキングセットとは、あるプロセスが直近の一定時間内に参照したページの集合。これが実記憶に載っていればページフォールトはほとんど起きないため、OSは各プロセスの集合の大きさを見積もってページ枠を配分し、スラッシングを防ぐ。プログラム全体の大きさではなく「いま使っている部分」の大きさを指す点が要点になる。
最終更新:2026-10-06
エンベデッドSPを最短で暗記・合格する →背景
実記憶が足りないときに単純にページを追い出していくと、追い出した先が次の瞬間に参照されて読み直しが起き、これが連鎖して処理がほとんど進まなくなる(スラッシング)。原因はプログラムの総量ではなく、同時に走るプロセスの「いま使っている部分」の合計が実記憶を超えたことにある。この量を測るための単位として持ち込まれたのがワーキングセットである。同じ考え方は、キャッシュや密結合メモリに何を載せるかの判断にもそのまま効く。
具体例
制御ループの本体と参照するテーブル、割込みハンドラが命令キャッシュに収まっていれば、毎周期の実行時間はほぼ一定になる。ここへ周期の長い診断処理が割り込んでキャッシュを追い出すと、その次の周期だけ実行時間が伸びる。常駐させたい区間をTCM(密結合メモリ)へ配置してしまうのは、ワーキングセットを実記憶に固定してしまう発想の延長である。
試験での引っ掛け
局所性が高ければ大きなプログラムでも必要な実記憶は小さく、逆にコードが小さくても参照するデータが広く散っていれば集合は大きくなる。大きさを見るべき対象はコード量ではなくアクセスの範囲である。処理の段階が切り替わる瞬間に集合が入れ替わり、そこでフォールトが集中することも押さえておく。
関連用語
出典・参考
解説は資格暗記が独自に作成しています。過去問の出典は各問題に記載のとおりです。