第5回 メモリ管理(2) オーバレイ方式 論理アドレスとプログラムの再配置 静的再配置と動的再配置 仮想記憶とメモリ階層 セグメンテーション ページング オーバレイ方式 仮想記憶機構を持たないコンピュータで使用されて いた ユーザがプログラムを論理的なプログラム単位(例 えば手続きやその集まり)に分割 同時に実行されないプログラム単位を必要なときに 主記憶上の同じ位置に読み込んで使用する 手順は、全てユーザが指定 − プログラムの構造の正確な知識を要する オーバレイローダ オーバレイの実行される様子 主モジュール サブモジュール1 オーバレイ 主モジュール サブ モジュール1 サブ モジュール2 サブモジュール2 論理アドレスとプログラムの再配置 論理アドレス空間 − 論理アドレス − 実際に割り当てられる物理アドレス(実アドレス) とは分離・独立したプログラム内で閉じたアドレス 空間 論理アドレス空間におけるアドレス 論理アドレスによってプログラムを記述するこ とによって、主記憶への割り当てに柔軟性が 出る 再配置可能プログラム アドレスマッピング(アドレス変換) 物理アドレス(実アドレス):命令やデータの存在す る主記憶上のアドレス 絶対アドレス:実装されたメモリに対するアドレスで、 値はあらかじめ固定 物理アドレス空間:物理アドレスで形成されるアドレ ス空間 アドレスマッピング:論理アドレス空間から物理アド レス空間へのマッピング(写像) − − 静的再配置 動的再配置 プログラムの再配置 静的再配置(static relocation) − − − プログラムは相対アドレス形式で保存 リンク時、またはロード時に全ての命令のオペランドを絶 対アドレス形式に書き換える 再配置操作にハードウェアの支援は必要としない 動的再配置(dynamic relocation) − − 各命令の実行時にハードウェアによって論理アドレスから 物理アドレスへの変換(マッピング)が行われる メモリ詰め直しによって、主記憶の利用効率を向上できる 仮想記憶 主記憶と補助記憶装置(HDDなど)を用いて、 主記憶の大きさにとらわれない仮想的な記憶 装置を提供する機構 仮想記憶には、構成するデバイスのアクセス 速度、容量に応じたメモリ階層が存在する メモリ階層 プロセッサ 容量小 高速 キャッシュメモリ (高速半導体メモリ) 主記憶(半導体メモリ) 低速 補助記憶装置 (磁気ディスクなど) 容量大 仮想アドレス空間、仮想アドレス プログラムは、補助記憶装置に置かれ、必要なときに主記憶 にロードされる メモリ階層を意識せずにすむように、統一的な仮想記憶装置 として扱う プログラムは常に仮想的な記憶装置にアクセスする 仮想アドレス: 仮想記憶装置上の場所を指定するためのア ドレス 仮想アドレス空間: 仮想アドレスによって形成されるアドレ ス空間 仮想アドレスは、命令実行時にハードウェアによって物理ア ドレス(実アドレス)に変換される 一般に仮想アドレスと論理アドレスは1対1に対応する 仮想記憶の種類 単一仮想記憶(single virtual storage) − システムで一つの仮想アドレス空間 多重仮想記憶(multiple virtual storage) − − システムで複数の仮想アドレス空間をもつ cf.) IBM MVS 物理アドレス空間 仮想アドレス空間 n 1 未使用 プログラム 2 n 2 1 アドレス変換表 仮想メモリの手法 プログラムを分割して、分割した単位でアドレス変換 と記憶領域の割り当てを行う セグメンテーション(可変区画方式) − − − 内部構造に基づいて分割 分割したものを、セグメントという サイズは、可変 ページング(固定区画方式) − − − プログラム内部の論理構造とは無関係に、システムが自 動的に分割 分割したものをページという サイズはシステムで固定 セグメンテーションの仕組み セグメント番号 0 1 2 セグメントベース (開始アドレス) 主プログラム サブルーチン1 サブルーチン2 セグメントテーブル 0 1 1 0 2 1 300K 0 300K 主プログラム サブルーチン1 550K データ サブルーチン2 3 3 4 ライブラリ データ 4 1 1 900K 550K 存在ビット 900K ライブラリ 補助記憶 主記憶 セグメンテーションにおける メモリマッピング 物理アドレス =セグメントの先頭アドレス(セグメントベース)+セグメント内変位 仮想アドレス=セグメント番号+セグメント内変位 セグメントテーブルベースアドレス 仮想アドレス(2次元アドレス) b セグメント番号 セグメント内変位 s + d b セグメントテーブル s セグメントベース 存在ビット セグメント サイズ s' アクセス 保護情報 物理アドレス + s' + d セグメントに対するアクセスの手順 開始 主記憶上にない セグメントをアクセス ハードウェアが セグメントテーブルをひく アクセス保護情報を読み出す 存在ビット? NO アクセスが 許可されている 1 物理アドレスを計算 割り込み発生 YES 存在ビットを調べる 0 セグメントフォルト 割り込み発生 変位<セグメントサイズ NO YES 物理アドレスをアクセス 正常終了 割り込み発生 セグメンテーションにおける 空き領域の確保 セグメンテーションは、仮想アドレス空間上で 連続しても、主記憶上では分散することが可 能 セグメンテーションスワッピング − − メモリの詰め直し セグメント単位で補助記憶とスワッピング 次回、中間テスト 出題範囲(1回から4回まで) − − − − − − 出題形式: − − OSの基礎、用語、機能 プロセス管理 CPUの管理 例外、割込み処理 ブートとシャットダウン メモリ管理(固定区画方式、可変区画方式など) 用語穴埋め(OSの基礎、CPUの管理、例外・割込み処理、ブートと シャットダウン) 記述式(プロセス管理、メモリ管理) 出題数; 4問中、3問回答(1問は選択問題) 配点: 30点 テスト時間: 40分
© Copyright 2024 ExpyDoc