Download as pdf or txt
Download as pdf or txt
You are on page 1of 45

Memory Management

|

(OS: Operating Systems) | (Memory Management) | 1

Virtual Memory

Background
Demand Paging
Process Creation
Page Replacement
Allocation of Frames
Thrashing
Operating System Examples

|

(OS: Operating Systems) | (Memory Management) | 2

Learning Objectives

(demand paging)

|

(OS: Operating Systems) | (Memory Management) | 3


Background


(
)
single program
overlay

(sub program)

Multiprogram
(virtual memory) OS

|

(OS: Operating Systems) | (Memory Management) | 4


Background

2 main program
Sub
Program

|

(OS: Operating Systems) | (Memory Management) | 5


Background
(Virtual memory)
(logical memory)
(physical memory)
(execution)
(Logical address) (physical address
space)

Virtual memory
Demand paging
Demand segmentation
|

(OS: Operating Systems) | (Memory Management) | 6

Virtual Memory That is Larger Than Physical Memory

|

(OS: Operating Systems) | (Memory Management) | 7

Demand Paging
page

(Less I/O needed)


(Less memory needed)
(Faster response)
(More users)

Page
invalid reference (abort)
not-in-memory (bring to memory)

|

(OS: Operating Systems) | (Memory Management) | 8

Transfer of a Paged Memory to Contiguous Disk Space

|

(OS: Operating Systems) | (Memory Management) | 9

Valid-Invalid Bit

validinvalid bit page table


(1 in-memory, 0 not-in-memory)
validinvalid 0 (entries)
Example of a page table snapshot.
Frame #

valid-invalid bit

1
1
1
1
0

validinvalid
bit page table entry 0 page
fault
0
0
page table

|

(OS: Operating Systems) | (Memory Management) | 10

Page Table When Some Pages Are Not in Main Memory

|

(OS: Operating Systems) | (Memory Management) | 11

Page Fault
page trap to OS
page fault
OS

Invalid reference abort.


empty frame
Swap page frame
Reset tables, validation bit = 1.
: Least Recently Used

block move

|

(OS: Operating Systems) | (Memory Management) | 12

Steps in Handling a Page Fault

|

(OS: Operating Systems) | (Memory Management) | 13

(free frame)?

Page (Page replacement)


page
(swap out)
algorithm
performance algorithm

(page)

|

(OS: Operating Systems) | (Memory Management) | 14

Performance of Demand Paging


Page Fault Rate 0 p 1.0
if p = 0 no page faults
if p = 1, every reference is a fault

Effective Access Time (EAT)


EAT = (1 p) x memory access
+ p (page fault overhead
+ [swap page out ]
+ swap page in
+ restart overhead)
|

(OS: Operating Systems) | (Memory Management) | 15

Demand Paging Example


Memory access time = 1 microsecond
50% page

Swap Page Time = 10 msec = 10,000 msec


EAT = (1 p) x 1 + p (15000)
1 + 15000P (in msec)
|

(OS: Operating Systems) | (Memory Management) | 16


Process Creation
Virtual memory

- Copy-on-Write
- Memory-Mapped Files

|

(OS: Operating Systems) | (Memory Management) | 17

Copy-on-Write
Copy-on-Write (COW) parent and child
processes share page

page page

COW page

Free pages pool zeroed-out pages.
|

(OS: Operating Systems) | (Memory Management) | 18

Memory-Mapped Files

Memory-mapped file I/O file I/O


mapping a disk block page

demand paging page-sized


physical page. reads/writes

treating file I/O read() write() system


calls.

map pages

|

(OS: Operating Systems) | (Memory Management) | 19

Memory Mapped Files

|

(OS: Operating Systems) | (Memory Management) | 20


Page Replacement
page-fault
service routine page replacement
modify (dirty) bit overhead

Page replacement logical
memory physical memory virtual memory
physical memory
|

(OS: Operating Systems) | (Memory Management) | 21

Need For Page Replacement

|

