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

Microsoft PowerPoint - OS10.pptx

N/A
N/A
Protected

Academic year: 2021

シェア "Microsoft PowerPoint - OS10.pptx"

Copied!
8
0
0

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

全文

(1)

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

この資料は、情報工学レクチャーシリーズ オペレー

ティングシステム 松尾啓志 著(森北出版株式会

社)を用いて授業を行うために、名古屋工業大学松

尾啓志、津邑公暁が作成しました。

パワーポイント2007で最終版として保存しているため、変更はできませ んが、授業でお使いなる場合は松尾([email protected])まで連絡い ただければ、編集可能なバージョンをお渡しする事も可能です。 オペレーティングシステム #10

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

#10 主記憶管理:

セグメンテーション,

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

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

復習

ページング

 主記憶の再配置システム  仮想アドレスの上位(ページ番号)を 物理アドレスの上位(ページフレーム番号)に 変換することでアドレス変換  フラグメンテーションも改善 ■

ページテーブル

 上記変換を行うためのテーブル  ページに対応するエントリごとにフラグなどを配置 ➔ページへのアクセス権などを設定可能 オペレーティングシステム #10 物理空間 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 スワップイン

(2)

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

復習

ページングの改善法

 ハッシュ関数 ➔ページテーブルの巨大さを緩和 ➔仮想アドレス空間に比例する大きさが必要だったのが, 物理アドレス空間に比例する大きさまで縮小  連想レジスタ ➔主記憶へのアクセス回数の緩和 ➔最近使用した「ページ番号→ページフレーム番号」の 変換結果をCPU内で記憶 ➔ページテーブル検索のための主記憶アクセスを削減 オペレーティングシステム #10

今日の内容

ページングの構成法

 多重レベルページング (10.3)  0レベルページング (10.4) ■

セグメンテーション

 セグメンテーション (10.1)  ページ化セグメンテーション (10.2) ■

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

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

10.3

多重レベルページング

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

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

ページテーブルが巨大

 (仮想記憶の大きさと同じエントリ数) ×(同時実行プロセス数) だけのエントリ数が必要  主記憶を圧迫 ■

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

➔仮想アドレス空間に比例する大きさが必要だったのが, 物理アドレス空間に比例する大きさまで縮小  さらに改善したい

(3)

オペレーティングシステム #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 ページテーブル ページ番号 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 ページ テーブル ページ テーブル 当面必要でない ページテーブルは, 仮想記憶上に置いておける オペレーティングシステム #10

多重レベルページング

ページングを多段化

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

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

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

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

 TLBにより解決 オペレーティングシステム #10

10.4

0レベルページング

(連想写像方式)

(4)

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

連想写像方式

一般的なページング

 主記憶上にページテーブル  CPU内のMMUが,ページテーブルを用いて アドレス変換 ■

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

 ハードウェアとしてのMMUを持たない  一般的なページテーブルを持たず, 連想メモリで構成したTLBでアドレス変換 オペレーティングシステム #10 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 オペレーティングシステム #10

0レベルページングの特徴

メリット

 高クロック実装が可能 ➔MMU不要のため,CPU機構が単純化 ■

デメリット

 TLBヒットしなかった場合のオーバヘッドが膨大 ➔ソフトウェア処理のため ■

よって...

 主記憶使用量の少ないプログラムには高速  主記憶使用量の多いプログラムには非常に低速 オペレーティングシステム #10

10.1

セグメンテーション

(5)

オペレーティングシステム #10 こちらも実現したい ページングで実現可能 ■

大きさが無制限

 プロセスは主記憶の空き容量を考慮する必要なし  プログラムの簡単化,バグの可能性減少 ■

プロセスごとに固有

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

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

 用途ごとに空間を分けることで, 自プロセス内での不正アクセスの可能性を低減 ■

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

 並列動作するプロセス間で共有し, 高速な通信機構として使用

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

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

セグメンテーション

ページ(ページング)

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

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

 プロセスに対し複数のセグメントを割り当て ➔各セグメントは論理的に独立 ➔プログラム部,データ部など固有領域として使用可能  各セグメントはその論理空間の大きさを 自由に増減可能 オペレーティングシステム #10

セグメンテーション

