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

Slides:



Advertisements
Similar presentations
入 出 力 管 理入 出 力 管 理 オペレーティングシステム 第 11 回. 入出力装置の分類(1) ブロックデバイス キャラクタデバイス,ストリームデバイス.
Advertisements

Linuxを組み込んだマイコンによる 遠隔監視システムの開発
オペレーティングシステムJ/K 2004年10月18日(5時限目)
情報検索概説II 第8回 パソコン組み立てと記憶装置 1999/11/25.
計算機工学III オペレーティングシステム #14 ファイル: より進んだファイルシステム 2006/07/21 津邑 公暁
Chapter11-4(前半) 加藤健.
Ibaraki Univ. Dept of Electrical & Electronic Eng.
計算機システムⅡ キャッシュと仮想記憶 和田俊和.
セキュリティ機構のオフロードを考慮した仮想マシンへの動的メモリ割当
第6回 仮想記憶とページング ページング ページ取り出し方式 ページ置き換え方式 中間テスト(40分)
オペレーティングシステム 第10回 仮想記憶管理(1)
システムソフトウェア講義の概要 計算機システムの復習:中央演算処理装置(CPU),プログラムの実行,主記憶装置,補助記憶装置
記 憶 管 理(1) オペレーティングシステム 第9回.
計算機工学III オペレーティングシステム #9 主記憶管理:ページング 2006/06/09 津邑 公暁
オペレーティングシステム (割り込み&仮想記憶管理)
基本情報技術概論(第12回) 埼玉大学 理工学研究科 堀山 貴史
入 出 力 管 理 オペレーティングシステム 6/26/09.
クラウドにおける ネストした仮想化を用いた 安全な帯域外リモート管理
~補助記憶装置~  主記憶装置に記憶されるデータは,パソコンの電源を切ると記憶内容が消えてしまう。また,容量にも限界があるので,補助記憶装置にデータを記憶させる。補助記憶装置はパソコンの電源を切っても記憶内容は消えない。補助記憶装置の内容は主記憶装置上で利用することができる。 電源OFF 電源OFF.
計算機システムⅡ 主記憶装置とALU,レジスタの制御
計算機システム概論・4回目 本日のトピック:メモリの管理と仮想記憶 メモリ管理におけるOSの役割 メモリの割当方法について
オペレーティングシステム 第11回 仮想記憶管理(2)
オペレーティングシステム 第9回 実記憶管理 38号館4階N-411 内線5459
オペレーティングシステムJ/K 2004年10月7日
記 憶 管 理(2) オペレーティングシステム 第10回.
ソフトウェア階層 分類 具体例 応用ソフト 基本ソフト アプリケーションソフト 個別アプリケーション SEやユーザが開発するプログラム
オペレーティングシステムJ/K 2004年11月4日
オペレーティングシステム 第12回 仮想記憶管理(3)
第3回 CPUの管理と例外処理 OSによるハードウェアの管理 CPUの構成、動作 CPUの管理 例外処理、割り込み処理 コンテキストスイッチ
オペレーティングシステム (割り込み処理)
第5回 CPUの役割と仕組み3 割り込み、パイプライン、並列処理
計算機システムⅡ 入出力と周辺装置 和田俊和.
Ibaraki Univ. Dept of Electrical & Electronic Eng.
専門演習Ⅰ 国際経済学部 国際産業情報学科 2年 石川 愛
メモリ管理 4.3, 4.4 章 さだ.
第8回入出力制御 デバイスコントローラ ポーリングと割込み 入出力の方式 PIO DMA 入出力のためのソフトウェア技法.
型付きアセンブリ言語を用いた安全なカーネル拡張
オペレーティングシステム (仮想記憶管理)
オペレーティングシステム (仮想記憶管理)
第6回 メモリの種類と特徴 主記憶装置、ROM、RAM
コンピュータを知る 1E16M009-1 梅津たくみ 1E16M017-8 小沢あきら 1E16M035-0 柴田かいと
VM専用仮想メモリとの連携による VMマイグレーションの高速化
アルゴリズムとデータ構造 補足資料11-1 「mallocとfree」
仮想メモリを用いた VMマイグレーションの高速化
オペレーティングシステム イントロダクション
仮想計算機を用いたサーバ統合に おける高速なリブートリカバリ
Ibaraki Univ. Dept of Electrical & Electronic Eng.
オペレーティングシステムJ/K (仮想記憶管理)
第7回 授業計画の修正 中間テストの解説・復習 前回の補足(クロックアルゴリズム・PFF) 仮想記憶方式のまとめ 特別課題について
コンピュータの基本構成について 1E16M001-1 秋田梨紗 1E16M010-2 梅山桃香 1E16M013-3 大津智紗子
オペレーティングシステム 第2回 割り込みとOSの構成
未使用メモリに着目した 複数ホストにまたがる 仮想マシンの高速化
オペレーティングシステムJ/K 2004年11月15日2時限目
オペレーティングシステム (ファイル) 2009年11月9日
コンピュータの仕組み 〜ハードウェア〜 1E15M009-3 伊藤佳樹 1E15M035-2 柴田将馬 1E15M061-1 花岡沙紀
第5回 メモリ管理(2) オーバレイ方式 論理アドレスとプログラムの再配置 静的再配置と動的再配置 仮想記憶とメモリ階層 セグメンテーション
明星大学 情報学科 2012年度前期     情報技術Ⅰ   第1回
オペレーティングシステム (プロセススケジューリング)
第4回 メモリ管理 主記憶(メインメモリ)の管理 固定区画方式と可変区画方式 空き領域の管理 スワッピング.
オペレーティングシステムJ/K (管理のためのデータ構造)
アルゴリズムとデータ構造1 2009年6月15日
コンピュータアーキテクチャ 第 4 回.
オペレーティングシステムJ/K (並行プロセスと並行プログラミング)
オペレーティングシステム (ファイル) 2006年11月16日
オペレーティングシステム (ファイル) 2008年11月17日
オペレーティングシステム (プロセススケジューリング)
「コンピュータと情報システム」 02章 ハードウェア
アルゴリズムとデータ構造 2010年6月17日
明星大学 情報学科 2014年度前期     情報技術Ⅰ   第1回
Ibaraki Univ. Dept of Electrical & Electronic Eng.
Presentation transcript:

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

