• 検索結果がありません。

バージョンをお渡しする事も可能です。

N/A
N/A
Protected

Academic year: 2021

シェア "バージョンをお渡しする事も可能です。"

Copied!
29
0
0

読み込み中.... (全文を見る)

全文

(1)

この資料は、情報工学レクチャーシリーズ オペ レーティングシステム 松尾啓志 著(森北出版 株式会社)を用いて授業を行うために、名古屋工 業大学松尾啓志、津邑公暁が作成しました。

パワーポイント

2007

で最終版として保存しているため、変更は できませんが、授業でお使いなる場合は松尾

([email protected])

まで連絡いただければ、編集可能な

バージョンをお渡しする事も可能です。

(2)

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

#10 主記憶管理:

セグメンテーション,

ページ化セグメンテーション

(3)

復習

ページング

主記憶の再配置システム

仮想アドレスの上位(ページ番号)を

物理アドレスの上位(ページフレーム番号)に 変換することでアドレス変換

フラグメンテーションも改善

ページテーブル

上記変換を行うためのテーブル

ページに対応するエントリごとにフラグなどを配置

ページへのアクセス権などを設定可能

(4)

4

物理空間

3

復習:ページングの動作

00 01 02 03 04 05 06 07 08 09 0

1 2

0x00000 0x00FFF 0x01000

0x01FFF 0x02000

0x02FFF 0x03000

0x03FFF 0x04000

0x04FFF 0x05000

0x05FFF 0x06000

0x06FFF 0x07000

0x07FFF 0x08000

0x08FFF 0x09000

0x09FFF 0x0000

0x0FFF 0x1000

0x1FFF 0x2000

0x2FFF 0x3000

0x3FFF

V P C ページフレーム 1

1 1 1 1 1 1 1 1

01 00 02 03 04 05 06 07 08

02

0 011 0

0

仮想アドレス

物理アドレス

02 123

123 0

スワップイン

(5)

復習

ページングの改善法

ハッシュ関数

ページテーブルの巨大さを緩和

仮想アドレス空間に比例する大きさが必要だったのが,

物理アドレス空間に比例する大きさまで縮小

連想レジスタ

主記憶へのアクセス回数の緩和

最近使用した「ページ番号 ページフレーム番号」の

変換結果を

CPU

内で記憶

ページテーブル検索のための主記憶アクセスを削減

(6)

今日の内容

ページングの構成法

多重レベルページング

(10.3)

0

レベルページング

(10.4)

セグメンテーション

セグメンテーション

(10.1)

ページ化セグメンテーション

(10.2)

教科書とは違う順番でやります

(7)

多重レベルページング 10.3

(8)

復習:ページングの問題点

ページテーブルが巨大

(仮想記憶の大きさと同じエントリ数)

×

(同時実行プロセス数)

だけのエントリ数が必要

主記憶を圧迫

前回はハッシュ関数を利用することで改善

仮想アドレス空間に比例する大きさが必要だったのが,

物理アドレス空間に比例する大きさまで縮小

さらに改善したい

(9)

多重レベルページング

0x0000

0x1000

0x2000

0x3000

仮想アドレス

物理アドレス

123

123 0

基底アドレス

1 0 2 3 4

6000

0 2

0x4000

0x5000

0x6000

0x7000

0x8000

0x9000

主記憶

テーブル ページ テーブル ページ

テーブル ページ

アドレス 仮想 空間

2 1

3 4 5 2

3

6 6

0

0

8000

5000

ページ

テーブル ページテーブル

0x00000 0x00FFF 0x01000

0x01FFF 0x02000

0x02FFF 0x03000

0x03FFF 0x04000

0x04FFF 0x05000

0x05FFF 0x06000

0x06FFF 0x07000

0x07FFF 0x08000

0x08FFF 0x09000

0x09FFF

ページテーブル

ページ番号

2 3

フレーム番号

0 1

ページテーブルを

多段に

(10)

多重レベルページング

0x0000

0x1000

0x2000

0x3000

仮想アドレス

物理アドレス

123

123 0

基底アドレス

1 0 2 3 4

6000

0 2

0x4000

0x5000

0x6000

0x7000

0x8000

0x9000

主記憶

テーブル ページ

アドレス 仮想 空間

2 1

3 4 5 2

3

6 6

0

0

8000

5000

ページ

テーブル ページテーブル

0x00000 0x00FFF 0x01000

0x01FFF 0x02000

0x02FFF 0x03000