プロセス 1 プログラム 領域 プログラム 領域 データ 領域 データ 領域 スタック 領域 スタック 領域 プロセス 2 データ 領域 データ 領域 プロセス間共有も 実現可 セグメント オペレーティングシステム #10 物理空間

セグメンテーション

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

(6)

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

セグメンテーション

利点

 プログラム部,データ部など,用途別に複数を プロセスに割り当て  各セグメンテーションは大きさを増減可 ■

欠点

 フラグメンテーション 他の手法と組み合わせて 利用 オペレーティングシステム #10

10.2

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

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

ページング v.s. セグメンテーション

ページング

 固定長ブロック ➔フラグメンテーションの解 決  ページテーブル ➔仮想→物理アドレスの 1対1対応 ➔動的再配置による 仮想記憶の実現 ■

セグメンテーション

 複数のアドレス空間 ➔用途別論理空間の実現  アドレス空間の オーバラップ ➔複数プロセスによる 空間の共有を実現 オペレーティングシステム #10 ■

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

 セグメンテーションを, 複数のページフレームにより構成する  セグメントごとにページテーブルを用意

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

セグメント セグメント ページフレーム ページフレーム ページ 番号 フレーム番号 セグメント セグメント ページフレーム ページフレーム ページフレーム ページ 番号 フレーム番号 セグメント セグメント ページフレーム ページ 番号 フレーム番号 ページテーブル ページテーブル ページテーブル

(7)

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

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

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 セグメントテーブル オペレーティングシステム #10 ページ化セグメンテーションにおける

仮想アドレス

仮想アドレスの構造

 セグメントがページ単位で構成されている ➔セグメンテーションとページングの階層化  セグメント内相対アドレスが, ページングにおける仮想アドレスに相当 ➔仮想アドレスの構造も二階層になっていると 考えるとわかりやすい 仮想アドレス セグメント番号 セグメント内の 相対アドレス ページ 番号 オフセット (ページ内相対アドレス) 仮想アドレス セグメント番号 セグメント内相対アドレス ページ 番号 オフセット (ページ内相対アドレス) オペレーティングシステム #10

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

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

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

複数セグメント

 各セグメントは大きさ増減可能  複数使用により,用途別に使い分け可能 ■

プロセス間共有

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

ページテーブルの分散

 ページテーブルが複数に分割されるので, 多重レベルページング同様,その一部を 仮想記憶に追い出すことで主記憶使用量削減 オペレーティングシステム #10

今日のまとめ

多重レベルページング

 従来のページングにおける,仮想アドレスの 「ページ番号部」を複数に分割  それぞれをページ番号とし階層化したテーブルを検索  ページテーブルの分割により,テーブルによる 主記憶使用量を削減(残りは仮想記憶へ) ■

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

 MMUを持たず,CPUの構成を単純化(=高速化)  連想記憶(検索のためのインデクスを持たない)で TLBを構成

(8)

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

今日のまとめ

セグメンテーション

 セグメント: 仮想記憶と物理記憶を対応させる可変長な単位  プロセスあたり複数のセグメントを許す  セグメント間のオーバラップ(共有領域)を許す ■

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

 ページングとセグメンテーションの利点を融合  セグメンテーションの利点を生かしつつ ➔フラグメンテーションを回避 ➔ページテーブルの分割により,多重ページング同様 主記憶使用量の削減

参照

関連したドキュメント

※ 硬化時 間につ いては 使用材 料によ って異 なるの で使用 材料の 特性を 十分熟 知する こと

注)○のあるものを使用すること。

• 使用済燃料プール壁 ※1 は、非常に厚いうえに、プール全体は、非常に厚い壁 ※2

岩沼市の救急医療対策委員長として采配を振るい、ご自宅での診療をい

15 校地面積、校舎面積の「専用」の欄には、当該大学が専用で使用する面積を記入してください。「共用」の欄には、当該大学が

利用している暖房機器について今冬の使用開始月と使用終了月(見込) 、今冬の使用日 数(見込)

添付資料 4.1.1 使用済燃料貯蔵プールの水位低下と遮へい水位に関する評価について 添付資料 4.1.2 「水遮へい厚に対する貯蔵中の使用済燃料からの線量率」の算出について

添付資料 4.1.1 使用済燃料貯蔵プールの水位低下と遮へい水位に関する評価について 添付資料 4.1.2 「水遮へい厚に対する貯蔵中の使用済燃料からの線量率」の算出について