Operating System 仮想記憶

Similar documents
OS

OS

Microsoft PowerPoint - No7note.ppt

Microsoft PowerPoint - No6note.ppt

Microsoft PowerPoint - os ppt [互換モード]

Microsoft PowerPoint - OS12.pptx

Microsoft PowerPoint - sp ppt [互換モード]

Microsoft PowerPoint - OS11.pptx

Microsoft PowerPoint - os ppt [互換モード]

Microsoft PowerPoint - No15›¼‚z‰L›¯.ppt

Microsoft PowerPoint - OS09.pptx

Microsoft PowerPoint - OS12.pptx

Microsoft PowerPoint - sp ppt [互換モード]

メモリ管理

Microsoft PowerPoint - OS07.pptx

020105.メモリの高機能化

PowerPoint プレゼンテーション

Microsoft PowerPoint - pc11.ppt

10-vm1.ppt

コンピュータのしくみ

Microsoft PowerPoint - 11_4-4-5pagerepl.pptx

この方法では, 複数のアドレスが同じインデックスに対応づけられる可能性があるため, キャッシュラインのコピーと書き戻しが交互に起きる性のミスが発生する可能性がある. これを回避するために考案されたのが, 連想メモリアクセスができる形キャッシュである. この方式は, キャッシュに余裕がある限り主記憶の

メモリ管理

PowerPoint Presentation

Microsoft PowerPoint - OS08.pptx

スライド 1

MMUなしプロセッサ用Linuxの共有ライブラリ機構

C5

OS

Microsoft PowerPoint mm2

Microsoft PowerPoint ppt

メモリについて考えてみよう_REL_

01-introduction.ppt

講義計画 1. コンピュータの歴史 1 2. コンピュータの歴史 2 3. コンピュータの歴史 3 4. 論理回路と記憶, 計算 : レジスタとALU 5. 主記憶装置とALU, レジスタの制御 6. 命令セットアーキテクチャ 7. 演習問題 8. パイプライン処理 9. メモリ階層 : キャッシュ

ComputerArchitecture.ppt

スライド タイトルなし

Microsoft PowerPoint mm

CLUSTERPRO MC ProcessSaver 1.2 for Windows 導入ガイド 第 4 版 2014 年 3 月 日本電気株式会社

Microsoft PowerPoint - 11Web.pptx

計算機アーキテクチャ

TFTP serverの実装

計算機アーキテクチャ

システムLSIとアーキテクチャ技術  (part II:オンチップ並列            アーキテクチャ)

Microsoft PowerPoint - ARC2009HashiguchiSlides.pptx

Microsoft PowerPoint - OS08 [互換モード]

アプリケーションから発行された要求が, の両キャッシュでミスヒットした場合, 両キャッシュには同一のデータが格納される. しかし, 最近アクセスされたデータへのアクセス要求は上で処理され, に届くことはない. 従ってでは 最近アクセスされたデータは近い将来再度アクセスされる可能性が低い という通常と

21 章のお話

スライド 1

V8_教育テキスト.dot

問題1 次の情報表現に関する記述は,コンピュータの勉強を始めたばかりのB君と,かなり詳しく知っているM君の会話である

PeopleJpeg2Bmpマニュアル

東芝 MAGNIA R3320b での SSD 性能の検証 2012 年 8 月 株式会社東芝 クラウド & ソリューション事業統括部 目次 1. はじめに ソリッドステートドライブの概要 使用機器一覧 単体性能について サーバー用途別のテスト

DRAM SRAM SDRAM (Synchronous DRAM) DDR SDRAM (Double Data Rate SDRAM) DRAM 4 C Wikipedia 1.8 SRAM DRAM DRAM SRAM DRAM SRAM (256M 1G bit) (32 64M bit)

Microsoft PowerPoint - chap4_slide a.ppt

出 アーキテクチャ 誰が 出 装置を制御するのか 1

Microsoft PowerPoint - sp ppt [互換モード]

Microsoft PowerPoint - sp ppt [互換モード]

計算機概論

スライド 1

Microsoft PowerPoint - ICD2011TakadaSlides.pptx

<4D F736F F D F B835E82CC8D8291AC8F88979D82F08FAC8C5E82A982C288C089BF82C88D5C90AC82C AC82B782E996A78C8B8D878C5E836E815B C695C097F18F88979D82F091678D8782B982BD8C768E5A8B

KSforWindowsServerのご紹介

メモリ管理

仮想化基礎演習テキスト Ⅰ 第 1.0 版 演習で学ぶ仮想化基礎 ( クライアント仮想化編 ) 九州ラーニングネット株式会社 特定非営利活動法人パソコン整備士協会

Microsoft Word - nvsi_050110jp_netvault_vtl_on_dothill_sannetII.doc

