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

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

Microsoft PowerPoint mm

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

Microsoft PowerPoint - No6note.ppt

10-vm1.ppt

Operating System 仮想記憶

Microsoft PowerPoint - OS09.pptx

OS

Microsoft PowerPoint - OS08.pptx

OS

Microsoft PowerPoint ppt

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

PowerPoint プレゼンテーション

メモリ管理

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

C5

Microsoft PowerPoint - No7note.ppt

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

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

Microsoft PowerPoint - OS11.pptx

Microsoft PowerPoint mm2

Microsoft PowerPoint - OS07.pptx

メモリ管理

Microsoft PowerPoint - OS08 [互換モード]

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)

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

PowerPoint プレゼンテーション

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

PowerPoint Presentation

020105.メモリの高機能化

Microsoft PowerPoint - OS12.pptx

スライド 1

計算機概論

ComputerArchitecture.ppt

Microsoft PowerPoint - ICD2011TakadaSlides.pptx

Microsoft PowerPoint - OS12.pptx

Microsoft PowerPoint - ARC2009HashiguchiSlides.pptx

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

OS 論文購読チャレンジ 仮想マシンのメモリ管理 浅井明里 王力捷

21 章のお話

C プログラミング 1( 再 ) 第 5 回 講義では C プログラミングの基本を学び演習では やや実践的なプログラミングを通して学ぶ

必要なコンピュータの能力 基本的に ここ 1,2 年の間に発売された普通の PC であれば 問題なく動作する CPU ここ 1 2 年に発売された PC に搭載されている CPU であれば問題ない 基本的には 32 ビット 64 ビットの CPU であれば OK ディスク... 空きが少なくとも 4

今週の進捗

Microsoft PowerPoint - ARCEMB08HayashiSlides.ppt [互換モード]

OS

Microsoft PowerPoint - OS10.pptx

Microsoft PowerPoint - pc11.ppt

<4D F736F F D20342E899E D2091E52D81848FAC82D682CC88F8897A2E646F6378>

コンピュータのしくみ

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

< B8CDD8AB B83685D>

Microsoft PowerPoint - 11Web.pptx

- 主な機能 - 設定機能キャッシュメモリをキャッシュセグメントに分割し 業務で使用する論理ディスクを割り付けるための設定を行います WebSAM istoragemanager のクライアント画面から操作が可能です キャッシュセグメント作成 削除機能キャッシュセグメントの作成 削除を可能にします

スライド 1

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

Microsoft PowerPoint - 09_2008_0619.pptx

第 7 章 ユーザー データ用表領域の管理 この章では 表や索引を格納するユーザー データ用表領域の作成や 作成後のメンテナンスに ついて解説します 1. ユーザー データ用表領域の管理概要 2. ユーザー データ用表領域作成時の考慮事項 3. ユーザー データ用表領域の作成 4. ユーザー データ

スライド 1

スライド タイトルなし

PowerPoint プレゼンテーション

目次 1 VirtualBoot for Hyper-V とは バックアップを実行するマシンの設定 確認すべきこと SPX によるバックアップ VirtualBoot for Hyper-V を実行するマシンの設定 確

情報処理学会研究報告 IPSJ SIG Technical Report Vol.2014-DPS-159 No.31 Vol.2014-MBL-71 No /5/16 仮想化環境における読込み書込み比率を考慮した動的 VM メモリ割り当て 1 坂本雅哉 1 山口実靖 近年, サーバの

Microsoft Word - nvsi_050110jp_netvault_vtl_on_dothill_sannetII.doc

160311_icm2015-muramatsu-v2.pptx

Microsoft PowerPoint - ARC-SWoPP2011OkaSlides.pptx

Microsoft PowerPoint - Windows10へのアップグレィド.pptx

Page1

Microsoft PowerPoint - No3.ppt

01-introduction.ppt

Microsoft PowerPoint - install_NGSsokushu_windows(ver2.1).pptx

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

PowerPoint プレゼンテーション

スライド 1

