本文へスキップ
totonoe.tech

OSを整える

中級

仮想記憶を整える。

= 論理アドレスが実際の場所に変わる様子を見る

条件を入れる 入力するそばから計算(会社のPCでも、入力は外に出ません)

ページサイズは2の累乗(1024、4096など)にします。16進は 0x を付けても付けなくても読めます。

ページ表(フレーム番号は10進で入力)

ページ番号 フレーム番号 有効ビット
0
1
2
3
4
5
6
7

アドレスが変換される流れ

左が論理アドレス、中央がページ表、右が物理アドレスです。

論理アドレス

ページ表の該当行

物理アドレス

    実効アクセス時間(TLBあり・なし)

    ヒット率、TLBの時間、主記憶の時間を入れると、基本情報の計算問題と同じ形で平均のアクセス時間を出します。

    数値を入れる 入力するそばから計算(会社のPCでも、入力は外に出ません)

    TLBを使わない

    TLBを使う

    仮想記憶とページングのおさらい

    ページングとは。プログラムから見える仮想の記憶領域(論理アドレス)を、ページという同じ大きさの区画に分け、主記憶側の同じ大きさの区画(ページフレーム)に対応づける方式です。対応はページ表に書いてあります。

    ビット数の考え方。ページサイズが 2n バイトなら、論理アドレスの下位 n ビットが「ページ内の位置」、残りの上位ビットが「ページ番号」です。4KB(4096バイト)なら n は12で、16進なら下3桁がそのままページ内の位置になります。変換しても位置は変わらず、ページ番号がフレーム番号に置き換わるだけです。

    有効ビット。ページ表の各行には、そのページが主記憶にあるかを示す有効ビットがあります。0のページを参照するとページフォールト(page fault、ページ不在)が起き、OSが補助記憶からページを読み込み、必要なら今あるページを追い出して(ページ置換)から、命令をやり直します。

    TLB。ページ表も主記憶にあるので、そのままでは1回のデータ参照に主記憶を2回(ページ表とデータ)使います。そこで、最近使った変換結果を覚えておく高速な専用記憶がTLBです。ヒットすればページ表の参照が省けます。

    試験での出方。基本情報技術者試験では、アドレスの分解、ページ表を引いた物理アドレス、実効アクセス時間の平均計算が定番です。この道具の計算式は「ヒット時はTLB+主記憶、ミス時はTLB+主記憶×2」の1段のページ表を前提にしています。問題文でTLBの時間を無視する指定があるときは、TLBの時間を0にして計算してください。ページ表が多段の問題や、ページフォールトの処理時間を含める問題は、この道具では扱いません。

    実務での意味。ページフォールトが増えてディスクとのやりとりばかりになる状態をスラッシングと呼びます。会社のパソコンで「メモリが足りなくて急に遅くなった」ときに起きているのがこれです。

    参考: 情報処理推進機構(IPA)の情報処理技術者試験シラバス(基本情報技術者・ITパスポート)の用語(ページング、ページフォールト、仮想記憶)に合わせています。2026年11月時点。

    このツールについて

    論理アドレスを入れると、ページ番号とページ内の位置に分けて、ページ表を引き、物理アドレスになるまでを図で見せます。ページ表は書き換えられます。

    論理アドレスをページ番号+ページ内の位置に分け、ページ表で物理アドレスに変える様子を図で見ます。

    主な機能

    • 論理アドレスをビットで分けて色分け表示
    • ページ表を引いて物理アドレスに変換
    • 有効ビットが0ならページフォールトを表示
    • 10進と16進の切り替え
    • TLB の実効アクセス時間を計算

    よくある質問

    Q. 仮想記憶とは何ですか?

    A. プログラムには連続した広いメモリがあるように見せ、実際には実メモリの空いている場所やディスクに分けて置く仕組みです。プログラムが使う番地(論理アドレス)を、OS とハードウェアが実際の番地(物理アドレス)に変換します。

    Q. ページ番号とページ内の位置はどう分けますか?

    A. ページサイズが 2 の n 乗バイトなら、アドレスの下位 n ビットがページ内の位置、それより上のビットがページ番号です。4KB(2 の 12 乗)なら下位12ビットが位置になります。

    Q. ページフォールトはいつ起きますか?

    A. ページ表でそのページの有効ビットが0(実メモリに無い)ときに起きます。OS がディスクから読み込んでページ表を書き換えてから、処理を続けます。

    Q. TLB とは何ですか?

    A. ページ表の一部を覚えておく、CPU の中の小さく速い表です。TLB に載っていれば(ヒット)、メモリ上のページ表を引かずに変換できるので速くなります。

    Q. 実効アクセス時間はどう計算しますか?

    A. このツールでは1段のページ表として、ヒット時は「TLB の時間+メモリの時間」、ミス時は「TLB の時間+メモリの時間×2」とし、ヒット率で重み付けした平均を出します。多段のページ表やフォールトの処理時間は含めていません。

    入力値はURLの「#」以降に入るためサーバーには送信されません。リンクを開くと同じ状態を復元します。

    続けて整える

    totonoe.tech を運営する株式会社Koinobori は、法人向けの研修サービス「NOBORIBA®」も運営しています。 ここで手を動かした内容を、講師から教わる形の研修です。このページの道具は無料のまま、登録もいりません。

    運営サイト

    私たちが運営するサイト