(OS: Operating Systems) | (Memory Management) | 22

Basic Page Replacement


1. page
2. free frame:
- free frame
- free frame page replacement
algorithm victim frame
3. page free frame Update
page frame
4.
|

(OS: Operating Systems) | (Memory Management) | 23

Page Replacement

|

(OS: Operating Systems) | (Memory Management) | 24

Page Replacement Algorithms


(lowest page-fault
rate)
algorithm reference string
page faults string
In all our examples, the reference string is
1, 2, 3, 4, 1, 2, 5, 1, 2, 3, 4, 5.

|

(OS: Operating Systems) | (Memory Management) | 25

Graph of Page Faults Versus The Number of Frames

|

(OS: Operating Systems) | (Memory Management) | 26

First-In-First-Out
Algorithm
Reference string: 1, 2, 3, 4, 1, 2, 5,(FIFO)
1, 2, 3, 4, 5

3 frames (3 pages )

4 frames

9 page faults

1 1 5 4
FIFO Replacement Beladys Anomaly

frames page faults 2


2
1 5 10 page faults
3

|

(OS: Operating Systems) | (Memory Management) | 27

FIFO Page Replacement

|

(OS: Operating Systems) | (Memory Management) | 28

FIFO Illustrating Beladys Anamoly

|

(OS: Operating Systems) | (Memory Management) | 29

Optimal Algorithm
page
4 frames example
1, 2, 3, 4, 1, 2, 5, 1, 2, 3, 4, 5
1

6 page faults

3
4



|

(OS: Operating Systems) | (Memory Management) | 30

Optimal Page Replacement

|

(OS: Operating Systems) | (Memory Management) | 31

Least Recently Used (LRU) Algorithm


Reference string: 1,
1 2,
5 3, 4, 1, 2, 5, 1, 2, 3, 4, 5
2

(Counter implementation)
(entry) page , page , counter
page counter
|

(OS: Operating Systems) | (Memory Management) | 32

LRU Page Replacement

|

(OS: Operating Systems) | (Memory Management) | 33

LRU Algorithm (Cont.)


(Stack implementation)
(page numbers) (double
link form):
Page referenced:


6 pointers

stack algorithm Beladys Anomaly



interrupt
|

(OS: Operating Systems) | (Memory Management) | 34

Use Of A Stack to Record The Most Recent Page References

|

(OS: Operating Systems) | (Memory Management) | 35

LRU Approximation Algorithms


(Additional-Reference-bits
algorithm)


bit, = 0 ( )
1 ( )

(Second chance)

(reference bit) (Clock replacement)



() = 1 :

|

(OS: Operating Systems) | (Memory Management) | 36

Second-Chance (clock) Page-Replacement Algorithm

|

(OS: Operating Systems) | (Memory Management) | 37

Counting Algorithms

LFU (least frequently used) Algorithm:

MFU (most frequently used) Algorithm:





(OPT)

|

(OS: Operating Systems) | (Memory Management) | 38

Page-Buffering Algorithm

page fault





(clustering)
|

(OS: Operating Systems) | (Memory Management) | 39

Operating System Examples


Windows NT
Solaris 2

|

(OS: Operating Systems) | (Memory Management) | 40

Windows NT
demand paging clustering page

working set minimum


working set maximum
Working set minimum
working set maximum
(threshold)
working set (automatic working set
trimming)
Working set trimming
working set minimum
|

(OS: Operating Systems) | (Memory Management) | 41

Paging System Windows NT

|

(OS: Operating Systems) | (Memory Management) | 42

Address translation Windows

|

(OS: Operating Systems) | (Memory Management) | 43

Solaris 2
(free pages)

Lotsfree threshold parameter
(pageout process)
Pageout scans pages using modified clock algorithm.
Scanrate
slowscan fastscan
Pageout

|

(OS: Operating Systems) | (Memory Management) | 44

Solar Page Scanner

|

(OS: Operating Systems) | (Memory Management) | 45

You might also like