0x03FFF 0x04000

0x04FFF 0x05000

0x05FFF 0x06000

0x06FFF 0x07000

0x07FFF 0x08000

0x08FFF 0x09000

0x09FFF

テーブル ページ

テーブル ページ

当面必要でない ページテーブルは,

仮想記憶上に置いておける

(11)

多重レベルページング

ページングを多段化

2

段だけでなく,さらに多段化も可能

ページテーブルを細かく分割可能

必要なテーブルのみを主記憶上に置くことで 主記憶使用量を削減

多段化により,主記憶アクセスは増加

TLB

により解決

(12)

10.4

0 レベルページング

(連想写像方式)

(13)

連想写像方式

一般的なページング

主記憶上にページテーブル

CPU

内の

MMU

が,ページテーブルを用いて アドレス変換

0

レベルページング(連想写像方式)

ハードウェアとしての

MMU

を持たない

一般的なページテーブルを持たず,

連想メモリで構成した

TLB

でアドレス変換

(14)

14

3

0

レベルページングの動作

00 01 02 03 04 05 06 07 08 09 0

1 2

0x00000 0x00FFF 0x01000

0x01FFF 0x02000

0x02FFF 0x03000

0x03FFF 0x04000

0x04FFF 0x05000

0x05FFF 0x06000

0x06FFF 0x07000

0x07FFF 0x08000

0x08FFF 0x09000

0x09FFF 0x0000

0x0FFF 0x1000

0x1FFF 0x2000

0x2FFF 0x3000

0x3FFF

V P C ページフレーム 0 011 0 3

1

0 011 0 0 1

1

0 011 0 2 1

0 011 0 1 1

01 00 02 03 04 05 06 07 08

02 07 05

仮想アドレス

物理アドレス

00 02 789

789

0 03

物理空間

フレーム ページフレーム

00 3

02 0

05 2

07 1

連想メモリ

インデクスを持たない 全エントリを並列検索

02 0

(15)

0

レベルページングの特徴

メリット

高クロック実装が可能

MMU

不要のため,

CPU

機構が単純化

デメリット

TLB

ヒットしなかった場合のオーバヘッドが膨大

ソフトウェア処理のため

よって

...

主記憶使用量の少ないプログラムには高速

主記憶使用量の多いプログラムには非常に低速

(16)

セグメンテーション 10.1

(17)

こちらも実現したい ページングで実現可能

大きさが無制限

プロセスは主記憶の空き容量を考慮する必要なし

プログラムの簡単化,バグの可能性減少

プロセスごとに固有

他のプロセスからのアクセスに対し保護

プログラム部,データ部,スタック部など分離

用途ごとに空間を分けることで,

自プロセス内での不正アクセスの可能性を低減

必要時にはプロセス間で共有も可能

並列動作するプロセス間で共有し,

高速な通信機構として使用

復習:理想的な論理アドレス空間

(18)

セグメンテーション

ページ(ページング)

一定の大きさを割り当て単位とする

セグメント(セグメンテーション)

プロセスに対し複数のセグメントを割り当て

各セグメントは論理的に独立

プログラム部,データ部など固有領域として使用可能

各セグメントはその論理空間の大きさを

自由に増減可能

(19)

セグメンテーション

プロセス

1

プログラム 領域

プログラム 領域

データ 領域 データ 領域

スタック 領域 スタック 領域

プロセス

2

データ 領域

データ 領域

プロセス間共有も 実現可

セグメント

(20)

20

物理空間

セグメンテーション

0x00000 0x00FFF 0x01000

0x01FFF 0x02000

0x02FFF 0x03000

0x03FFF 0x04000

0x04FFF 0x05000

0x05FFF 0x06000

0x06FFF 0x07000

0x07FFF 0x08000

0x08FFF 0x09000

0x09FFF 0x0000

0x3FFF

V 基底アドレス 1

1 1 1 1 1 1 1

01 00 02 03 04 05 06 07 08

仮想アドレス

物理アドレス

02 123

1345

セグメント長

0x1222

1

0 1222 1300

1300

(21)

セグメンテーション

利点

プログラム部,データ部など,用途別に複数を プロセスに割り当て

各セグメンテーションは大きさを増減可

欠点

フラグメンテーション

他の手法と組み合わせて

利用

(22)

ページ化セグメンテーション 10.2

(23)

ページング

v.s.

セグメンテーション

ページング

固定長ブロック

フラグメンテーション の解決

ページテーブル

仮想 物理アドレスの

