PowerPoint プレゼンテーション

基本情報技術概論 (第14回)
ソフトウェア
記憶の管理 と 仮想記憶
埼玉大学 理工学研究科
堀山 貴史
1
期末試験
情報処理技術者試験の過去問
http://www.jtec.ipa.go.jp/

7/30 (木) 3, 4 限

試験範囲 : 中間試験以後、7/23 の講義分まで





工-11 教室 (要確認)
アルゴリズムとデータ構造 (第2部, 第10部 01)
ソフトウェア (第4部 01~09, 第10部 03 該当部分)
確率と統計 (7/23 に実施)
持ち込み不可
 荷物はイスの下に。
 机の上 や 机の棚に 物がある場合は、
不正行為とみなします。
問題用紙や解答用紙の配布を始めたら、
私語厳禁。(私語も不正行為とみなします。)
2
前回の復習:
ソフトウェアの体系

ユーザ

アプリケーション
ソフトウェア
基本
ソフトウェア
(OS)
制御プログラム


言語プロセッサ


コンパイラ、アセンブラ、インタプリタ
サービスプログラム

ハードウェア
スーパバイザ
制御 (管理) やユーザプログラム
実行の監視
ジョブ管理、タスク管理、記憶管理
データ管理、運用管理、障害管理
ユーザインタフェース
3
ずいぶん前の復習:
コンピュータの構成
CPU
制御装置
入力装置
演算装置
主記憶装置
出力装置
補助記憶装置

主記憶 (main memory, メモリ) に、
プログラムとデータを置く
4
記憶の管理



主記憶に 複数のプログラム を置きたい
主記憶よりも 大きなサイズのプログラム を扱いたい
実記憶管理
_________________
プログラムから、実際の主記憶 (の大きさや番地) が見える


スワッピング方式 / オーバーレイ方式
仮想記憶管理
_________________
プログラムからは、仮想記憶が見える
OS が、仮想記憶と実記憶とを対応させる

セグメント方式 / ページング方式
5
実記憶管理(1) ________________
スワッピング方式

主記憶に複数のプログラムを置きたい
スワップアウト
1. スワップ
プログラム D
アウト
実行に関係のない
プログラムを、
主記憶から
待避させる
プログラム C
プログラム B
プログラム A
OS
主記憶装置
2. 空き領域
に ロード
プログラム E
補助記憶装置
新しいプログラム
を実行したい
6
実記憶管理(1) スワッピング方式

主記憶に複数のプログラムを置きたい
スワップイン
プログラム E
スワップ
___
イン
プログラム D
プログラム A
OS
主記憶装置
実行を
再開したい
補助記憶装置
スワップアウト
されていた
プログラムを
主記憶に戻す
主記憶に空きが
なければ、
他のプログラムを
スワップアウト
7
実記憶管理(2) ________________
オーバーレイ方式

主記憶よりも大きなサイズのプログラムを扱いたい

実行するプログラムを、セグメント (モジュール) に 分割
(OS ではなく) プログラム自身が
ロードのタイミングを指定

ルート
セグメント
セグメント A
セグメント C
セグメント B
セグメント D
※ AとB、CとDは同時に使わない
必
要
な
最
大
サ
イ
ズ
ルート
A
B
C
D
主記憶装置
8
フラグメンテーション
________________

(断片化)
OS が記憶領域の割当てと開放を繰り返す
→ こま切れの未使用領域 (断片)
合計では十分な空き領域があるが、
こま切れのため、使えない
プログラム E
プログラム D
OS
主記憶装置
コンパクション
?
プログラム F
こま切れの隙間を
集めて、連続した
領域にする
9
プログラム実行に関連した用語

再配置 (リロケーション)
 プログラムを、主記憶上の他の位置に置き直す
(→ see also 演習 14回 再配置可能)

ガーベージ コレクション (ゴミ集め, Garbage Collection)
 動的に確保した記憶領域のうち、不要になった
部分を回収し、再び利用できるようにする処理
(Java 等で、実行環境が自動的に行ってくれる)

メモリ リーク
 プログラムが、動的に確保した記憶領域を、
不要になっても解放せず、保持し続けること
 システムから見ると、使える主記憶が減っていく
10
仮想記憶
11
仮想記憶

主記憶よりも大きなサイズのプログラムを扱いたい

OS が必要な所を必要に応じてロードしてくれると便利

OS が主記憶よりも大きなサイズの記憶空間を
仮想的に用意する (仮想記憶という)

プログラムは、実記憶 (のサイズや番地) を気にしなくてよい
実
記
憶
分割 E
分割 C
分割 A
OS
主記憶装置
OS が、
必要に応じてロード
補助記憶装置
分割 D
分割 C
分割 B
分割 A
仮想記憶
プ
ロ
グ
ラ
ム
12
仮想記憶管理(1) ________________
セグメント方式

セグメント … 論理的に意味のある、分割単位

プログラムをセグメントに分割して、OS が管理
________________
 セグメントのサイズは、可変
________________
… フラグメンテーションが起きる可能性あり
(→ コンパクション を行う)
13
仮想記憶管理(2) ________________
ページング方式

ページ … サイズ固定の分割単位

