Presentation is loading. Please wait.

Presentation is loading. Please wait.

Slide 12-1 Copyright © 2004 Pearson Education, Inc. Operating Systems: A Modern Perspective, Chapter 12 12 Virtual Memory.

Similar presentations


Presentation on theme: "Slide 12-1 Copyright © 2004 Pearson Education, Inc. Operating Systems: A Modern Perspective, Chapter 12 12 Virtual Memory."— Presentation transcript:

1 Slide 12-1 Copyright © 2004 Pearson Education, Inc. Operating Systems: A Modern Perspective, Chapter 12 12 Virtual Memory

2 Slide 12-2 Copyright © 2004 Pearson Education, Inc. Operating Systems: A Modern Perspective, Chapter 12 Virtual Memory Organization Memory Image for p i Secondary Memory Primary Memory

3 Slide 12-3 Copyright © 2004 Pearson Education, Inc. Operating Systems: A Modern Perspective, Chapter 12 Names, Virtual Addresses & Physical Addresses Source Program Absolute Module Name Space P i ’s Virtual Address Space P i ’s Virtual Address Space Executable Image Physical Address Space Physical Address Space B t : Virtual Address Space  Physical Address Space

4 Slide 12-4 Copyright © 2004 Pearson Education, Inc. Operating Systems: A Modern Perspective, Chapter 12 Locality Address space is logically partitioned –Text, data, stack –Initialization, main, error handle Different parts have different reference patterns: Address Space for p i Initialization code (used once) Code for  1 Code for  2 Code for  3 Code for error 1 Code for error 2 Code for error 3 Data & stack 30% 20% 35% 15% <1% Execution time

5 Slide 12-5 Copyright © 2004 Pearson Education, Inc. Operating Systems: A Modern Perspective, Chapter 12 Virtual Memory Every process has code and data locality –Code tends to execute in a few fragments at one time –Tend to reference same set of data structures Dynamically load/unload currently-used address space fragments as the process executes Uses dynamic address relocation/binding –Generalization of base-limit registers –Physical address corresponding to a compile- time address is not bound until run time

6 Slide 12-6 Copyright © 2004 Pearson Education, Inc. Operating Systems: A Modern Perspective, Chapter 12 Virtual Memory (cont) Since binding changes with time, use a dynamic virtual address map, B t Virtual Address Space BtBt

7 Slide 12-7 Copyright © 2004 Pearson Education, Inc. Operating Systems: A Modern Perspective, Chapter 12 Virtual Memory Virtual Address Space for p i Virtual Address Space for p j Virtual Address Space for p k Secondary Memory Complete virtual address space is stored in secondary memory Primary Memory 0 n-1 Physical Address Space Fragments of the virtual address space are dynamically loaded into primary memory at any given time Each address space is fragmented

8 Slide 12-8 Copyright © 2004 Pearson Education, Inc. Operating Systems: A Modern Perspective, Chapter 12 Paging A page is a fixed size, 2 h, block of virtual addresses A page frame is a fixed size, 2 h, block of physical memory (the same size as a page) When a virtual address, x, in page i is referenced by the CPU –If page i is loaded at page frame j, the virtual address is relocated to page frame j –If page is not loaded, the OS interrupts the process and loads the page into a page frame

9 Slide 12-9 Copyright © 2004 Pearson Education, Inc. Operating Systems: A Modern Perspective, Chapter 12 Page-Based Address Translation Let N = {d 0, d 1, … d n-1 } be the pages Let M = {b 0, b 1, …, b m-1 } be page frames Virtual address, i, satisfies 0  i<G= 2 g+h Physical address, k = U2 h +V (0  V<G= 2 h ) –U is page frame number –V is the line number within the page – B t :[0:G-1]   {  } –Since every page is size c=2 h page number = U =  i/c  line number = V = i mod c

10 Slide 12-10 Copyright © 2004 Pearson Education, Inc. Operating Systems: A Modern Perspective, Chapter 12 Modeling Page Behavior Let R = r 1, r 2, r 3, …, r i, … be a page reference stream –r i is the i th page # referenced by the process –The subscript is the virtual time for the process Given a page frame allocation of m, the memory state at time t, S t (m), is set of pages loaded –S t (m) = S t-1 (m)  X t - Y t X t is the set of fetched pages at time t Y t is the set of replaced pages at time t

