Microsoft PowerPoint - OS12.pptx

Similar documents
Microsoft PowerPoint - OS12.pptx

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

Microsoft PowerPoint - OS11.pptx

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

Microsoft PowerPoint - No7note.ppt

Operating System 仮想記憶

OS

メモリ管理

Microsoft PowerPoint - No6note.ppt

OS

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

Microsoft PowerPoint - OS09.pptx

Microsoft PowerPoint - OS07.pptx

Microsoft PowerPoint - OS02.pptx

Microsoft PowerPoint - OS02.ppt

020105.メモリの高機能化

Microsoft PowerPoint - OS02.pptx

PowerPoint プレゼンテーション

Microsoft PowerPoint - No15›¼‚z‰L›¯.ppt

Microsoft PowerPoint ppt

PowerPoint Presentation

システムLSIとアーキテクチャ技術  (part II:オンチップ並列            アーキテクチャ)

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

Microsoft PowerPoint - pc11.ppt

Microsoft PowerPoint - chap4_slide a.ppt

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

コンピュータのしくみ

Microsoft PowerPoint mm2

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

C5

スライド 1

C に必要なコンピュータ知識 C はコンピュータの力を引き出せるように設計 コンピュータの知識が必要

10-vm1.ppt

Microsoft PowerPoint - OS08.pptx

Microsoft PowerPoint - ICD2011TakadaSlides.pptx

PowerPoint プレゼンテーション

講義計画 1. コンピュータの歴史 1 2. コンピュータの歴史 2 3. コンピュータの歴史 3 4. 論理回路と記憶, 計算 : レジスタとALU 5. 主記憶装置とALU, レジスタの制御 6. 命令セットアーキテクチャ 7. 演習問題 8. パイプライン処理 9. メモリ階層 : キャッシュ

システムLSIとアーキテクチャ技術  (part II:オンチップ並列            アーキテクチャ)

メモリ管理

この方法では, 複数のアドレスが同じインデックスに対応づけられる可能性があるため, キャッシュラインのコピーと書き戻しが交互に起きる性のミスが発生する可能性がある. これを回避するために考案されたのが, 連想メモリアクセスができる形キャッシュである. この方式は, キャッシュに余裕がある限り主記憶の

arduino プログラミング課題集 ( Ver /06/01 ) arduino と各種ボードを組み合わせ 制御するためのプログラミングを学 ぼう! 1 入出力ポートの設定と利用方法 (1) 制御( コントロール ) する とは 外部装置( ペリフェラル ) が必要とする信号をマイ

TFTP serverの実装

第2回

計算機アーキテクチャ

05-scheduling.ppt

Microsoft PowerPoint - 11.pptx

オペレーティングシステム

C プログラミング 1( 再 ) 第 5 回 講義では C プログラミングの基本を学び演習では やや実践的なプログラミングを通して学ぶ

V8_教育テキスト.dot

PowerPoint プレゼンテーション

OS

CPUスケジューリング

DRAM SRAM SDRAM (Synchronous DRAM) DDR SDRAM (Double Data Rate SDRAM) DRAM 4 C Wikipedia 1.8 SRAM DRAM DRAM SRAM DRAM SRAM (256M 1G bit) (32 64M bit)

C プログラミング演習 1( 再 ) 2 講義では C プログラミングの基本を学び 演習では やや実践的なプログラミングを通して学ぶ

Microsoft PowerPoint - LogicCircuits09note.ppt [互換モード]

PowerPoint プレゼンテーション

PowerPoint プレゼンテーション

Microsoft PowerPoint - OS03.pptx

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

Microsoft PowerPoint - ARC2009HashiguchiSlides.pptx

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

21 章のお話

目次 第 1 章はじめに 本ソフトの概要... 2 第 2 章インストール編 ソフトの動作環境を確認しましょう ソフトをコンピュータにセットアップしましょう 動作を確認しましょう コンピュータからアンインストー

< B8CDD8AB B83685D>

トランスポート層 TCP輻輳制御(3.7)

目次 第 1 章はじめに 本ソフトの概要... 2 第 2 章インストール編 ソフトの動作環境を確認しましょう ソフトをコンピュータにセットアップしましょう 動作を確認しましょう コンピュータからアンインストー

