Microsoft PowerPoint - sp ppt [互換モード]

Similar documents
Microsoft PowerPoint - 11_4-4-5pagerepl.pptx

Microsoft PowerPoint - No6note.ppt

OS

Microsoft PowerPoint mm2

Microsoft PowerPoint - os ppt [互換モード]

PowerPoint プレゼンテーション

Microsoft PowerPoint - OS07.pptx

メモリについて考えてみよう_REL_

020105.メモリの高機能化

MMUなしプロセッサ用Linuxの共有ライブラリ機構

Microsoft PowerPoint - OS08.pptx

計算機アーキテクチャ

ソフトウェア基礎技術研修

PowerPoint Template

Microsoft Word - レポート回答集.docx

今週の進捗

-2 外からみたプロセッサ GND VCC CLK A0 A1 A2 A3 A4 A A6 A7 A8 A9 A10 A11 A12 A13 A14 A1 A16 A17 A18 A19 D0 D1 D2 D3 D4 D D6 D7 D8 D9 D10 D11 D12 D13 D14 D1 MEMR

PowerPoint プレゼンテーション

TFTP serverの実装

命令セットの構成例 a) 算術 演算命令 例 )ADD dest, source : dest dest + source SUB dest, source : dest dest - source AND dest, source : dest dest AND source SHR reg, c

リソース制約下における組込みソフトウェアの性能検証および最適化方法

また RLF 命令は 図 2 示す様に RRF 命令とは逆に 各ビットを一つずつ 左方向に回転 ( ローテイト ) する命令である 8 ビット変数のアドレスを A とし C フラグに 0 を代入してから RLF A,1 を実行すると 変数の内容が 左に 1 ビットシフトし 最下位ビット (LSB)

2008 年度下期未踏 IT 人材発掘 育成事業採択案件評価書 1. 担当 PM 田中二郎 PM ( 筑波大学大学院システム情報工学研究科教授 ) 2. 採択者氏名チーフクリエータ : 矢口裕明 ( 東京大学大学院情報理工学系研究科創造情報学専攻博士課程三年次学生 ) コクリエータ : なし 3.

添付資料 ASSETBASE Ver.6.5 機能強化内容 A. クライアント機能強化 A-1 Windows 8 の PC スキャンに対応 Windows 8 の下記エディションの PC スキャンを正式にサポートしました Windows 8 Pro (64bit 版 ) Windows 8 Ent

次に示す数値の並びを昇順にソートするものとする このソートでは配列の末尾側から操作を行っていく まず 末尾の数値 9 と 8 に着目する 昇順にソートするので この値を交換すると以下の数値の並びになる 次に末尾側から 2 番目と 3 番目の 1

Microsoft PowerPoint - ad11-09.pptx

VLSI工学

提案書

Windows2000/XPインストール手順

CLEFIA_ISEC発表

電子納品チェックシステム利用マニュアル

<< 目次 >> 1 PDF コンバータのインストール ライセンスコードの入力 PDF にフォントを埋め込みたい場合の設定 PDF オートコンバータ EX で使用しない場合 PDF コンバータ単体で使用する場合の説明 PDF コンバータのアン

Microsoft PowerPoint - mp11-06.pptx

メモリ管理

Microsoft PowerPoint - pr_12_template-bs.pptx

第3回 配列とリスト

Microsoft PowerPoint - OS08 [互換モード]

Windows Powershell 入門

Microsoft PowerPoint - install_NGSsokushu_windows(ver2.1).pptx

