基本情報技術概論 ( 第 14 回 )

28
1 ソソソソソソ ソソソソソ ソ ソソソソ ソソソソソソソソ ( ソ 14 ソ ) ソソソソ ソソソソソソ ソソ ソソ

Upload: nemo

Post on 23-Feb-2016

66 views

Category:

Documents


0 download

DESCRIPTION

ソフトウェア 記憶の管理 と 仮想記憶. 基本情報技術概論 ( 第 14 回 ). 埼玉大学 理工学研究科 堀山 貴史. 情報処理技術者試験の過去問 http://www.jtec.ipa.go.jp/. 期末試験. 7/30 ( 木 ) 3, 4 限 工 -11 教室 ( 要確認 ) 試験範囲 : 中間試験以後、 7/23 の講義分まで アルゴリズムとデータ構造 ( 第2部 , 第 10 部 01) ソフトウェア ( 第 4 部 01 ~ 09, 第 10 部 03 該当部分 ) - PowerPoint PPT Presentation

TRANSCRIPT

1

ソフトウェア 記憶の管理 と 仮想記憶

基本情報技術概論 ( 第 14 回 )

埼玉大学 理工学研究科 堀山 貴史

2

期末試験

7/30 ( 木 ) 3, 4 限 工 -11 教室 ( 要確認 ) 試験範囲 : 中間試験以後、 7/23 の講義分ま

で アルゴリズムとデータ構造 ( 第2部 , 第 10 部

01) ソフトウェア ( 第 4 部 01 ~ 09, 第 10 部 03

該当部分 ) 確率と統計 (7/23 に実施 )

持ち込み不可 荷物はイスの下に。 机の上 や 机の棚に 物がある場合は、 不正行為とみなします。

問題用紙や解答用紙の配布を始めたら、私語厳禁。(私語も不正行為とみなします。)

情報処理技術者試験の過去問 http://www.jtec.ipa.go.jp/

3

前回の復習: ソフトウェアの体系

ユーザ

基本ソフトウェア

(OS)

アプリケーションソフトウェア

ハードウェア

制御プログラム スーパバイザ 制御 ( 管理 ) やユーザプログ

ラム実行の監視 ジョブ管理、タスク管理、記憶

管理 データ管理、運用管理、障害管

言語プロセッサ コンパイラ、アセンブラ、インタ

プリタ

サービスプログラム ユーザインタフェース

4

主記憶 (main memory, メモリ ) に、 プログラムとデータを置く

ずいぶん前の復習: コンピュータの構成

出力装置入力装置

制御装置

補助記憶装置

CPU演算装置

主記憶装置

5

記憶の管理 主記憶に 複数のプログラム を置きたい 主記憶よりも 大きなサイズのプログラム を扱い

たい

実記憶管理 プログラムから、実際の主記憶 ( の大きさや番地 )

が見える スワッピング方式 / オーバーレイ方式

仮想記憶管理 プログラムからは、仮想記憶が見える

OS が、仮想記憶と実記憶とを対応させる セグメント方式 / ページング方式

_________________

_________________

6

実記憶管理(1) スワッピング方式

主記憶に複数のプログラムを置きたい

プログラム C

OS

プログラム Bプログラム A

主記憶装置

スワップアウト

実行に関係のないプログラムを、

主記憶から待避させる

新しいプログラムを実行したい

1. スワップ アウト

2. 空き領域 に ロード 補助記憶装置

プログラム D

プログラム E

________________

7

実記憶管理(1) スワッピング方式

主記憶に複数のプログラムを置きたい

OSプログラム A

主記憶装置 補助記憶装置

スワップイン

スワップアウトされていた

プログラムを主記憶に戻す

プログラム E

主記憶に空きがなければ、

他のプログラムをスワップアウト

スワップ イン___

プログラム D

実行を再開したい

8

実記憶管理(2) オーバーレイ方式

主記憶よりも大きなサイズのプログラムを扱いたい

実行するプログラムを、セグメント ( モジュール ) に 分割

( OS ではなく) プログラム自身が ロードのタイミングを指

セグメント C セグメント D

セグメント Bセグメント A

主記憶装置

ルートセグメント

ルート

A B

C D

必要

な最

大サ

イズ

※ AとB、CとDは同時に使わない

________________

9

フラグメンテーション ( 断片化 ) OS が記憶領域の割当てと開放を繰り返す

        → こま切れの未使用領域 ( 断片 )

合計では十分な空き領域があるが、

          こま切れのため、使えない

OS

主記憶装置

プログラム E

プログラム D

プログラム F?

コンパクション こま切れの隙間を 集めて、連続した 領域にする

________________

10

プログラム実行に関連した用語

再配置 ( リロケーション ) プログラムを、主記憶上の他の位置に置き直す(→ see also 演習 14 回 再配置可能 )

ガーベージ コレクション ( ゴミ集め , Garbage Collection) 動的に確保した記憶領域のうち、不要に

なった部分を回収し、再び利用できるようにする処理 (Java 等で、実行環境が自動的に行ってくれる )

メモリ リーク プログラムが、動的に確保した記憶領域

を、不要になっても解放せず、保持し続けること

システムから見ると、使える主記憶が減っていく

11

仮想記憶

12

実記

仮想記憶 主記憶よりも大きなサイズのプログラムを扱い

たい OS が必要な所を必要に応じてロードしてくれると便利

OS が主記憶よりも大きなサイズの記憶空間を 仮想的に用意する (仮想記憶という) プログラムは、実記憶 ( のサイズや番地 ) を気にしなく

てよい  

分割 D

分割 COS分割 B分割 A

分割 C分割 E

