1 / 33

記 憶 管 理(2)

記 憶 管 理(2). オペレーティングシステム 第9回. 復 習. 実際のメモリよりも,大きなプログラムを実行したい 実行に伴い,その時,その時で必要な部分だけがメモリにあれば良い オーバレイ どこが必要なのかの指示をプログラマが行う 仮想記憶 必要になった部分を OS がメ モリに格納する. 仮 想 記 憶(13) 前回. プログラムの実行に伴いある番地を参照 その番地のページ番号 ページ番号をページ表で調べる 該当ページが実記憶にない ページフォールト という割込み 該当ページの実記憶への読み込みと ページ表更新. 仮 想 記 憶(14) 前回.

morag
Télécharger la présentation

記 憶 管 理(2)

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

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

  3. 仮 想 記 憶(13) 前回 • プログラムの実行に伴いある番地を参照 • その番地のページ番号 • ページ番号をページ表で調べる • 該当ページが実記憶にない • ページフォールトという割込み • 該当ページの実記憶への読み込みとページ表更新

  4. 仮 想 記 憶(14) 前回 • 空いているページ枠がない • 使用中のページ枠を空けて,そこに読み込む • 空けるページ枠の決め方 • ページ置換えアルゴリズム • 次回 ← 今回

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

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

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

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

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

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

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

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

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

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

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

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

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

  18. ス ワ ッ ピ ン グ(補足) • プログラムAが実行中 • プログラムBを実行しようとする • 主記憶を空けるために,Aが格納されている主記憶の内容を必要に応じて,補助記憶装置に書き出す • スワップアウト • 空いたところに,Bを読み込む • スワップイン

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

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

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

  22. 記憶装置の階層化

  23. 記憶装置の階層化(1) • 第2回 • 仮想記憶は  メモリHDDの2階層

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

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

  26. ま と め

  27. ま と め(1) • 必要になったページが実記憶にない • という割込みページフォールト • 実記憶に読み込む • ページイン

  28. ま と め(2) • 空きページ枠がないとき,どのページ枠を空けるか • これから使いそうにないページが格納されているページ枠を選ぶ • 必要に応じて,そのページ枠の内容を補助記憶装置に書き出す • ページアウト

  29. ま と め(3) • ページアウトするページの選択 • 将来の予測 • FIFO • LRU • 他にもある • 最前未使用(NRU)アルゴリズム,セカンド・チャンスアルゴリズム,ワーキングセット法,…

  30. ま と め(4) • ページアウトする必要のない場合 • 単に新しいページでページ枠を上書きする • ページ枠の内容が変更されていない • 補助記憶装置の内容と同じ • プログラム • データであっても変更されていない

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

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

More Related