記憶階層(45ページ) (0次記憶、短期記憶) 一次記憶(長期記憶) 二次記憶(外部記憶) CPU内部のレジスタ 主記憶(通常はRAM)のこと 電力の供給を絶てば、記録内容は失われる 二次記憶(外部記憶) HDDやフロッピーなど 電力の供給がなくても、記録し続けるしくみがある 大容量とか可搬であるとか利点をもつが、一般に低速

小容量だがアクセス速度の速いSRAMもある 記憶の参照は局所性がみられることが多い 一次記憶 一般にRAMとしてDRAMが使われる DRAMは大容量だがアクセス速度が遅い RAMの中ではコストパフォーマンスがよい 通常、お金は有限なのです… ただし、リフレッシュが必要 小容量だがアクセス速度の速いSRAMもある  記憶の参照は局所性がみられることが多い DRAMに高速SRAMを組み合わせるのが一般的 このときの高速SRAMはキャッシュと呼ばれている CPUはせっかちさんだからね…

2つ以上の状態間で遷移でき、状態維持にエネルギーを消費しないものを利用して記録する 二次記憶 2つ以上の状態間で遷移でき、状態維持にエネルギーを消費しないものを利用して記録する 磁化を利用する HDDやフロッピーやDAT(磁界を変調して書く、磁界を読む) 光磁気ディスクやMD(磁界を変調して書く、カー効果で読む) 電荷を利用する フラッシュROM(電荷を注入して書く、閾値の変化で読む) 結晶構造を利用する CD-RW(加熱による相変化で書く、相変化を読む) 入出力命令で装置上のデータを読み書きする CPUがメモリを参照するのとは少し違う

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

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