Microsoft PowerPoint - 11Web.pptx

Microsoft PowerPoint - OS10.pptx

7 ポインタ (P.61) ポインタを使うと, メモリ上のデータを直接操作することができる. 例えばデータの変更 やコピーなどが簡単にできる. また処理が高速になる. 7.1 ポインタの概念 変数を次のように宣言すると, int num; メモリにその領域が確保される. 仮にその開始のアドレスを 1

router_cachehit.eps

スライド 1

-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

CプログラミングI

組込み Linux の起動高速化 株式会社富士通コンピュータテクノロジーズ 亀山英司 1218ka01 Copyright 2013 FUJITSU COMPUTER TECHNOLOGIES LIMITED

Microsoft PowerPoint - No3.ppt

スライド 1

演算増幅器

Microsoft PowerPoint - 05.pptx

公平なネットワーク利用を実現する スケーラブルな パケットスケジューリング方式

Microsoft PowerPoint mm

PowerPoint プレゼンテーション

マニュアル訂正連絡票

スライド 1

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

目次 1 VirtualBoot for Hyper-V とは バックアップを実行するマシンの設定 確認すべきこと SPX によるバックアップ VirtualBoot for Hyper-V を実行するマシンの設定 確

Microsoft PowerPoint - 第3回目.ppt [互換モード]

メモリ管理

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

アジェンダ Renesas Synergy TM プラットフォーム構成 ThreadX とは ThreadX の状態遷移 ThreadX とμITRONの機能比較 まとめ ページ 2

問題1 次の情報表現に関する記述は,コンピュータの勉強を始めたばかりのB君と,かなり詳しく知っているM君の会話である

Microsoft Word - QlikView Server Memory Management and CPU Utilization_Technical Brief_Jpn.docx

高速バックボーンネットワークにおける公平性を考慮した階層化パケットスケジューリング方式

スライド 1

- 主な機能 - 設定機能キャッシュメモリをキャッシュセグメントに分割し 業務で使用する論理ディスクを割り付けるための設定を行います WebSAM istoragemanager のクライアント画面から操作が可能です キャッシュセグメント作成 削除機能キャッシュセグメントの作成 削除を可能にします

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

コンピュータの仕組み(1)ハードウェア

概要 プログラミング論 変数のスコープ, 記憶クラス. メモリ動的確保. 変数のスコープ 重要. おそらく簡単. 記憶クラス 自動変数 (auto) と静的変数 (static). スコープほどではないが重要.

Windows10の標準機能だけでデータを完全バックアップする方法 | 【ぱそちき】パソコン初心者に教えたい仕事に役立つPC知識

2015 TRON Symposium セッション 組込み機器のための機能安全対応 TRON Safe Kernel TRON Safe Kernel の紹介 2015/12/10 株式会社日立超 LSIシステムズ製品ソリューション設計部トロンフォーラム TRON Safe Kernel WG 幹事

Transcription:

主記憶と 次記憶 オペレーティングシステム 第 回仮想記憶管理 () htt://www.info.kindai.ac.j/os 8 号館 階 N- 内線 559 takasi-i@info.kindai.ac.j プロセッサ 主記憶 プログラム データ 次記憶 プログラム データ -7 秒 倍 - 秒 プロセッサは 次記憶を直接読むことはできない 使用するプログラム, データは主記憶上にコピー メモリ管理技法 メモリ管理技法 割り付け技法 (lacement) プログラム, データのメモリ上への割り付け位置を決定 フェッチ技法 (fetch) プログラム, データを 次記憶から主記憶への読み込み時期を決定 置き換え技法 (relacement) 空き領域作成のために 次記憶に追い出すデータの決定 割り付け技法 (lacement) 割り付け技法 連続割り付け (contiguous allocation) プログラム, データをメモリ上の連続した領域に置く 非連続割り付け (noncontiguous allocation) プログラム, データをメモリ上に分割して置くデータ データ 割り付け技法 フェッチ技法 (fetch) 連続割り付け (contiguous allocation) 非連続割り付け (noncontiguous allocation) 単一連続割り付け (single artition allocation) 固定区画割り付け (static artition allocation) 可変区画割り付け (dynamic artition allocation) ページング (aging) セグメンテーション (segmentation) 単一ユーザ 複数ユーザ フェッチ技法 (fetch) 要求時フェッチ (demand fetch) プログラムが参照したときにデータを読み込む プリフェッチ (refetch) 参照前に予めデータを読んでおく