プログラムをページに分割して、OS が管理

ページフォールト
________________


必要なページが、実記憶に配置されていない
ページ置き換え



ページフォルトが発生したら
必要ないページを補助記憶に待避 (ページアウト)
必要なページを主記憶にロード
(ページイン)
_____________
14
テキスト p.110, 111 も参照
ページ置き換えアルゴリズム F IFO
First-In First-Out

どのページを必要ないと判断するか

F I FO … 最初に入ったページが、最初に出ていく
________________

次の仮想ページの参照に対し、実記憶の状態は
F I FO により どのように変化するか示しなさい。
割当て
ステップ
1
2
3
4
5
6
参照する
実記憶の状態
仮想ページ
1
1
4
1
4
2
1
4
2
1
5
1
(H18年度 秋 改変)
参考: Belady の例外
実記憶の割当て量を
増やすと、かえって
ページフォールトが
増えることがある
15
テキスト p.110, 111 も参照
ページ置き換えアルゴリズム LRU
Least Recently Used

どのページを必要ないと判断するか

LRU … 最も長く使われていないページを捨てる
(最後に参照されてからの時間が最も長いページ)
________________

次の仮想ページの参照に対し、実記憶の状態は
LRU により どのように変化するか示しなさい。
割当て
ステップ
1
2
3
4
5
6
参照する
実記憶の状態
仮想ページ
1
1
4
1
4
2
1
4
2
1
5
1
(H18年度 秋 改変)
16
スラッシング
________________

主記憶が極端に小さいと …
⇒ ページング (ページイン/ページアウト) が頻繁に発生
⇒ 処理時間のほとんどがページング、
プログラム実行のスループットが極端に低下
参考: 参照の局所性


時間的局所性
 今 参照されている箇所は、
近い将来 にも参照される可能性が高い
空間的局所性
 今 参照されている箇所の 近くの場所 が、
参照される可能性が高い
仮想記憶や
キャッシュが
有効に機能
する理由
17
動的アドレス変換

仮想記憶上の仮想アドレス (論理アドレス) を
________________
主記憶上の実アドレス (物理アドレス) に変換する
例) ページング
物理
アドレス
論理アドレス
5 F 0 1
1000 + F01
= 1F01
ページ ページ枠内の
番号
アドレス
ページ テーブル
ページ ページ枠の
番号 物理アドレス
※ 参照ページが
ページテーブルに無い
場合、ページフォールト
1
5
A
2000
1000
3000
1000
2000
3000
主記憶
ページ 5
ページ 1
ページ A
18
19
20
スラッシング
________________

主記憶が極端に小さいと …
⇒ ページング (ページイン と ページアウト) が
頻繁に発生
⇒ 処理時間のほとんどがページング、
プログラム実行のスループットが極端に低下
21
参考:

時間的局所性


参照の局所性
今 参照されている箇所は、
近い将来 にも参照される可能性が高い
空間的局所性

今 参照されている箇所の 近くの場所 が、
参照される可能性が高い
※ 仮想記憶やキャッシュは、
これらの局所性のおかげで有効に機能する
22
23
練習問題:

フラグメンテーション (断片化)
(H19年度 春 改変)
モジュール A ~ E を次の順で操作する。
操作終了時点で、 主記憶の空き領域は何か所存在するか。
ここで、主記憶は 500 kB、初期状態では何もロードされて
いない。また、モジュールは空き領域の先頭からロードする。
[操作] A ロード → B ロード → C ロード → B 解放
→ D ロード → A 解放 → E ロード
モジュール 大きさ (kB)
A
200
B
100
C
150
D
80
E
90
24
25
26
この教材のご利用について




この文面は、TOKYO
TECH OCW の利用
条件を参考にしました
この教材は、以下に示す利用条件の下で、著作権者にわざわざ許諾を
求めることなく、無償で自由にご利用いただけます。講義、自主学習は
もちろん、翻訳、改変、再配布等を含めて自由にご利用ください。
非商業利用に限定

この教材は、翻訳や改変等を加えたものも含めて、著作権者の許
諾を受けずに商業目的で利用することは、許可されていません。
著作権の帰属

この教材および教材中の図の著作権は、次ページ以降に示す著
作者に帰属します。この教材、または翻訳や改変等を加えたもの
を公開される場合には、「本教材 (or 本資料) は
http://www.al.ics. saitama-u.ac.jp/horiyama/OCW/ の教材です
(or 教材を改変したものです」 との旨の著作権表示を明確に実施
してください。なお、この教材に改変等を加えたものの著作権は、
次ページ以降に示す著作者および改変等を加えた方に帰属しま
す。
同一条件での頒布・再頒布

この教材、または翻訳や改変等を加えたものを頒布・再頒布する
場合には、頒布・再頒布の形態を問わず、このページの利用条件27
この教材のご利用について

配布場所

http://www.al.ics.saitama-u.ac.jp/horiyama/OCW/

この powerpoint ファイルの著作者

堀山 貴史 2007-2009 [email protected]

改変等を加えられた場合は、お名前等を追加してください
図の著作者

p. 3
 クリップアート : Microsoft Office Online / クリップアート

その他
 堀山 貴史

28