• 検索結果がありません。

Microsoft PowerPoint mm

N/A
N/A
Protected

Academic year: 2021

シェア "Microsoft PowerPoint mm"

Copied!
12
0
0

読み込み中.... (全文を見る)

全文

(1)

Copyright(C)2005 Youki Kadobayashi. All rights reserved.

システムプログラム概論

Memory management 1/2

2005/4/26 門林 雄基 (インターネット工学講座) 奈良先端科学技術大学院大学

Copyright(C)2005 Youki Kadobayashi. All rights reserved.

今日の講義のポイント

z問題は何か?

zmemory hierarchy (メモリ階層)

zこの複雑な技術を、単純なプログラミングで使

いこなせるようにできないか

zmemory management in operating system

今日の講義のポイント

zthe development of memory management concepts

z monoprogramming without swap & paging

z→ multiprogramming with fixed partitions z→ virtual memory

zvirtual memory (仮想記憶)

zPaging, page table, segmentation

(2)

Copyright(C)2005 Youki Kadobayashi. All rights reserved.

メモリ階層 (memory hierarchy)

zメモリ技術: アクセス速度、容量、価格のトレード オフ $0.0006/MB 250GB 13ms Disk $0.1/MB 1GB 60ns Main memory On chip 2MB 4.7ns On-chip cache On chip 512bytes 0.13ns Register cost Size Latency

Copyright(C)2005 Youki Kadobayashi. All rights reserved.

メモリ階層

On-chip cache register Off-chip cache Main memory disk CPU

メモリ管理の目標

z 複数のプロセスがメモリという資源を競合して使用するの でこれをうまく調停する z メモリ技術を組み合わせ、非常に高速かつ大容量のアドレ ス空間をユーザプログラムに提供する (virtual memory) z アドレス空間を分離し、他のプロセスのバグ等の悪影響を 受けないようにする (protection, software fault isolation)

z cache, swap, paging, segmentation 等のメモリ管理 技術

(3)

Copyright(C)2005 Youki Kadobayashi. All rights reserved.

メモリ管理とは

z メモリ管理とはマルチプログラミングにおける資源割り当て 問題の一種 z contention (競合) z複数のプロセスがメモリという限られた資源を奪い合う z=> これだけではうまくいかない。 z arbitration (調停) z限られたメモリ上に複数のプログラムを共存させるため に、メモリの割り当てを管理する必要がある。 z=> memory management (メモリ管理) z 資源に対する競合と調停は OS の基本的な機能

Copyright(C)2005 Youki Kadobayashi. All rights reserved.

Part 1: memory management without hardware support

zハードウェアの機構を用いない メモリ管理

Monoprogramming (or uni-)

z一度にひとつのプログラムだけを実行 zアドレス固定、境界チェックなし z最も原始的なメモリ管理 zメモリ上に他のプロセスが存在しない => protection なし zMOS p. 191

(4)

Copyright(C)2005 Youki Kadobayashi. All rights reserved. アドレス可変 (relocatable)、 境界チェックあり (bounds checking) zマルチプログラミングが可能に zメモリサイズの制限を受ける zMOS p.192

Copyright(C)2005 Youki Kadobayashi. All rights reserved.

スワップ

z一つのプロセス全体をディスクに退避 zswap out, swap in (MOS p. 197) zメモリサイズの制限を受けないが、 I/O オーバーヘッドが問題

可変区画 (variable partition) 割付け

zメモリセグメントのリストを維持 (H/P, start, length) zメモリの連続した空き領域 (hole) を探す

zfirst fit: 充分な大きさのholeを検出するまでリ ストを走査

znext fit: 前回終了したところから検索を開始

zbest fit: 該当するholeの中で最も小さいものを 採用

(5)

Copyright(C)2005 Youki Kadobayashi. All rights reserved.

可変区画割付け

H, 0K, 64K P, 64K, 96K H, 160K, 16K P, 176K, 16K 64K 96K 16K 16K メモリ空間の計算機内におけるリスト表現

