オペレーティングシステムJ/K (仮想記憶管理)

Slides:



Advertisements
Similar presentations
オペレーティングシステムJ/K 2004年10月18日(5時限目)
Advertisements

オペレーティングシステム (仮想記憶管理)
計算機工学III オペレーティングシステム #14 ファイル: より進んだファイルシステム 2006/07/21 津邑 公暁
Ibaraki Univ. Dept of Electrical & Electronic Eng.
第6回 仮想記憶とページング ページング ページ取り出し方式 ページ置き換え方式 中間テスト(40分)
メモリ管理(1).
オペレーティングシステム 第10回 仮想記憶管理(1)
システムソフトウェア講義の概要 計算機システムの復習:中央演算処理装置(CPU),プログラムの実行,主記憶装置,補助記憶装置
記 憶 管 理(1) オペレーティングシステム 第9回.
計算機工学III オペレーティングシステム #9 主記憶管理:ページング 2006/06/09 津邑 公暁
オペレーティングシステム (割り込み&仮想記憶管理)
基本情報技術概論(第12回) 埼玉大学 理工学研究科 堀山 貴史
コンパイラ 2011年11月14日
計算機システムⅡ 主記憶装置とALU,レジスタの制御
計算機システム概論・4回目 本日のトピック:メモリの管理と仮想記憶 メモリ管理におけるOSの役割 メモリの割当方法について
オペレーティングシステム 第11回 仮想記憶管理(2)
オペレーティングシステム 第9回 実記憶管理 38号館4階N-411 内線5459
オペレーティングシステムJ/K 2004年10月7日
地理情報システム論 第3回 コンピュータシステムおける データ表現(1)
記 憶 管 理(2) オペレーティングシステム 第10回.
オペレーティングシステムJ/K 2004年11月4日
アルゴリズムとデータ構造 2011年6月13日
オペレーティングシステム 第12回 仮想記憶管理(3)
第7章 データベース管理システム 7.1 データベース管理システムの概要 7.2 データベースの格納方式 7.3 問合せ処理.
オペレーティングシステム (割り込み処理)
オペレーティングシステム i386アーキテクチャ(2)
2016年度 プログラミングⅠ ~ 内部構造と動作の仕組み(1) ~.
演算/メモリ性能バランスを考慮した マルチコア向けオンチップメモリ貸与法
メモリ管理 4.3, 4.4 章 さだ.
2010年春学期 MOS輪講第4回 Move!B4 rossi
データベース設計 第2回 データベースモデル(1)
型付きアセンブリ言語を用いた安全なカーネル拡張
オペレーティングシステム (仮想記憶管理)
オペレーティングシステム (仮想記憶管理)
AMD64の仮想化技術を利用した 仮想マシンモニタの実装
コンピュータを知る 1E16M009-1 梅津たくみ 1E16M017-8 小沢あきら 1E16M035-0 柴田かいと
VM専用仮想メモリとの連携による VMマイグレーションの高速化
仮想メモリを用いた VMマイグレーションの高速化
Ibaraki Univ. Dept of Electrical & Electronic Eng.
第7回 授業計画の修正 中間テストの解説・復習 前回の補足(クロックアルゴリズム・PFF) 仮想記憶方式のまとめ 特別課題について
コンピュータの基本構成について 1E16M001-1 秋田梨紗 1E16M010-2 梅山桃香 1E16M013-3 大津智紗子
レジスタの割付け 中田育男著 コンパイラの構成と最適化 朝倉書店, 1999年 第12章5節.
アルゴリズムとデータ構造1 2005年7月5日
先進的計算基盤システムシンポジウム SACSIS2007併設企画 マルチコアプログラミングコンテスト 「Cellスピードチャレンジ2007」
未使用メモリに着目した 複数ホストにまたがる 仮想マシンの高速化
オペレーティングシステムJ/K 2004年11月15日2時限目
JAVAバイトコードにおける データ依存解析手法の提案と実装
第5回 メモリ管理(2) オーバレイ方式 論理アドレスとプログラムの再配置 静的再配置と動的再配置 仮想記憶とメモリ階層 セグメンテーション
オペレーティングシステム (プロセススケジューリング)
マイグレーションを支援する分散集合オブジェクト
オブジェクトの協調動作を用いた オブジェクト指向プログラム実行履歴分割手法
地理情報システム論(総)/ 国民経済計算論(商)
第4回 メモリ管理 主記憶(メインメモリ)の管理 固定区画方式と可変区画方式 空き領域の管理 スワッピング.
2013年度 プログラミングⅠ ~ 内部構造と動作の仕組み(2) ~.
2017年度 プログラミングⅠ ~ 内部構造と動作の仕組み(1) ~.
アルゴリズムとデータ構造 2012年6月11日
オペレーティングシステムJ/K (管理のためのデータ構造)
アルゴリズムとデータ構造1 2006年6月23日
アルゴリズムとデータ構造1 2009年6月15日
オペレーティングシステムJ/K (並行プロセスと並行プログラミング)
オペレーティングシステム (ファイル) 2006年11月16日
オペレーティングシステム (ファイル) 2008年11月17日
オペレーティングシステム (プロセススケジューリング)
プログラムの一時停止時に 将来の実行情報を提供するデバッガ
IPmigrate:複数ホストに分割されたVMの マイグレーション手法
コンパイラ 2012年10月11日
アルゴリズムとデータ構造 2010年6月17日
2014年度 プログラミングⅠ ~ 内部構造と動作の仕組み(1) ~.
複数ホストにまたがるVMの メモリ使用状況に着目した高速化
Ibaraki Univ. Dept of Electrical & Electronic Eng.
Presentation transcript:

オペレーティングシステムJ/K (仮想記憶管理) 2005年10月20日 酒居敬一(sakai.keiichi@kochi-tech.ac.jp) http://www.info.kochi-tech.ac.jp/k1sakai/Lecture/OS/2005/

プロセスの中では記憶領域を自由に配置・獲得・使用したい! [大久保英嗣, オペレーティングシステムの基礎] プロセスの中では記憶領域を自由に配置・獲得・使用したい!   記憶領域に関しても現実と切り離して、仮想的な存在とする                  仮想記憶

有限の資源である主記憶のプロセスへの割付け 仮想記憶に必要なこととは? 有限の資源である主記憶のプロセスへの割付け ページング (現在ではセグメンテーションは単体では使われない) アドレス変換 セグメンテーション プロセス固有の領域を保護

アドレス変換 ページングによるもの セグメンテーションによるもの ページという固定の単位ごとにアドレスを変換 変換はアドレス変換表を使用 自由自在な変換ができる 高速化のためにTLBを使う 連想記憶機構を使った変換表のキャッシュ 領域は物理的に分割したもの(構造が無い) セグメンテーションによるもの 任意の大きさの領域を変換 領域は一般に論理セグメントに対応(構造がある)

ページングによるアドレス変換 [Intel, ``Software Developer Manual’’]

ページングによるアドレス変換 [Intel, ``Software Developer Manual’’]

[Intel, ``Software Developer Manual’’]

セグメンテーションによるアドレス変換 [Intel, ``Software Developer Manual’’]

[Intel, ``Software Developer Manual’’]

ページングとセグメンテーションは組み合わされることが多い [Intel, ``Software Developer Manual’’] ページングとセグメンテーションは組み合わされることが多い

記憶管理技法 フェッチ技法 割付け技法 置き換え技法 要求時 プリフェッチ 連続割付け 非連続割付け スワッピング FIFO OPT LRU 単一連続割付け 分割割付け 固定区画割付け 可変区画割付け 非連続割付け ページング セグメンテーション 置き換え技法 スワッピング FIFO OPT LRU

プロセスに関する記憶領域管理 フェッチ技法 割付け技法 置き換え技法 要求時 非連続割付け (スワッピング) FIFO OPT LRU ページ不在例外により外部記憶装置からロード (セグメント不在例外により外部記憶装置からロード) 割付け技法 非連続割付け ページング 固定区画(ページ)により実記憶は管理される。 ハードウェアにより複数のページを連続してアクセスできるように配置する セグメンテーション 置き換え技法 (スワッピング) FIFO OPT LRU

ページングアルゴリズム 目的はページフォルト率を最小化 FIFO 主記憶上の最も古いページを選択しページアウト ページインした順にページアウトする 特別なハードウェアはいらない OPT 将来のページ使用を見てページアウト 現実には実装できない。性能評価の際の指標 LRU 参照の時間的局所性を利用したものである 主記憶上で最も使われなかったページをページアウト ハードウェア機構が必要である

LRUアルゴリズム カウンタ スタック 参照ビット 時間を計時するため、カウンタを設ける 各ページは最終参照時刻を保持する 最も古くに参照されたページを線形検索しページアウト スタック 参照されたページ番号をスタックトップに移動する スタックボトムがページアウト対象を示す 参照ビット 定期的にページ参照があったかをソフトウェアで調査 荒い時間刻みでLRUを実装したことに相当 擬似LRUとも呼ばれる

割付け技法 大域割付け 局所割付け システム内に、ページ枠の集合はひとつ ページのプロセスの所属とは無関係に割付ける プロセスでは、各々のページ枠集合から割付け ページ枠の集合をプロセスごとに持たせる 均等割付け(ページ枠数÷プロセス数) 比例配分割付け(ページ枠数×仮想記憶量÷全仮想記憶量) ワーキングセット プロセスが活発に参照した領域(ワーキングセット)を維持 ワーキングセットの決定には発見的手法が必要

記憶領域の保護 TEXT DATA BSS STACK 命令を置くための領域 書き込むことはあり得ない 命令はロードモジュールに含まれる 初期値つき静的変数を置く領域 初期値はロードモジュールに含まれる BSS 初期値なし静的変数を置く領域 STACK 動的変数や一時変数を置く領域

[Intel, ``Software Developer Manual’’]

[Intel, ``Software Developer Manual’’]