Microsoft PowerPoint mm

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

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

Microsoft PowerPoint mm2

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

メモリ管理

10-vm1.ppt

Operating System 仮想記憶

Microsoft PowerPoint - OS09.pptx

Microsoft PowerPoint - No6note.ppt

OS

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

メモリ管理

PowerPoint プレゼンテーション

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

Microsoft PowerPoint - OS07.pptx

OS

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 - No7note.ppt

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

Microsoft PowerPoint - OS08.pptx

スライド 1

Microsoft PowerPoint - OS11.pptx

Microsoft PowerPoint - OS08 [互換モード]

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

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

Microsoft PowerPoint ppt

Intel Memory Protection Extensions(Intel MPX) x86, x CPU skylake 2015 Intel Software Development Emulator 本資料に登場する Intel は Intel Corp. の登録

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

Microsoft PowerPoint - IO_Pass-through_XenSummitTokyo2008_jp.ppt

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

スライド 1

Microsoft PowerPoint - OS12.pptx

Linux2.4でのメモリ管理機構

160311_icm2015-muramatsu-v2.pptx

Microsoft PowerPoint - ARC2009HashiguchiSlides.pptx

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

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

C5

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

スライド 1

SCIMA アーキテクチャと性能評価 - SCIMA アーキテクチャの概要 - 中村宏東京大学先端科学技術研究センター

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

Microsoft PowerPoint - 11Web.pptx

untitled

Microsoft PowerPoint - ARC-SWoPP2011OkaSlides.pptx

プロセッサ・アーキテクチャ

Monthly Research / セキュアハードウェアの登場とその分析

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

Microsoft Word - nvsi_050090jp_oracle10g_vlm.doc

スライド 1

スライド 1

Microsoft Word - nvsi_050110jp_netvault_vtl_on_dothill_sannetII.doc

71-78.indd

計算機アーキテクチャ

今週の進捗

Linux 仮想メモリについて

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

N08

第6期末セミナー2006-1rev1.ppt

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

はじめに 本書は Express5800/ft サーバに Red Hat Enterprise Linux 6 Server 及び ft Server Control Software がインストールされており OS がインストールされている内蔵ディス クに空き容量がある場合に 追加でボリュームを作

VMware VirtualCenter: Virtual Infrastructure Management Software

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

untitled

MiniTool Partition Wizard Free Edition の使い方 起動画面の右側にある Launch Application のボタンをクリックする Unallocated パーティションの拡張 1. E:(NTFS) のパーティションを選択し ツールバー

PowerPoint Presentation

Microsoft PowerPoint - No3.ppt

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

Microsoft PowerPoint - NxLec ppt

Microsoft PowerPoint - ICD2011TakadaSlides.pptx

PowerPoint プレゼンテーション

PowerPoint プレゼンテーション

Slides: TimeGraph: GPU Scheduling for Real-Time Multi-Tasking Environments

01-introduction.ppt

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

自己紹介 湯浅陽一 1999 年より Linux kernel 開発に参加 MIPS アーキテクチャのいくつかの CPU へ Linux kernel を移植

PowerPoint プレゼンテーション

Microsoft PowerPoint - OS12.pptx

ex04_2012.ppt

PowerPoint プレゼンテーション

PowerPoint プレゼンテーション

スライド 1

メモリ管理

TFTP serverの実装