Copyright(C)2005 Youki Kadobayashi. All rights reserved.

可変区画 (variable partition) 割付け

zbest fit は first fit, next fit よりメモリの無駄が多 い。

zfirst fit は平均的に大きなholeを作り出す。 zプロセスが要するメモリ容量が既知でない場合は

どうするのか?

zbrute-force approach: memory compaction zbetter approach: virtual memory

Interlude

z 実社会で技術革新を起こすためには、コンピュータ アーキテクチャ、OSに対する深い理解が必要

z 例:Network Appliance NetCache products

z~500Mbps Webキャッシュ z~1Gbps Real/WMT ストリーミング zAppliance approach

z単一のアドレス空間 zメモリ保護の必要もない → 高速

(6)

Copyright(C)2005 Youki Kadobayashi. All rights reserved.

Part 2: memory management with

hardware support

zハードウェアの機構を用いたメモリ管理

Copyright(C)2005 Youki Kadobayashi. All rights reserved.

仮想記憶が誕生した背景

z参照の局所性 (locality of reference) zプロセスは実行中に全メモリ空間の一部しか必 要としない zプロセスの実行に必要な一部だけをメモリに置 き、残りはディスクなどに置けば良い。 z実メモリと、論理的なアドレス空間の分離

仮想記憶 (virtual memory) と実記憶

(physical memory)

z仮想アドレス、仮想アドレス空間 (virtual address space) z実アドレス、実アドレス空間

(physical address space)

zAddress translation: 仮想アドレスから実アドレス へのマッピング

zMemory Management Unit (MMU)

(7)

Copyright(C)2005 Youki Kadobayashi. All rights reserved.

Address translation

CPU 実記憶 MMU 仮想アドレス 実アドレス アドレス変換なし

Copyright(C)2005 Youki Kadobayashi. All rights reserved.

Base and bounds

z仮想アドレス + base = 実アドレス zbounds を超えるメモリアクセスは違反 z実メモリにおいて、可変区画割付けが必要 仮想アドレス 実アドレス + Bounds (境界) Base (基底) > エラー

ページング(1)

zページサイズを単位とした address translation z(仮想ページ番号、オフセット) --> (物理ページ番 号、オフセット) z(MOS p. 202~) zページテーブルを実メモリ上に維持 zページテーブル・レジスタ、テーブルサイズ・レジス タ

(8)

Copyright(C)2005 Youki Kadobayashi. All rights reserved.

ページング(2)

VPN offset Page table register Table size register

CPU Virtual address

Page table

PFN P D Page table entry PPN offset

Physical address

Copyright(C)2005 Youki Kadobayashi. All rights reserved.

ページング(3)

zメモリ管理が非常に単純になる -- ビットマップを 用いたメモリ管理 z連続領域を探す必要がない z仮想アドレスを sparse に使う場合、ページテーブ ル長が爆発

セグメンテーション(1)

zbase and bounds の拡張。

コード、データ、スタック毎に base, bounds z(MOS p. 249~) zsegment descriptor (セグメント記述子) に以下の 情報が含まれる: zセグメント・ポインタ、セグメント・サイズ、保護 ビット zセグメントテーブルを CPU 内部に維持

(9)

Copyright(C)2005 Youki Kadobayashi. All rights reserved.

セグメンテーション(2)

Seg# offset

Segment pointer Segment size Protection Segment descriptor Virtual address code data const stack base offset Physical address Segment table CPU

Copyright(C)2005 Youki Kadobayashi. All rights reserved.

Multi-level translation:

ページング + セグメンテーション

