VMSIM : 仮想記憶シミュレータ
第4週の説明が半端だったので、実際に仮想記憶システムがどのようにプログラムを実行するのか、非常に簡単にシミュレートするプログラムを作ってみました。
(動作環境は京産大 cc 環境の Linux など、EGGX のインストールされている X11 が動作するシステム。)
- README.Yasu : 簡単なドキュメント
- vmsim.c : ソースプログラム
グラフィクス表示に EGGX を用いています。cc 環境には EGGX がインストールされていますから、eggx -o vmsim vmsim.c などとしてコンパイルしてください。
- サンプルデータ
% vmsim < vmsim_1.dat
などとして実行します。
タイトル図のような画像ウィンドウが表示されますので、何かキーを押してください。
キーを押すごとに1ステップずつプログラムを読み込んだり、実行する際のメモリの動きをシミュレートします。
実際の仮想記憶は多くの場合 MMU (メモリ管理ユニット)の助けを得て、これとは異なるアプローチで動作しています。これはあくまで理解を助けるためのモデルと考えて下さい。
また、実際のプログラムはこのように頭から最後までまっすぐ実行処理されることもありません。プログラム実行の局所性についてはプログラム実行位置観測シミュレータを見て下さい。
Yutaka Yasuda (yasuda@cc.kyoto-su.ac.jp)