11 Slide 12-11 Copyright © 2004 Pearson Education, Inc. Operating Systems: A Modern Perspective, Chapter 12 Static Allocation, Demand Paging Number of page frames is static over the life of the process Fetch policy is demand Since S t (m) = S t-1 (m)  {r t } - {y}, the replacement policy must choose y -- which uniquely identifies the paging policy

12 Slide 12-12 Copyright © 2004 Pearson Education, Inc. Operating Systems: A Modern Perspective, Chapter 12 Address Translation with Paging Page #Line # Virtual Address g bits h bits BtBt Missing Page Frame #Line # j bitsh bits Physical Address MAR CPU Memory “page table”

13 Slide 12-13 Copyright © 2004 Pearson Education, Inc. Operating Systems: A Modern Perspective, Chapter 12 Random Replacement Replaced page, y, is chosen from the m loaded page frames with probability 1/m Let page reference stream,  R = 2031203120316457 Frame 2 0 3 1 2 0 3 1 2 0 3 1 6 4 5 7 0 1 2 213213 213213 210210 310310 310310 312312 012012 032032 032032 062062 462462 452452 752752 203203 2020 2 No knowledge of R  not perform well Easy to implement 13 page faults

14 Slide 12-14 Copyright © 2004 Pearson Education, Inc. Operating Systems: A Modern Perspective, Chapter 12 Belady’s Optimal Algorithm Replace page with maximal forward distance: y t = max xeS t-1(m) FWD t (x) Let page reference stream,  R = 2031203120316457 Frame 2 0 3 1 2 0 3 1 2 0 3 1 6 4 5 7 02 2 2 1 0 0 2 3

15 Slide 12-15 Copyright © 2004 Pearson Education, Inc. Operating Systems: A Modern Perspective, Chapter 12 Belady’s Optimal Algorithm Replace page with maximal forward distance: y t = max xeS t-1(m) FWD t (x) Let page reference stream,  R = 2031203120316457 Perfect knowledge of R  perfect performance Impossible to implement 10 page faults Frame 2 0 3 1 2 0 3 1 2 0 3 1 6 4 5 7 02 2 2 2 2 2 2 2 2 0 0 0 0 4 4 4 1 0 0 0 0 0 3 3 3 3 3 3 6 6 6 7 2 3 1 1 1 1 1 1 1 1 1 1 1 5 5

16 Slide 12-16 Copyright © 2004 Pearson Education, Inc. Operating Systems: A Modern Perspective, Chapter 12 Least Recently Used (LRU) Replace page with maximal forward distance: y t = max xeS t-1(m) BKWD t (x) Let page reference stream,  R = 2031203120316457 Frame 2 0 3 1 2 0 3 1 2 0 3 1 6 4 5 7 02 2 2 1 0 0 2 3 BKWD 4 (2) = 3 BKWD 4 (0) = 2 BKWD 4 (3) = 1

17 Slide 12-17 Copyright © 2004 Pearson Education, Inc. Operating Systems: A Modern Perspective, Chapter 12 Least Recently Used (LRU) Replace page with maximal forward distance: y t = max xeS t-1(m) BKWD t (x) Let page reference stream,  R = 2031203120316457 Frame 2 0 3 1 2 0 3 1 2 0 3 1 6 4 5 7 02 2 2 2 2 2 2 3 2 2 2 2 6 6 6 6 1 0 0 0 0 0 0 0 0 0 0 0 0 4 4 4 2 3 3 3 3 3 3 3 3 3 3 3 3 5 5 3 1 1 1 1 1 1 1 1 1 1 1 1 7 Backward distance is a good predictor of forward distance -- locality

18 Slide 12-18 Copyright © 2004 Pearson Education, Inc. Operating Systems: A Modern Perspective, Chapter 12 Least Frequently Used (LFU) Replace page with minimum use: y t = min xeS t-1(m) FREQ(x) Let page reference stream,  R = 2031203120316457 Frame 2 0 3 1 2 0 3 1 2 0 3 1 6 4 5 7 02 2 2 1 0 0 2 3 FREQ 4 (2) = 1 FREQ 4 (0) = 1 FREQ 4 (3) = 1

19 Slide 12-19 Copyright © 2004 Pearson Education, Inc. Operating Systems: A Modern Perspective, Chapter 12 Least Frequently Used (LFU) Replace page with minimum use: y t = min xeS t-1(m) FREQ(x) Let page reference stream,  R = 2031203120316457 Frame 2 0 3 1 2 0 3 1 2 0 3 1 6 4 5 7 02 2 2 2 2 2 1 0 0 1 1 1 2 3 3 3 0 FREQ 6 (2) = 2 FREQ 6 (1) = 1 FREQ 6 (3) = 1