置き換え技法 (relacement) 置き換え技法 (relacement) 空き領域作成のために 次記憶に追い出すデータの決定主記憶 次記憶主記憶に読み込みプログラム 空き無しデータ データ プログラム データ プログラム プログラム プログラム データ データ 置き換え技法 (relacement) 置き換え技法 (relacement) 空き領域作成のために 次記憶に追い出すデータの決定主記憶 次記憶 プログラム 書き込みプログラム データ データ プログラム プログラム プログラム データ データ データ どのデータを 次記憶に追い出すか? 仮想記憶 置き換え技法 スワップイン, スワップアウトに時間がかかる ( 主記憶へのアクセスの約 倍 ) スワップ操作 可能な限り低頻度に 可能な限り低コストに 主記憶上に無い場合 仮想アドレス ペー ペー フラグ ジ ジ枠 V P C 主記憶上 に無し ページングの動作 主記憶ページ 7 6 に空き無し 次記憶 ページ 5 6 7 ページフォルト発生 ページングの動作 次記憶 主記憶上に無い場合 主記憶 仮想アドレス ページ ページ 7 6 ペー ペー フラグ ジジ枠 V P C を空けるために 5 をページアウト 6 7 主記憶上に無い場合 仮想アドレス 実アドレス ペー ペー フラグ ジ ジ枠 V P C 主記憶上 主記憶上 の位置 に有り ページングの動作 主記憶ページ 7 6 次記憶からページイン 次記憶ページ 5 6 7

ページングの動作 次記憶 主記憶上に無い場合 主記憶 仮想アドレス ページ ページ 999 7 ページフォルト発生 6 ペーペーフラグ ジジ枠 V P C はページアウトしたばかり 5 6 前回のページアウトが 7,6,7 のどれかであれば ページフォルトは起きなかった ページアウトするページ ページアウトしたページを再度参照するとページフォルトが起こる ページアウトするページは近い将来に参照されないページがいい どのページが 近い将来に参照されない? 置き換えアルゴリズム OPT(otimal) 今後最も長い期間使用されないページを選択 FIFO(first in first out) 最も早く主記憶に読み込んだページを選択 LRU(least recently used) 最も長い期間使用されていないページを選択 LFU(least frequently used) 最も参照回数の少ないページを選択 OPT(otimal) OPT(otimal) 今後最も長い期間使用されないページを選択 主記憶 ページ 読み込み 前回使用 参照回数 次回使用 回前 5 回前 回 回後 7 回前 7 回前 回 5 回後 7 回前 回前 回 7 回後 6 回前 回前 回 回後 OPT OPT 参照ページ 参照ページ

OPT 参照ページ ページフォルト 7 回 OPT の長所 OPT の長所と短所 最適なアルゴリズム : ページフォルト率が最低 OPT の短所 将来のページ参照が分かる必要あり 実用性は無し = OPT を採用している OS は存在しない ( 他のアルゴリズムとの比較用 ) 参照の局所性 (locality of reference) 参照の局所性 (locality of reference) 主記憶へのアクセスは一部のアドレスに集中する可能性が高い時間局所性 最近参照されたページは近い将来に再度参照される可能性が高い空間局所性 あるページが参照されると近くのページも近い将来に参照される可能性が高い 時間局所性 時間局所性 最近参照されたページは近い将来に再度参照される可能性が高い sum = ; for (int i:=; i<n; ++i) { sum := sum + a[i]; } for ループ内では変数 i, sum が繰り返し参照される 空間局所性 空間局所性 あるページが参照されると近くのページも近い将来に参照される可能性が高い sum = ; for (int i:=; i<n; ++i) { sum := sum + a[i]; } for ループ内では a[], a[],, a[n] が順に参照される 時間局所性今後アクセアクセスされてから時間が経つにつれスアクセスされる確率は下がっていくされる確率(未知)