z今日のプロセッサアーキテクチャではこれが主流。 z仮想アドレス = (segment#, page#, offset)

Seg# VPN offset Segment table Page table offset PPN

Multi-level page tables

zこの方式をとるプロセッサもある zMOS p. 207~ (独習)

zセグメントを用いた方式と比較したときの得失は? → MOS p. 252

(10)

Copyright(C)2005 Youki Kadobayashi. All rights reserved.

メモリアクセスの高速化技法

zaddress translationのオーバーヘッド zセグメントテーブル参照 => ページテーブル参照 => メモリアクセス

zTranslation Look-aside Buffer (TLB)

z変換早見表 -- メインメモリへのアクセスなしに

アドレス変換

Copyright(C)2005 Youki Kadobayashi. All rights reserved.

TLB

Translation look-aside buffer

CPU 実記憶 MMU 仮想アドレス 実アドレス アドレス変換なし TLB

TLB types

zDirect mapped TLB zN-way set associative TLB zFully associative TLB (略)

(11)

Copyright(C)2005 Youki Kadobayashi. All rights reserved.

Direct mapped TLB

VPN VPN PFN h(VPN) Same?

Use this TLB entry

Use MMU yes no

Copyright(C)2005 Youki Kadobayashi. All rights reserved.

N-way set associative TLB

VPN VPN PFN h1(VPN) Same? VPN PFN h2(VPN) Same? N banks

TLB secrets

zテーブルサイズ vs ハッシュ衝突 (TLB キャッシュ ミス) のトレードオフ z小さなテーブルでも 90% のアドレス変換を高速 化できる。 zQ. コンテクストスイッチすると TLB は作り直し か?

(12)

Copyright(C)2005 Youki Kadobayashi. All rights reserved.

まとめ

z メモリ管理は OS における資源管理メカニズムのうち最も 興味深いもの z OS がプロセッサのアドレス変換機構を活用することで、 さまざまな機能が実現される: z広大なアドレス空間 zメモリ階層を活かした、費用対効果の高いシステム zソフトウェア障害の検出と隔離 zプロセス間のセキュリティ zプロセス間のメモリ共有 次回

Copyright(C)2005 Youki Kadobayashi. All rights reserved.

レポート課題1

zQ. プロセッサのメモリアーキテクチャについて調 べ、仮想アドレスから実アドレスへの変換プロセス の様子を絵と文章で説明せよ。 z学籍番号 % 4 == 0 の学生: MIPS z学籍番号 % 4 == 1 の学生: IA-64 z学籍番号 % 4 == 2 の学生: ARM z学籍番号 % 4 == 3 の学生: PowerPC

資料へのポインタ

z MIPS z http://www.mips.com/publications/

z "MIPS R4000 Microprocessor User's Manual" 等 z IA-64

z Sunil Saxena, "IA-64 Architecture"

z Jerry Huck et al., "Introducing the IA-64 Architecture" 等 z ARM

z Http://www.arm.com/documentation/

z Intel, "Memory Management on the StrongARM SA-110" 等 z PowerPC

z http://www-03.ibm.com/chips/products/powerpc/

Table size register

参照

関連したドキュメント

If condition (2) holds then no line intersects all the segments AB, BC, DE, EA (if such line exists then it also intersects the segment CD by condition (2) which is impossible due

Copyright (C) Qoo10 Japan All Rights Reserved... Copyright (C) Qoo10 Japan All

Perhaps the most significant result describing planar graphs as intersection graphs of curves is the recent proof of Scheinerman’s conjecture that all planar graphs are segment

READ UNCOMMITTED 発生する 発生する 発生する 発生する 指定してもREAD COMMITEDで動作 READ COMMITTED 発生しない 発生する 発生する 発生する デフォルト.

図 キハダマグロのサプライ・チェーン:東インドネシアの漁村からアメリカ市場へ (資料)筆者調査にもとづき作成 The Yellowfin Tuna Supply Chain: From Fishing Villages in

エラーメッセージ 説明 MEMORY ADDRESS LINE FAILURE AT ADDRESS, READ VALUE EXPECTING

To address the problem of slow convergence caused by the reduced spectral gap of σ 1 2 in the Lanczos algorithm, we apply the inverse-free preconditioned Krylov subspace

Given a space Ω endowed with symmetry, we define ms(Ω, r) to be the maximum of m such that for any r-coloring of Ω there exists a monochromatic symmetric set of size at least m..