20 Slide 12-20 Copyright © 2004 Pearson Education, Inc. Operating Systems: A Modern Perspective, Chapter 12 First In First Out (FIFO) Replace page that has been in memory the longest: y t = max xeS t-1(m) AGE(x) Let page reference stream,  R = 2031203120316457 Frame 2 0 3 1 2 0 3 1 2 0 3 1 6 4 5 7 02 2 2 1 1 0 0 0 2 3 3

21 Slide 12-21 Copyright © 2004 Pearson Education, Inc. Operating Systems: A Modern Perspective, Chapter 12 First In First Out (FIFO) Replace page that has been in memory the longest: y t = max xeS t-1(m) AGE(x) Let page reference stream,  R = 2031203120316457 Frame 2 0 3 1 2 0 3 1 2 0 3 1 6 4 5 7 02 2 2 1 0 0 2 3 AGE 4 (2) = 3 AGE 4 (0) = 2 AGE 4 (3) = 1

22 Slide 12-22 Copyright © 2004 Pearson Education, Inc. Operating Systems: A Modern Perspective, Chapter 12 Stack Algorithms Some algorithms are well-behaved Inclusion Property: Pages loaded at time t with m is also loaded at time t with m+1 Frame 0 1 2 3 0 1 4 0 1 2 3 4 00 0 0 3 1 1 2 2 2 Frame 0 1 2 3 0 1 4 0 1 2 3 4 00 0 0 0 1 1 2 2 2 3 LRU

23 Slide 12-23 Copyright © 2004 Pearson Education, Inc. Operating Systems: A Modern Perspective, Chapter 12 Stack Algorithms Some algorithms are well-behaved Inclusion Property: Pages loaded at time t with m is also loaded at time t with m+1 FIFO Frame 0 1 2 3 0 1 4 0 1 2 3 4 00 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 Frame 0 1 2 3 0 1 4 0 1 2 3 4 00 0 0 0 0 0 4 4 4 4 3 3 1 1 1 1 1 1 1 0 0 0 0 4 2 2 2 2 2 2 2 1 1 1 1 3 3 3 3 3 3 3 2 2 2

24 Slide 12-24 Copyright © 2004 Pearson Education, Inc. Operating Systems: A Modern Perspective, Chapter 12 Windows NT Paging System Primary Memory Virtual Address Space Supv space User space Paging Disk (Secondary Memory) 2.Lookup (Page i, Addr k) 3.Translate (Page i, Addr k) to (Page Frame j, Addr k) 4.Reference (Page Frame j, Addr k) 1.Reference to Address k in Page i (User space)

25 Slide 12-25 Copyright © 2004 Pearson Education, Inc. Operating Systems: A Modern Perspective, Chapter 12 Windows Address Translation Page DirectoryPage TableByte Index Virtual page numberLine number Page Directory Page Tables Target Page Target Byte c b a A C B

26 Slide 12-26 Copyright © 2004 Pearson Education, Inc. Operating Systems: A Modern Perspective, Chapter 12 Linux Virtual Address Translation

27 Slide 12-27 Copyright © 2004 Pearson Education, Inc. Operating Systems: A Modern Perspective, Chapter 12 Segment Address Translation B t : segments x offsets  physical address  {  } B t (i, j) = k S : segments  segment addresses B t ( S (segName), j) = k N : offset names  offset addresses B t ( S (segName), N (offsetName)) = k Read implementation in Section 12.6

28 Slide 12-28 Copyright © 2004 Pearson Education, Inc. Operating Systems: A Modern Perspective, Chapter 12 Address Translation in Segmentation S N segment #offset BtBt Missing segment LimitBaseP Limit Relocation + ? To Memory Address Register

29 Slide 12-29 Copyright © 2004 Pearson Education, Inc. Operating Systems: A Modern Perspective, Chapter 12 NT Memory-mapped Files Memory mapped files Memory mapped files Executable memory Secondary memory Ordinary file Open the file Create a section object (that maps file) Identify point in address space to place the file Section object

30 Slide 12-30 Copyright © 2004 Pearson Education, Inc. Operating Systems: A Modern Perspective, Chapter 12 NT Memory-mapped Files(2)


Download ppt "Slide 12-1 Copyright © 2004 Pearson Education, Inc. Operating Systems: A Modern Perspective, Chapter 12 12 Virtual Memory."

Similar presentations


Ads by Google