保存を行いたい場所 ( デスクトップ 等 ) を選択し 保存 (S) ボタンを押してください ファイル名 ファイル名は Jsas_TSKPrint.exe という初期値になっていますが 変更することができます 2 データのダウンロード ボタンを押すと 一括印刷用ソフトに取り込む停止及び警告認定者 (

Using VectorCAST/C++ with Test Driven Development

RICOH Device Manager Pro バックアップ/バージョンアップ作業手順書

memo

Transcription:

// システムプログラム概論 メモリ管理 () 今日の講義概要 ページ管理方式 ページ置換アルゴリズム 第 5 講 : 平成 年 月 日 ( 月 ) 限 S 教室 中村嘉隆 ( なかむらよしたか ) 奈良先端科学技術大学院大学助教 y-nakamr@is.naist.jp http://narayama.naist.jp/~y-nakamr/ // 第 5 講メモリ管理 () ページング ( 復習 ) 仮想アドレス空間, 主記憶 ( 実アドレス空間 ) を固定サイズのページに分割 仮想アドレス空間のページを主記憶 ( メモリ ) のページに対応させる ページテーブル ( 変換表 ) を実メモリ上に保持 ページを単位としたアドレス変換 ( 仮想ページ番号, オフセット ) ( 物理ページ番号, オフセット ) 変換は MMU がハードウェアで行う // 第 5 講メモリ管理 () ページ管理方式 ページフォルト (Page Fault) 参照したページが主記憶 ( メモリ ) にない時に発生 プロセスを起動 実行 ページフォルト発生! 主記憶にあるページをページアウト ( 主記憶から除く ) して, そこに参照したいページをディスクから読込む ( ページイン ) ページアウトするページが修正されていたら, ディスクへの書込みが必要 ( 修正されていない 単に破棄で OK) ページフォルト 主記憶 ページイン ページアウト ディスク 仮想記憶 // 第 5 講メモリ管理 () ページ置換 (Page Replacement) 物理ページ数には限りがある あまり使っていないページを退避させて, 主記憶に空きをつくる ( ページアウト ) どのページを選んで退避させるか? さまざまなアルゴリズムがこれまでに考案 NRU,FIFO,second chance,lru, // 第 5 講メモリ管理 () 5 ページ置換アルゴリズムの戦略 ページフォルト時の性能向上 ランダムに選択したページを取り除く あまり参照されないページを取り除く ページアウト時の処理 変更が加えられたページはディスクへ保存 未変更のページは破棄 頻繁に参照されるページを取り除くのは良くない すぐにまた呼び戻される // 第 5 講メモリ管理 () 6 システムプログラム概論

// 最適ページ置換 (Optimal Replacement) ページフォルト発生 今後, 最も遠い未来で参照されるページを取り除く NRU: Not Recently Used Algorithm 各ページは Reference bit と Modified bit を持つ ページが参照 / 変更された時, 対応するビットが にセットされる 参照ビットは, クロック割込発生 (ms) 毎に にリセットされる 実現方法 各ページに何命令後に参照されるかを記録 何命令後にページが参照されるか知ることは不可能 実現不可能 他のアルゴリズムの性能の比較対象として利用 // 第 5 講メモリ管理 () 7 NRU ではページを以下のように分類する. 参照も変更もされていない. 参照されていないが, 変更はされた. 参照されたが, 変更されていない. 参照も変更もなされた ( 参照ビットは定期的に ( に ) リセットされるので,. があり得る ) NRU では, ページフォルト時に上記の順でページを取り除く ( 複数ある時はランダムに選択 ) そこそこ良い性能を達成 // 第 5 講メモリ管理 () FIFO: First-In, First-Out Algorithm すべてのページの連結リストを保持 順番は, メモリに読み込まれた順 先頭 ( 最古 ) のページから順に交換 A B C D E 古い 新しい 欠点 よく使われるページを削除してしまうかも知れない 古くからメモリに読み込まれているページはよく参照されることが多い // 第 5 講メモリ管理 () 9 Second Chance Algorithm 再チャンスを与える (FIFO の改良 ) ページは FIFO と同じ順でリンクされている 時刻 でページフォルトが発生 ページ A の参照ビットが なら,A のロード時間を に, 参照 ビットを に更新して, リストの最後尾に追加 B 以降のページを探す 問 :A~Hが全て参照ビット の時, どうなる? // 第 5 講メモリ管理 () The Clock Algorithm 循環リスト Second Chance の改良版 ページフォルトが起こったときに指しているページの参照ビットを確認 なら, そのページを取り除く なら, その参照ビットを にして, ポインタを つ時計回りに進めて, 同じ処理を繰り返す // 第 5 講メモリ管理 () LRU: Least Recently Used 最適ページ置換アルゴリズムの近似手法 最近使われたページは, また使われる可能性が高い 長時間未参照のページは今後も使われない 取り除く 実現は可能だがコストが高い 連結リストでページを管理 維持することで実現可能 最近使用したページが先頭, 最も昔に使用したページが最後 ページ参照のたびに更新が必要 コスト高い ハードウェアによる LRU の実現 高速だが, 全てのマシン /OS で使えない ソフトウェアによる LRU の模倣 近似的な手法によりコストを抑える // 第 5 講メモリ管理 () システムプログラム概論

// LRU の実現法 () ハードウェアでの実現 LRU の実現法 () ソフトウェアでの実現 LRU は行列でページの参照を表現 ページフレーム k を参照時,k 行すべての要素を にセットし, その後,k 列すべての要素を にする 各行のバイナリ値の最小のものが, 最も古くに参照されたページ ページの参照順序は,,,,,,,,, とする 7 9 9 7 // 第 5 講メモリ管理 () 6 NFU (Not Frequently Used) アルゴリズム 全ページにカウンタ ( 初期値 ) をそれぞれ用意 各割り込みクロックで OS はメモリ内の全ページをスキャン 参照 (R) ビットの値をカウンタに加算 ページフォルト時, カウンタ値が最小のページを削除 NFU の問題点 ページが参照された回数のみ考慮 過去に頻繁にページが使用され, 最近はあまり使用されていないページは削除されない 例 : マルチパスコンパイラ 同じプログラムを複数回走査 回目の走査が最も長時間であったとすると, 回目の走査で参照頻度の高かったページはずっと高いカウント値を保持 実はその後不要だとしても全く削除されない // 第 5 講メモリ管理 () LRU の実現法 () ソフトウェアでの実現 The Working Set Algorithm () Aging アルゴリズム (NFU の改良 ) クロック割込毎に, カウンタ値を右にシフト 参照があった時 右にシフト後, 最上位ビットを に 参照ビットが以下のように変化 LRU を上手く近似 ある時間周期内の参照ビット 5 9 9 96 6 76 6 ワーキングセット プロセスが現在使用しているページの集合 時間の経過とともに変化する メモリ内にすべてある場合 ページフォルトが起こらない メモリ容量が少ない ワーキングセットが一度にメモリにロードできない ページフォルトが頻繁に起こる ほとんどのプログラム 参照の局所性を持つ 実行の各フェーズで, ワーキングセットはごく一部のページ群 9 96 6 76 スラッシング (thrashing) 数命令毎にページフォルトを起こすプログラム // 第 5 講メモリ管理 () 5 // 第 5 講メモリ管理 () 6 The Working Set Algorithm () ワーキングセットモデル プロセスのワーキングセットを追跡し, プロセスの実行前にワーキングセットをメモリ内にロード ページフォルト削減 w(k,t): 時刻 t における最近 k 回の命令で参照されたページの集合 ( ワーキングセット ) の大きさ w(k,t) は k の単調増加関数 w(k,t) は有限 k // 第 5 講メモリ管理 () 7 The Working Set Algorithm () マルチプログラミングシステム プロセスは他プロセスが CPU が使用するときにディスクに退避 ワーキングセットの解析を行うことで, プロセスが再始動する時に必要とするページに関する推測が可能 プレページング プロセスが再始動する前に必要となるページをロード ワーキングセットモデルによるページ置換 ワーキングセット内のページか否かの判断が必要 ワーキングセット外のページを選択し削除 // 第 5 講メモリ管理 () システムプログラム概論

// The Working Set Algorithm () The WSClock Algorithm 近似アルゴリズム R ビット ( 参照ビット ) Working Set アルゴリズムと Clock アルゴリズムの併用 参照時刻 R= 閾値 参照時刻を更新. 次へ. R= & ( 現在時刻 - 参照時刻 ) < τ ワーキングセット内. 次へ. R= & ( 現在時刻 - 参照時刻 ) τ 削除 // 第 5 講メモリ管理 () 9 // 第 5 講メモリ管理 () Belady s Anomaly FIFO 使用時に, 実ページ数の多い方が, ページフォルト回数が多くなる現象が発生 Stack Algorithms Belady s Anomaly を回避するアルゴリズム 物理ページ ( 上段 )+ 仮想ページ ( 下段 ) で, ページの順番を保持 物理ページ数 k が k+ になったとき, ワーキングセット w(k,t) w(k+,t) となる 使用するページ置換アルゴリズムは LRU,FIFO 等どれでも良い 実ページ数が の時の例 物理ページ数 全ページ数 実ページ数が の時の例 // 第 5 講メモリ管理 () // 第 5 講メモリ管理 () ページ置換アルゴリズムの一覧 第 回ミニレポート ( 期限 : /7 テスト開始時まで, 形式 : A) 実ページ数が の時, 仮想ページ -6 を以下の順で参照する ( 変更はしない ) とする.,,, 5, 6,,,,, 6,,,, 6,,, 5, // 第 5 講メモリ管理 () FIFO, Second Chance, LRU(Aging, カウンタは bit) でページ置換を行う場合に, 実ページにロードされている仮想ページの移り変わりがどうなるか,P. の記法で表せ. また, それぞれ何回のページフォルトが発生するか答えよ. 仮想ページ 6 5 // 第 5 講メモリ管理 () 実ページ ( 最初は空とする ) システムプログラム概論

// まとめ ページ管理 ページフォルトが発生? ページの置換が必要 ページ置換アルゴリズム NRU,FIFO,Second Chance,Clock,LRU,WS, WSClock Belady s Anomaly,Stack Algorithms // 第 5 講メモリ管理 () 5 システムプログラム概論 5