[Intel, ``Software Developer Manual’’]

[Intel, ``Software Developer Manual’’]

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

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

アドレス変換 ページングによるもの セグメンテーションによるもの ページという固定の単位ごとにアドレスを変換 変換はアドレス変換表を使用 自由自在な変換ができる 高速化のために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’’] ページングとセグメンテーションは組み合わされることが多い

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

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

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

1次記憶(主記憶、RAM)と2次記憶(HDD)の関係 記憶割付けに関して 要求時ロードとページ置き換え 実記憶を超えた容量の仮想記憶が割付け可能 プログラムやデータは参照される瞬間だけ実記憶に存在していればよい(そのように維持されればよい)。 1次記憶(主記憶、RAM)と2次記憶(HDD)の関係 1次記憶は2次記憶のキャッシュ 記憶の実態は2次記憶装置上にある 2次記憶は1次記憶が不足したときの退避領域 スラッシング ページインとページアウトが激しく起きている状態 実記憶容量より仮想記憶容量が大きく、参照の局所性が期待できないときに起こることが多い。

サスペンドとハイバネーション サスペンド ハイバネーション レジューム CPUは動作停止。内部情報の保持のため電力供給。 メモリ(通常はDRAM)はリフレッシュ動作のみ継続。 周辺デバイスは内部状態をメモリ等に退避して電力供給を停止。 ハイバネーション すべてのデバイスは動作停止。電力供給も停止。 二次記憶装置などに内部状態を退避。 レジューム CPU/メモリ/周辺デバイスの状態を復帰して、実行再開

入出力機器 バイト単位で入力と出力できる装置 読み書きする位置が設定(シーク)できるもの 読み書きする位置が設定できないもの シーク可能デバイス DAT HDD シークが比較的速いので二次記憶装置として使われる ランダムにアクセスできるが、アクセス位置を示すポインタは装置側に存在する(メモリと異なる点) 読み書きする位置が設定できないもの シーク不可能デバイス キーボード プリンタ スキャナ 狭い意味での入出力装置

I/O空間(メモリ空間に置かれている場合もある) 制御方法 入出力制御専用の命令:I/O命令 メモリのようにキャッシュしない  これは、メモリのようにキャッシュ制御できないから I/O空間(メモリ空間に置かれている場合もある) メモリのように空間内にすべて展開しない I/Oポートという、ポートを通じて制御する ポート(Port: 本来の意味は港)に対して入出力する

直接同期制御 プロセッサがハードウェアを直接操作 ハードウェアの状態変化と操作が同期 状態変化を検出する方法→ポーリング ポーリングは時間精度がよい プロセッサは検出にかかりっきり

直接非同期制御 プロセッサがハードウェアを直接操作 ハードウェアの状態変化とプロセッサの動作が非同期 つまり、状態変化を別の手段で知る たとえば、割り込み プロセッサはその間別のことができる

間接制御 バスマスタ転送 I/Oプロセッサ DMA バス使用権を持っているもの→バスマスタ 例: ネットワーク通信ボード, RAIDボード 主記憶を対象にデータを転送 バス使用権を持っているもの→バスマスタ それ以外はバスマスタによってデータが転送される バスマスタになりえるもの→プロセッサ、ディスクI/Fなど I/Oプロセッサ 例: ネットワーク通信ボード, RAIDボード プロセッサの高速化により、減りつつある

入出力管理 キャラクタデバイス ブロックデバイス 入出力動作で1バイトのデータが入出力できる キーボード、マウス、HDD 基本的にシーケンシャルアクセス ブロックデバイス ファイルシステムが構築できる HDD、フロッピー、CDROM 基本的にランダムアクセス

論理デバイス 直接ハードウェアを操作させると問題がある プロセスはOSの上に複数存在する、一方で、 デバイスは限られた数しかない。 デバイスドライバが間に入る。 ハードウェア構成は同一であるとは限らないが、 同一のインターフェースで使用できるようにしたい OSが使用するデバイスは、一般のプロセスから アクセスされては困る。