主記憶装置 補助記憶装置

プロ

グラ

OS が、必要に応じてロード

仮想記憶

分割 A

13

仮想記憶管理(1) セグメント方式

セグメント … 論理的に意味のある、分割単位

プログラムをセグメントに分割して、 OS が管理

セグメントのサイズは、可変 … フラグメンテーションが起きる可能性あり (→ コンパクション を行う )

________________

________________

________________

14

仮想記憶管理(2) ページング方式

ページ … サイズ固定の分割単位

プログラムをページに分割して、 OS が管理

ページフォールト 必要なページが、実記憶に配置されていない

ページ置き換え ページフォルトが発生したら 必要ないページを補助記憶に待避 (ページアウ

ト) 必要なページを主記憶にロード (ページイ

ン)_____________

________________

________________

15

ページ置き換えアルゴリズム F I

FO どのページを必要ないと判断するか

F I FO … 最初に入ったページが、最初に出ていく

割当てステップ

次の仮想ページの参照に対し、実記憶の状態は F I FO により どのように変化するか示しなさい。

(H18年度 秋 改変 )

参照する仮想ペー

ジ実記憶の状態

123456

142151

111

-44

--2

First-In First-Out

参考: Belady の例外

実記憶の割当て量を増やすと、かえってページフォールトが増えることがある

テキスト p.110, 111 も参照

________________

16

どのページを必要ないと判断するか LRU … 最も長く使われていないページを捨

てる ( 最後に参照されてからの時間が最も長いページ )

割当てステップ

次の仮想ページの参照に対し、実記憶の状態は LRU により どのように変化するか示しなさい。

(H18年度 秋 改変 )

参照する仮想ペー

ジ実記憶の状態

123456

142151

111

-44

--2

ページ置き換えアルゴリズム LRULeast Recently Used

テキスト p.110, 111 も参照

________________

17

スラッシング 主記憶が極端に小さいと …

⇒ ページング (ページイン / ページアウト) が頻繁に発生

⇒ 処理時間のほとんどがページング、 プログラム実行のスループットが極端に低下

________________

時間的局所性 今 参照されている箇所は、近い将来 にも参照される可能性が高い

空間的局所性 今 参照されている箇所の 近くの場所 が、参照される可能性が高い

参考: 参照の局所性 仮想記憶や

キャッシュが有効に機能する理由

18

動的アドレス変換

仮想記憶上の仮想アドレス ( 論理アドレス ) を 主記憶上の実アドレス ( 物理アドレス ) に変換す

る例 ) ページング

5 F 0 1ページ番号

ページ枠内のアドレス

論理アドレス

1 2 0 0 05 1 0 0 0A 3 0 0 0

ページ テーブルページ番号

ページ枠の物理アドレス

1000 + F01

= 1F01

物理アドレ

主記憶

ページ 5

ページ 1

ページ A

3000

2000

1000

________________

※ 参照ページがページテーブルに無い場合、ページフォールト

19

20

21

スラッシング

主記憶が極端に小さいと …

⇒ ページング (ページイン と ページアウト) が

頻繁に発生

⇒ 処理時間のほとんどがページング、 プログラム実行のスループットが極端に低

________________

参考: 参照の局所性

時間的局所性

今 参照されている箇所は、 近い将来 にも参照される可能性が高い

空間的局所性

今 参照されている箇所の 近くの場所 が、 参照される可能性が高い

22

※ 仮想記憶やキャッシュは、 これらの局所性のおかげで有効に機能する

23

24

モジュール A ~ E を次の順で操作する。 操作終了時点で、 主記憶の空き領域は何か所存在す

るか。 ここで、主記憶は 500 kB 、初期状態では何もロー

ドされていない。また、モジュールは空き領域の先頭からロードする。

[操作 ] A ロード → B ロード → C ロード → B 解放 → D ロード → A 解放 → E ロード

練習問題: フラグメンテーション ( 断片化 )

モジュール

大きさ (kB)A

BCDE

200100150 80 90

(H19年度 春 改変 )

25

26

27

この教材のご利用について この教材は、以下に示す利用条件の下で、著作権者にわざわざ許諾を求めることなく、無償で自由にご利用いただけます。講義、自主学習はもちろん、翻訳、改変、再配布等を含めて自由にご利用ください。

非商業利用に限定 この教材は、翻訳や改変等を加えたものも含めて、著作権者

の許諾を受けずに商業目的で利用することは、許可されていません。

著作権の帰属 この教材および教材中の図の著作権は、次ページ以降に示す著作者に帰属します。この教材、または翻訳や改変等を加えたものを公開される場合には、「本教材 (or 本資料 ) は http://www.al.ics. saitama-u.ac.jp/horiyama/OCW/ の教材です (or 教材を改変したものです」 との旨の著作権表示を明確に実施してください。なお、この教材に改変等を加えたものの著作権は、次ページ以降に示す著作者および改変等を加えた方に帰属します。

同一条件での頒布・再頒布 この教材、または翻訳や改変等を加えたものを頒布・再頒布

する場合には、頒布・再頒布の形態を問わず、このページの利用条件に準拠して無償で自由に利用できるようにしてください。

この文面は、 TOKYO TECH OCW の利用条件を参考にしました

28

配布場所 http://www.al.ics.saitama-u.ac.jp/horiyama/OCW/

この powerpoint ファイルの著作者 堀山 貴史  2007-2009 [email protected]

u.ac.jp 改変等を加えられた場合は、お名前等を追加してください

図の著作者 p. 3

クリップアート : Microsoft Office Online / クリップアート

その他 堀山 貴史

この教材のご利用について