局所性を利用した置き換え 多くのプログラムには時間局所性がある 最近参照されたページは近い将来に再度参照される可能性が高い 最近参照されていないページは近い将来に再度参照される可能性は低い あまり参照されていないページをページアウトする FIFO(first in first out) FIFO(first in first out) 最も早く主記憶に読み込んだページを選択 主記憶 ページ 読み込み 前回使用 参照回数 次回使用 回前 5 回前 回 回後 7 回前 7 回前 回 5 回後 7 回前 回前 回 7 回後 6 回前 回前 回 回後 FIFO 参照ページ FIFO 参照ページ FIFO 参照ページ ページフォルト 9 回 FIFO の実装 FIFO の実装 キューでページを管理する 参照ページ (FIFO キュー ). 番上のページを消す. ページを上にシフト. 番下にページを加える 5

FIFO の実装 参照ページ FIFO の長所 実装が簡単 FIFO の短所 FIFO の長所と短所 頻繁に使用するページでもページアウトされる Belady の異常 (Belady s anomaly) が起こる FIFO の短所 ページ は頻繁にアクセス 参照ページ 頻繁にアクセスされるページがページアウトしてしまう 通常は少 多 Belady の異常 (Belady s anomaly) 数 ページフォルト数 Belady の異常 (Belady s anomaly) 多 少 FIFO では 数が増加したのにページフォルト数が増加してしまう場合がある Belady の異常参照ページ 枠数 枠数 ページフォルト 9 回 ページフォルト ページフォルト 回 ページフォルト Belady の異常 参照ページ 6

LRU(least recently used) LRU(least recently used) 最も長い期間使用されていないページを選択 主記憶 ページ 読み込み 前回使用 参照回数 次回使用 回前 5 回前 回 回後 7 回前 7 回前 回 5 回後 7 回前 回前 回 7 回後 6 回前 回前 回 回後 LRU 参照ページ LRU 参照ページ LRU 参照ページ ページフォルト 7 回 LRU の長所 LRU の長所と短所 頻繁にアクセスするページはページアウトされない Belady の異常が起こらない LRU の短所 各ページの参照時刻の記録が必要 カウンタ, スタック, 参照ビット等のハードウェア支援が必要 LRU の実装 各ページへのアクセス時のカウンタ値を記録 最小のカウンタ値のページをページアウト 各ページへアクセス時に にセット のページを優先的にページアウト スタックによる実装 各ページへのアクセス時にスタックの先頭に移動 スタックの末尾のページをページアウト 7

ページへアクセスするときカウンタを増加 アクセスしたページにカウンタ値を記録 ページへアクセスするときカウンタを増加 アクセスしたページにカウンタ値を記録 カウンタ 5 ページ カウンタ カウンタ 56 ページ にアクセス ページ カウンタ 5 ページへアクセスするときカウンタを増加 アクセスしたページにカウンタ値を記録 ページへアクセスするときカウンタを増加 アクセスしたページにカウンタ値を記録 カウンタ 6 ページ にアクセス ページ カウンタ 5 カウンタ値が 最小のページをページアウト カウンタ ページ カウンタ 67 ページ にアクセス 6 ページへアクセスするとき にセット 参照ビットが のページを優先的にページアウト 必要に応じて全ページの参照ビットを にリセット ページへアクセスするとき にセット 参照ビットが のページを優先的にページアウト 必要に応じて全ページの参照ビットを にリセット ページ 参照ビット ページ にアクセス ページ 参照ビット 8

ページへアクセスするとき にセット 参照ビットが のページを優先的にページアウト 必要に応じて全ページの参照ビットを にリセット ページへアクセスするとき にセット 参照ビットが のページを優先的にページアウト 必要に応じて全ページの参照ビットを にリセット ページ にアクセス ページ 参照ビット 参照ビットが のページを ページアウト ページ 参照ビット ページ にアクセス スタックによる実装 スタックによる実装 スタックでページを管理する 参照ページ (FIFO キュー ) ページフォルト 参照したページを一番下に移動 スタックによる実装 スタックによる実装 スタックでページを管理する参照ページ (FIFO キュー ) ページフォルト. 番上のページを消す. ページを上にシフト. 番下にページを加える LRU の実装 実装方法長所短所 カウンタ LRU を実現 参照ビットハードウェアが不要 ハートウェアが必要参照に時間が掛かる LRU の近似 スタック LRU を実現ハードウェアが必要 LFU(least frequently used) LFU(least frequently used) 最も参照回数の少ないページを選択 主記憶 ページ 読み込み 前回使用 参照回数 次回使用 回前 5 回前 回 回後 7 回前 7 回前 回 5 回後 7 回前 回前 回 7 回後 6 回前 回前 回 回後 9