アドバンスト・フォーマットディスクのパフォーマンス

アジェンダ Renesas Synergy TM プラットフォーム構成 ThreadX とは ThreadX の状態遷移 ThreadX とμITRONの機能比較 まとめ ページ 2

Microsoft PowerPoint - 09_2008_0619.pptx

今週の進捗

CLUSTERPRO MC ProcessSaver 2.3 for Windows 導入ガイド 第 5 版 2018 年 6 月 日本電気株式会社

システム要件 Trend Micro Safe Lock 2.0 SP1 Trend Micro Safe Lock 2.0 SP1 エージェントのシステム要件 OS Client OS Server OS Windows 2000 (SP4) [Professional] (32bit) Wind

Microsoft PowerPoint - ARC-SWoPP2011OkaSlides.pptx

CPUスケジューリング

PowerPoint プレゼンテーション

Microsoft Word - JP-AppLabs-MySQL_Update.doc

Microsoft PowerPoint - yamagata.ppt

04-process_thread_2.ppt

Microsoft Word - クライアントのインストールと接続設定

Microsoft PowerPoint - OS02.pptx

C に必要なコンピュータ知識 C はコンピュータの力を引き出せるように設計 コンピュータの知識が必要

ユーザーズマニュアル 有線ネットワークシステム 発行日 2016 年 3 月 30 日

Arduino をドリトルから 制御する教材の試行 鈴木裕貴 1

Microsoft PowerPoint - 1st

router_cachehit.eps

ESMCommonService 本サービスは 複数の監視サービスで構成されています ESMCommonService サービス本体で検出するイベントを処理します 通報時のイベントログのソース名は "ESMCommonService" で登録されます CPU 負荷監視定期的にシステムのパフォーマンス

RL78開発環境移行ガイド R8C/M16C, H8S/H8SXからRL78への移行(統合開発環境編)(High-performance Embedded Workshop→CS+)

目次 第 1 章はじめに 本ソフトの概要... 2 第 2 章インストール編 ソフトの動作環境を確認しましょう ソフトをコンピュータにセットアップしましょう 動作を確認しましょう コンピュータからアンインストー

Trend Micro Safe Lock 2.0 Patch1 管理コンソールのシステム要件 OS Windows XP (SP2/SP3) [Professional] Windows 7 (SP なし /SP1) [Professional / Enterprise / Ultimate] W

マニュアル訂正連絡票

システムソフトウエア2013/1/30 演習問題 学科 学籍番号 氏名 1. つぎの文章の空白を埋めなさい. コンピュータは,CPU( 中央処理装置 ) とメモリ, およびその他の入出力装置から構成されて いる. このうち,CPU は命令の (a) とデコードなどを行う制御部と, 実際の計 算を行う

