Presentation is loading. Please wait.

Presentation is loading. Please wait.

記 憶 管 理(2) オペレーティングシステム 第10回.

Similar presentations


Presentation on theme: "記 憶 管 理(2) オペレーティングシステム 第10回."— Presentation transcript:

1 記 憶 管 理(2) オペレーティングシステム 第10回

2 復 習 実際のメモリよりも,大きなプログラムを実行したい 実行に伴い,その時,その時で必要な部分だけがメモリにあれば良い オーバレイ
復 習 実際のメモリよりも,大きなプログラムを実行したい 実行に伴い,その時,その時で必要な部分だけがメモリにあれば良い オーバレイ どこが必要なのかの指示をプログラマが行う 仮想記憶 必要になった部分をOSがメモリに格納する

3 ペ ー ジ 置 換 え(1) デマンドページング ページが必要になったときに,補助記憶装置から実記憶に読み込む ページイン
しかし,読み込む場所(空きページ枠)がない場合は?!

4 ペ ー ジ 置 換 え(2) 空きページ枠がない 適当なページ枠を選ぶ しかし,ページが読み込まれている
その内容を必要に応じて,補助記憶装置に書き出す ページアウト 空けたページ枠に,読み込む,

5 ペ ー ジ 置 換 え(3) ページアウトするページの選択 これから使いそうにないページ 今後,使わないページ
ページアウト直後に再度ページインすることになるようなページは選びたくない 将来の予測 困難

6 ペ ー ジ 置 換 え(4) FIFOアルゴリズム(First In First Out) もっとも古くに実記憶に読み込まれたページを選ぶ
実記憶に長く存在するページは,今後はもう使わないであろう

7 ペ ー ジ 置 換 え(5) LRUアルゴリズム(Least Recently Used) もっとも以前に使われたページを選ぶ
頻繁に使われるページは,今後も使われるであろう(“局所参照”という性質) 使われなくなって時間が経過したページは,今後は使われないであろう

8 ペ ー ジ 置 換 え(6) 他にもいろいろある 実際は,もっと複雑

9 ペ ー ジ 置 換 え(7) 4ページ分(0~3)の大きさのプログラム 実記憶のページ枠は3
次の順で各ページが必要になるものとする  0 → 1 → 2 → 0 → 3 → 0 → 2 → 1 → 2

10 ペ ー ジ 置 換 え(8) FIFO 直前にページアウトした ページをページイン 下のものほど, 長く実記憶にある ページ枠ではない
ページアウト(ページ交換) ページ0が ページアウト

11 ペ ー ジ 置 換 え(9) LRU 実記憶にあるページ 下のものほど, 参照されてから 時間が経過している ページアウト(ページ交換)
参照されてから,最も時間が 経過しているページが ページアウト

12 ペ ー ジ 置 換 え(10) LRUの方が,ページ置換えの回数が少ない ような例としているだけ,かも知れない
FIFOだと,ページ枠の数を増やしても,ページ交換の回数が増える場合がある LRUだと,そのようなことはない

13 ペ ー ジ 置 換 え(11) LRUの背景 メモリ参照の局所性 プログラムは,いつもプログラム全体を参照するわけではない
一部だけを参照する その一部が実行に伴い移動する このようにプログラムを作ると 効率的に実行されることになる プログラム全体(命令とデータ) この部分だけ を参照する この部分だけ を参照する この部分だけ を参照する この部分だけ を参照する この部分だけ を参照する

14 ス ラ ッ シ ン グ(1) 多重プログラミング環境 多重度(並行実行するプロセスの数)を上げる 各プロセスへのページ枠が減る

15 ス ラ ッ シ ン グ(2) ページ交換の回数が増える さらに多重度を上げる CPUは,もっぱらページ交換のために使われる
プロセスの実行が進まない

16 ス ワ ッ ピ ン グ(1) 多重プログラミング環境 すべてのプログラムを主記憶に格納できない

17 ス ワ ッ ピ ン グ(2) プログラムAが実行中 プログラムBを実行しようとする
スワップアウト 空いたところに,Bを読み込む スワップイン

18 問 題 ページアウト,スワップアウト 必要に応じて,補助記憶装置に書き出す つまり,“書き出さない”場合がある ページインは,単に上書き
問 題 ページアウト,スワップアウト 必要に応じて,補助記憶装置に書き出す つまり,“書き出さない”場合がある ページインは,単に上書き 書き出す必要の有無は?

19 ヒ ン ト 命令しかないページは? データのあるページは? 実記憶(主記憶)にある間に,書き換えられたかどうか! この情報も管理する

20 た だ し 多重プログラミング環境 ページ枠に,別のプロセスの命令・データ ページ枠の内容を消去してから, ページインしなければならない

21 記憶管理の他の重要な機能 多重プログラミング環境 別のプログラムが,自分のデータを読み書き 別のプログラムのデータを読み書き
禁止する(保護) ただし,禁止だけではない(情報共有)

22 記憶装置の階層化(1) 第2回 仮想記憶は   メモリ    HDD の2階層 容量 読み書きの時間 メモリ 短い HDD 長い

23 記憶装置の階層化(2) キャッシュメモリ CPUのデータ転送速度と主記憶装置の読み書き速度に差をうめる

24 記憶装置の階層化(3) 読み書きの速度 容量 値段 早いもので大容量が理想であるが… 全体としてのバランス

25 ま と め

26 ま と め(1) 空きページ枠がないとき,どのページ枠を空けるか これから使いそうにないページが格納されているページ枠を選ぶ
将来の予測は困難

27 ま と め(2) FIFO LRU 他にもある 最前未使用(NRU)アルゴリズム,セカンド・チャンスアルゴリズム,ワーキングセット法,…

28 ま と め(3) プロセスへのページ枠の割当てが少ない ページ置換えが頻発 プロセスの実行時間が少なくなる スラッシング

29 ま と め(4) 記憶装置の階層化 キャッシュメモリ メモリ HDD 読み書きの速度,容量,価格 キャッシュは後でも出てくる

30


Download ppt "記 憶 管 理(2) オペレーティングシステム 第10回."

Similar presentations


Ads by Google