ージフォルト率主記憶上に存在するページの割合ペ : 回 : 回 : 回 LFU : 回 : 回 : 回 LFU 参照ページ 参照ページ LFU 参照ページ ページフォルト 7 回 LFU の長所 LFU の長所と短所 頻繁にアクセスするページはページアウトされない Belady の異常が起こらない LFU の短所 参照に時間がかかる 各ページの参照回数の記録が必要 カウンタ等のハードウェア支援が必要 置き換え技法の長所と短所 技法長所短所 OPT FIFO LRU LFU 最適 実装が簡単 参照の少ないページがページアウト 参照の少ないページがページアウト 未来の参照が分からなければならない 頻繁に参照されるページがページアウト ハードウェアが必要 ハードウェアが必要..5 ページフォルト曲線.5..5 を境にページフォルト率は急激に上昇 ランダムな参照 局所的な参照

CPU プロセス プロセス ( 優先度低 ) IO 装置 マルチプロセスの実行中の動作 CPU が使えるので実行開始 優先度が低い方は実行中断 遊び マルチプロセスにすれば CPU の遊び時間を減らせる 実行プロセス数と処理効率 CPUの遊び時間がPU減り効率が上がる処ページスワップが理多くなる効率入力待ち等で効率が低い実行プロセス数C実行プロセスが増え過ぎると効率が下がるスラッシング (thrashing) スラッシング (thrashing) スラッシング (thrashing) 主記憶の容量が充分に無いため 次記憶への参照が繰り返し行われる状態スラッシングの原因 非常に多くのプロセスが並行動作 非常に大きな記憶領域を必要とするプロセスが動作 ワーキングセット (working set) ワーキングセット (working set) プロセスが活発に参照するページの集合 頻繁に参照プロセス あまり参照しない ページ ワーキングセット ワーキングセットと ワーキングセット > 頻繁にページフォルトが発生 スラッシング 各プロセスにワーキングセット以上のを割り当てる 動的ページ置き換え 動的ページ置き換え 各プロセスに割り当てるのサイズを動的に変える ページフォルト発生頻度 : 大 増加ページフォルト発生頻度 : 並 変更無しページフォルト発生頻度 : 小 減少 全てのプロセスでページフォルトが多発する場合は優先度の低いプロセスを停止する

ージフォルト率数ペ動的ページ置換え を増やす上限下限を減らす ワーキングセットによる動的ページ置換え ワーキングセット = 最近の w 時間以内にアクセスされたページ ページ : 5 時刻 t-w 時刻 t 時刻 t のワーキングセット : 5 時間 w : ウィンドウサイズ ワーキングセットによる動的ページ置換え ウィンドウサイズ w = 参照ページ ページフォルト ワーキングセットによる動的ページ置換え w 時間アクセスされなかったページは消去ウィンドウサイズ w = 参照ページ ページフォルト を に減少 ワーキングセットによる動的ページ置換え ウィンドウサイズ w = 参照ページ ページフォルト を に増加 ワーキングセットによる動的ページ置換え ウィンドウサイズ w = 参照ページ を に減少 を に増加

ージフォルト率数ペ置換え技法 まとめ 主記憶上のデータのうち どれを二次記憶に追い出すか決定する 今後使わないデータを追い出す 参照の局所性を利用して今後使わないデータを推定 置き換えアルゴリズム OPT(otimal) 今後最も長い期間使用されないページを選択 FIFO(first in first out) 最も早く主記憶に読み込んだページを選択 LRU(least recently used) 最も長い期間使用されていないページを選択 LFU(least frequently used) 最も参照回数の少ないページを選択 置き換え技法の長所と短所 動的ページ置換え 技法長所短所 OPT FIFO LRU LFU 最適 実装が簡単 参照の少ないページがページアウト 参照の少ないページがページアウト 未来の参照が分からなければならない 頻繁に参照されるページがページアウト ハードウェアが必要 ハードウェアが必要 を増やす上限下限を減らす