システム要件 Trend Micro Safe Lock Trend Micro Safe Lock 2.0 エージェントのシステム要件 OS Client OS Server OS Windows 2000 (SP4) [Professional] (32bit) Windows XP (SP1/

CheckPoint Endpoint Security メトロリリース製品について


目次 第 1 章はじめに 本ソフトの概要... 2 第 2 章インストール編 ソフトの動作環境を確認しましょう ソフトをコンピュータにセットアップしましょう 動作を確認しましょう コンピュータからアンインストー

メモリ管理

N08

(Microsoft PowerPoint - \221g\202\335\215\236\202\335\203\\\203t\203g\203E\203F\203A\215H\212w No03\201i\224z\225z\227p\201j.pptx)

ERDAS IMAGINE における処理速度の向上 株式会社ベストシステムズ PASCO CORPORATION 2015

Microsoft PowerPoint - OS02.ppt

Microsoft PowerPoint - No3.ppt

Transcription:

Operating System 仮想記憶 2018-12

記憶階層 高速 & 小容量 ( 高価 ) レジスタ アクセスタイム 数ナノ秒 容量 ~1KB CPU 内キャッシュ (SRAM) 数ナノ秒 1MB 程度 ランダムアクセス 主記憶 (DRAM) 数十ナノ秒 数 GB 程度 ランダムアクセス フラッシュメモリ (SSD) 約 100 万倍 シーケンシャルアクセス 磁気ディスク (HDD) 数十ミリ秒 数百 GB 1TB 程度 光磁気ディスク (CD-R DVD-RW 等 /MO) 磁気テープ 0.1 秒 ~ 1GB~ 低速 & 大容量 ( 廉価 ) 2

仮想記憶 p 仮想記憶 (virtual memory) n 仮想 = 本物でないが実質的に同じ n HDD 等の補助記憶の領域を主記憶の延長のように見せかける技術 n 使わないメモリ領域を HDD に待避し, 使うときにディスクから復帰する 主記憶 (DRAM) p ページング方式 n メモリ空間を固定長の区画 ( ページ ) に自動的に分割して管理する 補助記憶 (HDD) p セグメンテーション方式 n プログラムで予め設定した可変長の 区画 ( セグメント ) で管理する 3

ページング p メモリのページ化 n 主記憶を, 固定長 ( 例 :4Kバイト) のブロック ( ページ枠 ) に分割する n メモリの内容 ( データ ) も, 同サイズの ページ の集合に分割する n どのページをどのページ枠の入れるのかは, 入れ替え可能にする p 物理アドレスと仮想アドレス n 物理アドレス : ハードウェアRAM 上の場所 ページ 枠 のアドレス n 仮想アドレス : プロセスが実行中に使うアドレス ページのアドレス n プロセスが動くためには, 仮想 物理の自動アドレス変換が必要 p ページングの効果 n 物理メモリよりも広い仮想アドレス空間が考えられる 仮想記憶 n メモリコンパクションやプロセスの再配置処理が不要になる 4

ページングの概念 ページ 0 プログラム 1 プログラム 2 プログラム 3 変数 4 ( 空き ) 5 ( 空き ) 6 ( 空き ) 7 データ 8 ( 空き ) 9 変数 10 変数 11 変数 12 ( 空き ) 仮想アドレス空間 ( プロセスから見えるアドレス ) ページ枠 ( ブロック ) 0 ページ 7 1 ページ 1 2 ページ 2 3 ページ 0 4 ページ 3 5 ページ 9 6 ページ 10 7 ページ 11 8 ページ 5 物理アドレス空間 ( 実際の RAM 上のアドレス ) 対応関係は自由 変換表 ( ページテーブル ) が必要になる 5

多重仮想アドレス p 各プロセスに独立の仮想アドレスを提供 n 動的再配置の問題も完全解決 OS( カーネル ) プロセス A OS( カーネル ) プロセス B OS( カーネル ) プロセス C 変換 OS( カーネル ) プロセス A プロセス C プロセス B プロセス A の 仮想アドレス空間 プロセス B の 仮想アドレス空間 プロセス C の 仮想アドレス空間 物理メモリ空間 ( 実際のメモリ ) 6

動的アドレス変換 p 動的アドレス変換機構 n プロセスの実行中に参照されるアドレス ( 仮想アドレス ) を, そのつど物理アドレス ( ハードウェア上でのアドレス ) に変換するしくみ n MMU(Memory Management Unit) というハードウェアが支援 p アドレスの内部形式 n 32 ビットなら, 例えば上位 20 ビットと下位 12 ビット (4KB 分 ) に分解 n 例 0x12345678 [ ページ番号 0x12345][ ページ内 0x678] n 仮想アドレス =[ ページ番号 ][ ページ内アドレス ] n 物理アドレス =[ ページ枠番号 ][ ページ内アドレス ] p ページテーブル ( アドレス変換テーブル ) n ページ番号 ページ 枠 番号のアドレス変換表 n 多重仮想アドレスの場合は, 各プロセスがページテーブルを持つ 7

動的アドレス変換機構 ページテーブルベースレジスタ (CPU 内 ) tbl 仮想アドレス ページテーブルの位置を保持 p ページ番号 a ページ内アドレス tbl 番地 p MMU で変換 p = tbl[p] tbl[p] p ページ枠番号 ページ内アドレス ページテーブル ( 主記憶内 ) 物理アドレス p a 8

多段ページング p 広大なアドレス空間に対応 n 必要なときだけ 2 段目以降のテーブルを保持してメモリを節約 Wikipedia から引用 9

ページングによる仮想記憶 p 仮想アドレス空間の一部だけ, 物理アドレス空間に保持する ページ枠の集合 ページイン ( 読み込み ) 補助記憶 (HDD など ) ページの集合 ( ページファイル ) ページアウト ( 使用解除 ) プロセス A 仮想アドレス空間 主記憶物理アドレス空間 プロセス B 仮想アドレス空間 10

ページングのしくみ p ページファイル n 主記憶に読み込みきれないページを保持しておくためのファイル ( または独立のディスクパーティンション ) n Windows の場合 C:\pagefile.sys ( 設定を変えないと不可視 ) n 仮想記憶の容量 物理メモリ容量 + このファイルの容量 p ページフォルト n プロセスが仮想アドレスにアクセスしたとき, そのページに対応するページ枠がページテーブルにない ( 物理アドレス空間にない ) こと n 例外トラップ ( 一種の割り込み ) というしくみで OS に通知される p ページの置き換え n カーネルのページ置き換え機能が, 主記憶のページをどれかひとつ追い出して, 仮想記憶のアクセスされたページと交換する 11

ページ置換方式 p ページング処理 n ページアウト : ページ枠を空けるために, 主記憶に読み込まれているどれかのページを補助記憶に退避すること n ページイン : 実行中のプロセスがアクセスしたページを補助記憶から主記憶のページ枠に読み込むこと p ページ置換アルゴリズム n では, ページフォルトが起きたとき, どのページをアウトすべきか? n ランダム : 追い出すページは乱数で決める ( 性能比較の基準 ) n FIFO: 先に入ったページを, 先に追い出す n OPT: 最適な方法, 今後一番先まで使わないページを追い出す n LRU: 最も長い時間使われなかったページを追い出す n NRU: 一定時間使われなかったページからランダムに決める n LFU: 使用頻度 ( 回数 ) が最低のページを追い出す 12

FIFO アルゴリズム p 到着順ページ置き換え方式 n First In, First Out ( 先入れ, 先出し ) n 先に入ったページを, 先に追い出す n 性能はまあまあで, 処理が簡単で高速である n Windows はこれの改良版 ( らしい ) p FIFO アルゴリズムによるページングの例 ページ参照順 0 1 2 3 0 1 4 0 1 2 3 4 ページフォルト発生 v v v v v v v v v ページ枠の内容 ( 主記憶 ) 0 0 0 0 3 3 3 4 4 4 4 4 4 1 1 1 1 0 0 0 0 0 2 2 2 2 2 2 2 1 1 1 1 1 3 3 13

OPT アルゴリズム p 最適アルゴリズム n Optimum n 理論上 の最適な方法 ( 他の方法の評価用 ) n 今後, 一番先まで使わないページを追い出す n 未来を予知していないと決められない 実現不可能! p OPT アルゴリズムによるページングの例 ページ参照順 0 1 2 3 0 1 4 0 1 2 3 4 ページフォルト発生 v v v v v v v ページ枠の内容 ( 主記憶 ) 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 2 3 3 2 2 3 3 3 4 4 4 4 4 4 14

LRU アルゴリズム p 最長不使用ページ置き換え方式 n Least Recent Used n 最も長い時間使われなかったページを追い出す n 置換回数の性能は良いが, 実現しようとすると処理が複雑で遅い n Linux や Mac は, これを簡単化した NRU(Not Recent Used) p LRU アルゴリズムによるページングの例 ページ参照順 0 1 2 3 0 1 4 0 1 2 3 4 ページフォルト発生 v v v v v v v v v v ページ枠の内容 ( 主記憶 ) 0 0 0 0 3 3 3 4 4 4 2 2 2 1 1 1 1 0 0 0 0 0 0 3 3 2 2 2 2 1 1 1 1 1 1 4 15

参照の局所性 p 仮想記憶がうまく動く理由 n 実メモリにプロセスの一部しか読み込まなくてもなぜうまく動くか? n プロセスが参照するアドレスは, 空間的 時間的に偏る傾向がある p 空間局所性 n プログラムが同時に使うコードやデータは, 近くにあることが多い n 例 : 関数のなかの変数など n ただし, オブジェクト指向プログラミングでは例外もある p 時間局所性 n プログラムは, 同じコードやデータを連続的に使い続けることが多い n ある時間を見ると, ほぼ同じ領域のメモリを繰り返しアクセスしている n 例 : ループの実行中など 16

スラッシング p スラッシング n OS がページング処理に忙殺され, 他の処理が滞ってしまう状態 n 多数のプロセスが活発に動作すると, プロセス切り替えにともなって, 頻繁にページフォルトが起こり, ページング処理が追いつかなるなる n 主記憶に対して仮想記憶を大きく取りすぎた場合に発生しやすい 処理能力 ( スループット ) システムがほとんど停止 ディスクがカリカリカリカリ 0 プロセス数 ( 多重度 ) 17

仮想記憶の弱点 p 処理の遅延 n ページング処理 (HDDからの読み込み) は時間がかかる n リアルタイム処理では, 予測できない遅延は問題になる p 処理が複雑 n 専用のハードウェア機能 (MMU) が不可欠 n 組み込み用マイコンの多くでは,MMUの機能がない n ページ置換アルゴリズムも含めて, プログラムが複雑化 p 補助記憶装置の使用が前提 多くの組み込み OS では仮想記憶をサポートしない 18

演習課題 ( 後日提出 ) p 課題 12a ページ置換方式 n 以下の表は, ページ枠が 3 つしかないコンピュータにおける仮想記憶のページ参照順を示している n このページ参照順の場合に,FIFO,LRU,OPT の各ページ置換方式によって, どのようにページ枠の内容が変化するか, それぞれの表を完成させよ n ページフォルトが発生する場合には, チェック印 (v) を記入すること ページ参照順 0 1 3 0 2 0 3 4 2 0 1 2 ページフォルト発生 ページ枠の内容 ( 主記憶 ) 0 1 2 19