1

1

対応

動的再配置による 仮想記憶の実現

セグメンテーション

複数のアドレス空間

用途別論理空間の実現

アドレス空間の オーバラップ

複数プロセスによる

空間の共有を実現

(24)

ページング + セグメンテーション

セグメンテーションを,

複数のページフレームにより構成する

セグメントごとにページテーブルを用意

ページ化セグメンテーション

セグメント

セグメント

ページフレーム

ページフレーム

ページ番号 フレーム番号

セグメント セグメント

ページフレーム ページフレーム ページフレーム

ページ番号 フレーム番号

セグメント

セグメント

ページフレーム

ページ番号 フレーム番号

ページテーブル

ページテーブル

ページテーブル

(25)

ページ化セグメンテーション

0x0000

0x1000

0x2000

0x3000

仮想アドレス

物理アドレス

123

123 0

基底アドレス

1 0 2 3 4

セグメント長

6000 1000

0 2

0x4000

0x5000

0x6000

0x7000

0x8000

0x9000

アドレス 物理 空間 主記憶

テーブル ページ テーブル ページ

テーブル ページ

アドレス 仮想 空間

セグメント

0

9 2 1

3 4 5 6 7 8

セグメント

2 3

6 6

0

0

8000 1000 5000 2000

セグメント 0 セグメント 2

セグメント 1

テーブル ページ

セグメント

0

用 ページテーブル

ページ番号

2 3

フレーム番号

0 1

セグメントテーブル

(26)

#10

仮想アドレス

仮想アドレスの構造

セグメントがページ単位で構成されている

セグメンテーションとページングの階層化

セグメント内相対アドレスが,

ページングにおける仮想アドレスに相当

仮想アドレスの構造も二階層になっていると 考えるとわかりやすい

仮想アドレス

セグメント番号 セグメント内の 相対アドレス

ページ 番号 オフセット

(ページ内相対アドレス)

仮想アドレス

セグメント番号 セグメント内相対アドレス

ページ 番号 オフセット

(ページ内相対アドレス)

(27)

ページ化セグメンテーションの利点

フラグメンテーションの回避

主記憶割り当ては基本的にページ単位

複数セグメント

各セグメントは大きさ増減可能

複数使用により,用途別に使い分け可能

プロセス間共有

セグメンテーションとほぼ同様に共有可能

ページテーブルの分散

ページテーブルが複数に分割されるので,

多重レベルページング同様,その一部を

仮想記憶に追い出すことで主記憶使用量削減

(28)

今日のまとめ

多重レベルページング

従来のページングにおける,仮想アドレスの

「ページ番号部」を複数に分割

それぞれをページ番号とし階層化したテーブルを検索

ページテーブルの分割により,テーブルによる 主記憶使用量を削減(残りは仮想記憶へ)

0

レベルページング(連想写像方式)

MMU

を持たず,

CPU

の構成を単純化(=高速化)

連想記憶(検索のためのインデクスを持たない)で

TLB

を構成

(29)

今日のまとめ

セグメンテーション

セグメント:

仮想記憶と物理記憶を対応させる可変長な単位

プロセスあたり複数のセグメントを許す

セグメント間のオーバラップ(共有領域)を許す

ページ化セグメンテーション

ページングとセグメンテーションの利点を融合

セグメンテーションの利点を生かしつつ

フラグメンテーションを回避

ページテーブルの分割により,多重ページング同様

主記憶使用量の削減

参照

関連したドキュメント

つの表が報告されているが︑その表題を示すと次のとおりである︒ 森秀雄 ︵北海道大学 ・当時︶によって発表されている ︒そこでは ︑五

点から見たときに、 債務者に、 複数債権者の有する債権額を考慮することなく弁済することを可能にしているものとしては、

屋外工事から排出される VOC については、低 VOC 資材を選択するための情報を整理した「東京都 VOC 対策ガイド〔建築・土木工事編〕 」 ( 「同〔屋外塗装編〕

自閉症の人達は、「~かもしれ ない 」という予測を立てて行動 することが難しく、これから起 こる事も予測出来ず 不安で混乱

Google マップ上で誰もがその情報を閲覧することが可能となる。Google マイマップは、Google マップの情報を基に作成されるため、Google

[r]

1.実態調査を通して、市民協働課からある一定の啓発があったため、 (事業報告書を提出するこ と)

るものとし︑出版法三一条および新聞紙法四五条は被告人にこの法律上の推定をくつがえすための反證を許すもので