(ch2 + i)->next = ch1 + r; doit(ch1, ch2); 図 1 ランダムアクセスする C ソース 時間 (elapsed) 32 ビットプログラム (gcc -O2 -m32 でコンパイル ) 6.23 秒 秒 64 ビットプログラム (gcc -O2 -m

Tech Note Title

secuprint5 Watermark( セキュプリント 5 ウォーターマーク ) とは secuprint5 Watermark( セキュプリント 5 ウォーターマーク ) は 印刷文書内 に 社外持ち出し禁止です などのテキスト 誰が いつ 何を印刷した か 等のセキュリティ情報 また マル秘

-2 外からみたプロセッサ GND VCC CLK A0 A1 A2 A3 A4 A A6 A7 A8 A9 A10 A11 A12 A13 A14 A1 A16 A17 A18 A19 D0 D1 D2 D3 D4 D D6 D7 D8 D9 D10 D11 D12 D13 D14 D1 MEMR

CommCheckerManual_Ver.1.0_.doc

PowerPoint プレゼンテーション

PowerPoint プレゼンテーション

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

CPUスケジューリング

セキュアVMの アーキテクチャ概要

PowerPoint Template

Microsoft Word - eRecovery v3-1.doc

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

PeopleJpeg2Bmpマニュアル

PowerPoint プレゼンテーション

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

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

Microsoft PowerPoint - os4.pptx

HG5d SSD 128GB TEST REPORT DenkiHonpo Co., Ltd.

組込み Linux の起動高速化 株式会社富士通コンピュータテクノロジーズ 亀山英司 1218ka01 Copyright 2013 FUJITSU COMPUTER TECHNOLOGIES LIMITED

情報工学Ⅰ-02

Veritas System Recovery 16 Management Solution Readme

Section 16-7 Mac で Windows も使う (Boot Camp) 光学式ドライブ DVD が読み取れる光学式ドライブを使った方がスムーズにインストールできます 光学式ドライブの付 いていない Mac は Windows インストールディスクの ISO イメージデータを使ってもイン

Microsoft Word - WatchUsbManager for Web リソースモニター結果.docx

Simplant インストールマニュアル テックサービス専用窓口 デンツプライシロナ株式会社 東京都品川区勝島 東神ビルディング別館 11 号館 TEL: 受付時間 :9:00~17:00( 土 日 祝祭日を除く ) FAX:

手順書 20 イメージ最小化作業 はじめに JumboSpot を動かすために使用している RaspberryPi( 以下 ラズパイ という ) に Pi-Star という OS 兼ソフトウェアを microsd カードにセットアップして利用しているが バックアップイメージを残す際に利用するソフトウ

PowerPoint プレゼンテーション

Transcription:

4. メモリ管理 (1) 概要メモリ管理の必要性静的メモリ管理と動的メモリ管理スワッピング, 仮想記憶ページングとセグメンテーション 2008/5/ 20 メモリ管理 (1) 1 メモリはコンピュータの 5 大構成要素 装置 ( キーボード, マウス ) CPU ( 中央演算装置 ) 出 装置 ( モニタ, プリンタ ) 主記憶装置 ( メインメモリ ) 外部記憶装置 (HDD) 2008/5/ 20 メモリ管理 (1) 2 1

なぜメモリ管理が必要か メモリ管理が必要な理由 プログラムを実 するためにはメモリが必要 メモリ技術の進歩の速さ < プログラムの巨大化の速さ パーキンソンの法則 : プログラム量は与えられたメモリのスペースを満たすまで膨張する 1980 年代 :4MB VAX で 10 人以上が同時ログイン 現在 :512MB PC でシングルユーザ (VISTA) 理想 : 速メモリが無制限に使用可能 現実 : 少量 速のキャッシュメモリ, 中容量 中速のメインメモリ (RAM), 低速 大容量のディスクストレージ OS によるメモリ管理が必要 2008/5/ 20 メモリ管理 (1) 3 メモリ階層 超 速 CPU 速 中速 Register On-chip cache Off-chip cache Hard disk/ Solid state disk Main memory 低速 2008/5/ 20 メモリ管理 (1) 4 2

メモリ階層 ( 続き ) メモリ技術 アクセス速度, 容量, 価格のトレードオフ Latency Size Price Register 0.13ns 512bytes On chip On-chip cache 4.7ns 2MB On chip Main memory 20ns 1GB $0.1/MB HDD 13ms 500GB $0.3/GB 2008/5/ 20 メモリ管理 (1) 5 メモリ管理機構 ( メモリマネージャ ) メモリ階層を管理する OS 内の機構 メモリの使用部分と未使用部分を管理 プロセスへのメモリの割当て, 解放のため メインメモリとディスク間のスワッピングを実 メインメモリだけでは必要容量が りないとき, メインメモリ内のあまり使用されていない部分をディスクに退避したり必要な部分をディスクからメモリに復元 2008/5/ 20 メモリ管理 (1) 6 3

メモリ管理機構の種類 モノプログラミング マルチプログラミング ( 固定区画 ) スワッピング動的な割当 仮想記憶 静的な割当 2008/5/ 20 メモリ管理 (1) 7 モノプログラミング 度に つのプログラムを実 する最も原始的なメモリ管理 アドレス固定, 境界チェックなし. メモリ上に他のプログラムがないProtection はない メインフレーム PDA, 組込みシステム 初期のPC (MS-DOS) 2008/5/ 20 メモリ管理 (1) 8 4

マルチプログラミング ( 固定区画 ) 各区画のサイズは 動で決める ( 不変 ) 各プロセスには収容可能な最小の区画を割当 メモリに空きがあるのに, 小さなプロセスは待たされる 空区画のうち収容可能な最小の区画を割当 小さなプロセスに大きな区画を割当てると効率悪い 2008/5/ 20 メモリ管理 (1) 9 リロケーションとプロテクション リロケーション プログラムはどの区画で実 されるか分からないその区画で実 するかで, プログラム内のジャンプ先アドレスの書き換えが必要 プロテクション 区画 1が割り当てられているプロセスが, 区画 2( 別の実 中プロセスに割当済 ) を読み書きできてしまうマルチユーザシステムでは特に問題 解決策 ベースレジスタ : 区画の先頭アドレスを れると, プログラム内のジャンプ先, メモリアクセス先に自動的に してくれる リミットレジスタ : 区画の さを指定して, それを超えるアドレスへのアクセスはハードウェア的にできなくしてくれる 初のスパコンCDC6600で採用 初代 IBM PCのIntel 8088はベースレジスタのみ 2008/5/ 20 メモリ管理 (1) 10 5

スワッピング 各プロセスについて, メモリにロードし, 定時間実 し, ディスクに退避 ( スワップアウト ) する, を繰り返す方法 メモリサイズの制限を受けないが, ディスク I/O のオーバヘッドが問題 スワップアウト メリット : メモリの利用効率が向上ホールデメリット : メモリの管理が複雑に スワップアウトで領域にホールができるどう解消? ある区画のデータ ( ヒープ ) 領域が増大する場合 どう増やす? 2008/5/ 20 メモリ管理 (1) 11 スワッピングにおけるメモリ管理 スワップアウトでホール ( 空き ) ができてしまう メモリコンパクション (Diskのデフラグに類似) 処理重い ある区画のデータ ( ヒープ ) 領域が大きくなる時 ( プロセスが動的にメモリ割当てした時など ) 使い果たした時, 大きなホールに移動 ホールができるまでスワップアウト 打ち切り ヒープ領域が大きくなるのに備えて余分な領域を割り当てておくヒープ領域, スタック領域のどちらが増大しても対処 2008/5/ 20 メモリ管理 (1) 12 できる構造 6

メモリの動的割当 動的なメモリ区画の割当 OS によるメモリの使用 / 空き状況の追跡 管理 ビットマップを用いたメモリ管理 連結リストを用いたメモリ管理 2008/5/ 20 メモリ管理 (1) 13 ビットマップを用いたメモリ管理 メモリ全体 割当ユニット ( 数バイト 数 K バイト ) に分割 各ユニット使用状況を 1 ビットで表現 :1 使用,0 未使用 ビットマップ 割当ユニットのサイズが小さい ビットマップ大きくなる 割当ユニットのサイズが大きい プロセスへのメモリ割当サイズがユニットの倍数でないと, より大きな無駄が生じる 問題点 :k 個の割当ユニット必要 ビットマップ内で k 個の連続した 0 を検索 時間がかかる 2008/5/ 20 メモリ管理 (1) 14 7

連結リストを用いたメモリ管理 メモリ区画 ( プロセスまたはホール ) を連結リストで管理 連結リスト 2008/5/ 20 メモリ管理 (1) 15 リストの更新 以下の場合が存在 (a) の場合,PH に書き換えるだけ (b)-(d) の場合, エントリが つ削除される 2008/5/ 20 メモリ管理 (1) 16 8

連結リストでのメモリ割当アルゴリズム First fit リストを先頭から順に辿り, 最初に つかった 分な空き容量のホールを割り当てる Next fit 前回ホールを つけた場所 ( リストの途中 ) を覚えておき, 次回の割り当ては, 途中から探す First fitより性能若 悪い Best fit リスト全体を検索して 分かつ最小のホールを割り当てる ホールのサイズが小さい順にソートしておくと, 効率が良くなる ( リストを最後まで なくて良い ) 2008/5/ 20 メモリ管理 (1) 17 仮想記憶 (Virtual Memory) 登場の背景 利用可能メモリ容量より大きいプログラムの実 オーバレイ : プログラムを 動で断片に分割し, 順にメモリにロードして実 自動化 (1961 年 ) したものが仮想記憶 仮想記憶の基本アイデア プログラム, データ, スタックの合計サイズが物理メモリ ( 実記憶 ) 容量を超えても良いプログラムの実 に必要な 部だけをメモリに置き, 残りはディスクにスワップアウトする 2008/5/ 20 メモリ管理 (1) 18 9

仮想記憶と実記憶のマッピング 仮想記憶 (virtual memory) 仮想アドレス, 仮想アドレス空間 実記憶 ( 物理メモリ ) より広大, 各部分は物理メモリ, ディスクなどから構成 実記憶 (physical memory) 実アドレス, 実アドレス空間 物理メモリのみから構成 仮想アドレス空間でプログラム実 仮想メモリへの読み書きが発生 アドレス変換が必要 Address translation 仮想アドレスから実アドレスへのマッピング Memory Management Unit (MMU) が実 2008/5/ 20 メモリ管理 (1) 19 アドレス変換 仮想アドレス アドレス変換 実アドレス CPU MMU 実記憶 CPU パッケージ アドレス変換なし 2008/5/ 20 メモリ管理 (1) 20 10

ページング 仮想アドレス空間をページに分割 ( ページサイズは固定 ) ページを単位としたアドレス変換 ( 仮想ページ番号, オフセット ) ( 物理ページ番号, オフセット ) ページテーブル ( 変換表 ) を実メモリ上に保持 2008/5/ 20 メモリ管理 (1) 21 ページテーブル 物理アドレス メモリ管理が容易 ビットマップを用いた空き状況管理 連続空き領域を探す必要ない ページサイズが小さいとページテーブルサイズが大きくなる 実メモリ内にテーブルを保持するため, ページテーブルサイズは小さいことが望ましい 仮想アドレス 2008/5/ 20 メモリ管理 (1) 22 11

ページングの問題点 ページテーブルサイズ 主メモリを消費. プロセス毎に必要 ページサイズが小さいとテーブルサイズ増大 アドレス空間 2 64 bytes,4kb ページ 2 52 エントリ必要 要求ページの検索 ページテーブル大きい場合に, 目的ページの検索に時間がかかる TLB (translation look-aside buffer) 2008/5/ 20 メモリ管理 (1) 23 TLB (translation look-aside buffer) 変換早 表 よく使うページテーブルをキャッシュ 主メモリへのアクセスなしにアドレス変換 機構 ハッシュ関数を用いて実現 ハッシュ関数 : 検索の平均オーダ O(1) ミスすると MMU を使ってページテーブルから検索 小さなサイズの TLB でも 90% のアドレス変換を 速化可能 TLB の検索 10ns, ページテーブルの検索 500ns, ヒット率 90 % とすると, 平均 10ns 0.9 + (500ns+10ns) 0.1 = 60ns 2008/5/ 20 メモリ管理 (1) 24 12

セグメンテーション 可変 の物理メモリ区画 ( セグメント ) を確保, それらを組合せて仮想アドレス空間を構成 ページングの問題を解決 各セグメントの動的サイズ変更が容易 ページングセグメンテーションメモリへのアクセスセグメント番号 +オフセットを指定 2008/5/ 20 メモリ管理 (1) 25 セグメンテーションの問題 物理メモリの連続領域を確保する必要がある 断片化 (fragmentation) を招く物理メモリ 断片化 内部断片化 セグメント内部の空き領域外部断片化 主メモリのセグメント間の空き領域 ページングでは外部断片化が起きない セグメント 2008/5/ 20 メモリ管理 (1) 26 13

外部断 化の例 セグメントの割当, 解放を繰り返すと発生コンパクション後 2008/5/ 20 メモリ管理 (1) 27 ページングとセグメンテーション ページング ページサイズは固定 ( 多くのOSでは4KB) 割当てる領域が連続していなくてもよい 外部断片化が起きない ページ単位でスワッピングでき, メモリを有効利用可能 ページテーブルサイズ, メモリ動的割当時の問題 セグメンテーション セグメントサイズは可変セグメント間でデータの保護が可能 セグメントとして, ひとまとまりになっているため外部断片化 (external fragmentation) 2008/5/ 20 メモリ管理 (1) 28 14

ページ化セグメンテーション セグメントとページを併用 今 のプロセッサアーキテクチャでの主流 プロセスなどに割り当てるメモリ区画はセグメントで確保 メモリ領域間の保護が容易 セグメント内の領域はページング メモリの有効利用 TLB を用いて, 検索効率化 2008/5/ 20 メモリ管理 (1) 29 ページ化セグメントのアドレス変換 仮想アドレス = ( セグメント番号, ページ番号, オフセット ) Seg# Page# offset Segment table Page table Physical page# offset 2008/5/ 20 メモリ管理 (1) 30 15

まとめ メモリ管理の必要性 メモリ管理機構の種類 : 静的管理, 動的管理 スワッピング プロセスに割当てたメモリをディスクに退避 動的なメモリ割当 : ビットマップ, 連結リスト 仮想記憶 物理メモリ容量より大きなプログラムの実 アドレス変換ページングセグメンテーションページ化セグメンテーション 2008/5/ 20 メモリ管理 (1) 31 16