目次 1 はじめに 登録商標 商標 注意事項 免債事項 SR-IOV の機能概要 性能検証事例 測定環境 測定結果 各方式による共有 NIC 性能比較 ( ポートあ

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

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

I117 II I117 PROGRAMMING PRACTICE II DEBUG Research Center for Advanced Computing Infrastructure (RCACI) / Yasuhiro Ohara

proventia_site_protector_sp8_sysreq

cpu2007lectureno2.ppt

Microsoft PowerPoint - pc11.ppt

Microsoft PowerPoint VIOPS.ppt

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

PowerPoint プレゼンテーション

PowerPoint プレゼンテーション

hpc141_shirahata.pdf

Microsoft PowerPoint - OS10.pptx

PowerPoint プレゼンテーション

MS916 バッチ操作ガイド FW バージョン 0.52 向け バッチ操作の基本 MS916 のバッチ操作について バッチ操作では 読取ったバーコードデータはすべて 不揮発性のメモリ (1MB ROM JAN-13 約 50,000 件 ) に保存されます メモリに保存されたデータは任意のタイミング

システム必要条件 - SAS Fraud Management 3.2

Transcription:

システムプログラム概論 Memory management 1/2 2005/4/26 門林雄基 ( インターネット工学講座 ) 奈良先端科学技術大学院大学 今日の講義のポイント 問題は何か? memory hierarchy ( メモリ階層 ) この複雑な技術を 単純なプログラミングで使いこなせるようにできないか memory management in operating system 今日の講義のポイント the development of memory management concepts monoprogramming without swap & paging multiprogramming with fixed partitions virtual memory virtual memory ( 仮想記憶 ) Paging, page table, segmentation TLB 1

メモリ階層 (memory hierarchy) メモリ技術 : アクセス速度 容量 価格のトレードオフ Latency Size cost Register 0.13ns 512bytes On chip On-chip cache 4.7ns 2MB On chip Main memory 60ns 1GB $0.1/MB Disk 13ms 250GB $0.0006/MB メモリ階層 CPU register On-chip cache Off-chip cache disk Main memory メモリ管理の目標 複数のプロセスがメモリという資源を競合して使用するのでこれをうまく調停する メモリ技術を組み合わせ 非常に高速かつ大容量のアドレス空間をユーザプログラムに提供する (virtual memory) アドレス空間を分離し 他のプロセスのバグ等の悪影響を受けないようにする (protection, software fault isolation) cache, swap, paging, segmentation 等のメモリ管理技術 今日のシステムはこれらすべてを組み合わせている 以下では これらを順にみていく 2

メモリ管理とは メモリ管理とはマルチプログラミングにおける資源割り当て問題の一種 contention ( 競合 ) 複数のプロセスがメモリという限られた資源を奪い合う => これだけではうまくいかない arbitration ( 調停 ) 限られたメモリ上に複数のプログラムを共存させるために メモリの割り当てを管理する必要がある => memory management ( メモリ管理 ) 資源に対する競合と調停は OS の基本的な機能 Part 1: memory management without hardware support ハードウェアの機構を用いないメモリ管理 Monoprogramming (or uni-) 一度にひとつのプログラムだけを実行 アドレス固定 境界チェックなし 最も原始的なメモリ管理 メモリ上に他のプロセスが存在しない => protection なし MOS p. 191 3

アドレス可変 (relocatable) 境界チェックあり (bounds checking) マルチプログラミングが可能に メモリサイズの制限を受ける MOS p.192 スワップ 一つのプロセス全体をディスクに退避 swap out, swap in (MOS p. 197) メモリサイズの制限を受けないが I/O オーバーヘッドが問題 可変区画 (variable partition) 割付け メモリセグメントのリストを維持 (H/P, start, length) メモリの連続した空き領域 (hole) を探す first fit: 充分な大きさのholeを検出するまでリストを走査 next fit: 前回終了したところから検索を開始 best fit: 該当するholeの中で最も小さいものを採用 4

可変区画割付け メモリ空間の計算機内におけるリスト表現 H, 0K, 64K P, 64K, 96K H, 160K, 16K P, 176K, 16K 64K 96K 16K 16K 可変区画 (variable partition) 割付け best fit は first fit, next fit よりメモリの無駄が多い first fit は平均的に大きな hole を作り出す プロセスが要するメモリ容量が既知でない場合はどうするのか? brute-force approach: memory compaction better approach: virtual memory Interlude 実社会で技術革新を起こすためには コンピュータアーキテクチャ OS に対する深い理解が必要 例 :Network Appliance NetCache products ~500Mbps Web キャッシュ ~1Gbps Real/WMT ストリーミング Appliance approach 単一のアドレス空間 メモリ保護の必要もない 高速 5

Part 2: memory management with hardware support ハードウェアの機構を用いたメモリ管理 仮想記憶が誕生した背景 参照の局所性 (locality of reference) プロセスは実行中に全メモリ空間の一部しか必要としない プロセスの実行に必要な一部だけをメモリに置き 残りはディスクなどに置けば良い 実メモリと 論理的なアドレス空間の分離 仮想記憶 (virtual memory) と実記憶 (physical memory) 仮想アドレス 仮想アドレス空間 (virtual address space) 実アドレス 実アドレス空間 (physical address space) Address translation: 仮想アドレスから実アドレスへのマッピング Memory Management Unit (MMU) 通常 CPU 内に実装される 6

Address translation CPU 仮想アドレス MMU 実アドレス 実記憶 アドレス変換なし Base and bounds 仮想アドレス + base = 実アドレス bounds を超えるメモリアクセスは違反 実メモリにおいて 可変区画割付けが必要 仮想アドレス > エラー Bounds ( 境界 ) + Base ( 基底 ) 実アドレス ページング (1) ページサイズを単位とした address translation ( 仮想ページ番号 オフセット ) --> ( 物理ページ番号 オフセット ) (MOS p. 202~) ページテーブルを実メモリ上に維持 ページテーブル レジスタ テーブルサイズ レジスタ present/absent bit, page fault 7

ページング (2) Virtual address VPN offset Page table register Table size register CPU PPN offset Page table Physical address PFN P D Page table entry ページング (3) メモリ管理が非常に単純になる -- ビットマップを用いたメモリ管理 連続領域を探す必要がない 仮想アドレスを sparse に使う場合 ページテーブル長が爆発 セグメンテーション (1) base and bounds の拡張 コード データ スタック毎に base, bounds (MOS p. 249~) segment descriptor ( セグメント記述子 ) に以下の情報が含まれる : セグメント ポインタ セグメント サイズ 保護ビット セグメントテーブルを CPU 内部に維持 8

セグメンテーション (2) Virtual address Seg# offset CPU base offset Physical address code data const stack Segment table Segment pointer Segment size Protection Segment descriptor Multi-level translation: ページング + セグメンテーション 今日のプロセッサアーキテクチャではこれが主流 仮想アドレス = (segment#, page#, offset) Seg# VPN offset Segment table Page table PPN offset Multi-level page tables この方式をとるプロセッサもある MOS p. 207~ ( 独習 ) セグメントを用いた方式と比較したときの得失は? MOS p. 252 9

メモリアクセスの高速化技法 address translation のオーバーヘッド セグメントテーブル参照 => ページテーブル参照 => メモリアクセス Translation Look-aside Buffer (TLB) 変換早見表 -- メインメモリへのアクセスなしにアドレス変換 TLB Translation look-aside buffer CPU 仮想アドレス TLB 実アドレス MMU 実記憶 アドレス変換なし TLB types Direct mapped TLB N-way set associative TLB Fully associative TLB ( 略 ) 10

Direct mapped TLB VPN h(vpn) Use this TLB entry VPN PFN Same? yes no Use MMU N-way set associative TLB VPN N banks h1(vpn) VPN PFN VPN PFN Same? h2(vpn) Same? TLB secrets テーブルサイズ vs ハッシュ衝突 (TLB キャッシュミス ) のトレードオフ 小さなテーブルでも 90% のアドレス変換を高速化できる Q. コンテクストスイッチすると TLB は作り直しか? 11

まとめ メモリ管理は OS における資源管理メカニズムのうち最も興味深いもの OS がプロセッサのアドレス変換機構を活用することで さまざまな機能が実現される : 広大なアドレス空間 メモリ階層を活かした 費用対効果の高いシステム ソフトウェア障害の検出と隔離 プロセス間のセキュリティ次回 プロセス間のメモリ共有 レポート課題 1 Q. プロセッサのメモリアーキテクチャについて調べ 仮想アドレスから実アドレスへの変換プロセスの様子を絵と文章で説明せよ 学籍番号 % 4 == 0 の学生 : MIPS 学籍番号 % 4 == 1 の学生 : IA-64 学籍番号 % 4 == 2 の学生 : ARM 学籍番号 % 4 == 3 の学生 : PowerPC 資料へのポインタ MIPS http://www.mips.com/publications/ "MIPS R4000 Microprocessor User's Manual" 等 IA-64 Sunil Saxena, "IA-64 Architecture" Jerry Huck et al., "Introducing the IA-64 Architecture" 等 ARM Http://www.arm.com/documentation/ Intel, "Memory Management on the StrongARM SA-110" 等 PowerPC http://www-03.ibm.com/chips/products/powerpc/ "PowerPC 740/PowerPC 750 RISC Microprocessor User's Manual" 等 12