SlideShare une entreprise Scribd logo
1  sur  62
Chapter 9: Virtual MemoryChapter 9: Virtual Memory
9.2 Silberschatz, Galvin and GagneOperating System Concepts
Chapter 9: Virtual MemoryChapter 9: Virtual Memory
Background
Demand Paging
Process Creation
Page Replacement
Allocation of Frames
Thrashing
Demand Segmentation
Operating System Examples
9.3 Silberschatz, Galvin and GagneOperating System Concepts
BackgroundBackground
Virtual memory – separation of user logical memory from
physical memory.
Only part of the program needs to be in memory for execution.
Logical address space can therefore be much larger than
physical address space.
Allows address spaces to be shared by several processes.
Allows for more efficient process creation.
Virtual memory can be implemented via:
Demand paging
Demand segmentation
9.4 Silberschatz, Galvin and GagneOperating System Concepts
Virtual Memory That is Larger Than PhysicalVirtual Memory That is Larger Than Physical
MemoryMemory
⇒
9.5 Silberschatz, Galvin and GagneOperating System Concepts
Virtual-address SpaceVirtual-address Space
9.6 Silberschatz, Galvin and GagneOperating System Concepts
Shared Library Using Virtual MemoryShared Library Using Virtual Memory
9.7 Silberschatz, Galvin and GagneOperating System Concepts
Demand PagingDemand Paging
Bring a page into memory only when it is needed
Less I/O needed
Less memory needed
Faster response
More users
Page is needed ⇒ reference to it
invalid reference ⇒ abort
not-in-memory ⇒ bring to memory
9.8 Silberschatz, Galvin and GagneOperating System Concepts
Transfer of a Paged Memory to Contiguous DiskTransfer of a Paged Memory to Contiguous Disk
SpaceSpace
9.9 Silberschatz, Galvin and GagneOperating System Concepts
Valid-Invalid BitValid-Invalid Bit
With each page table entry a valid–invalid bit is associated
(1 ⇒ in-memory, 0 ⇒ not-in-memory)
Initially valid–invalid but is set to 0 on all entries
Example of a page table snapshot:
During address translation, if valid–invalid bit in page table entry is 0 ⇒
page fault
1
1
1
1
0
0
0

Frame # valid-invalid bit
page table
9.10 Silberschatz, Galvin and GagneOperating System Concepts
Page Table When Some Pages Are Not in MainPage Table When Some Pages Are Not in Main
MemoryMemory
9.11 Silberschatz, Galvin and GagneOperating System Concepts
Page FaultPage Fault
If there is ever a reference to a page, first reference will trap to
OS ⇒ page fault
OS looks at another table to decide:
Invalid reference ⇒ abort.
Just not in memory.
Get empty frame.
Swap page into frame.
Reset tables, validation bit = 1.
Restart instruction: Least Recently Used
block move
auto increment/decrement location
9.12 Silberschatz, Galvin and GagneOperating System Concepts
Steps in Handling a Page FaultSteps in Handling a Page Fault
9.13 Silberschatz, Galvin and GagneOperating System Concepts
What happens if there is no free frame?What happens if there is no free frame?
Page replacement – find some page in memory, but not
really in use, swap it out
algorithm
performance – want an algorithm which will result in
minimum number of page faults
Same page may be brought into memory several times
9.14 Silberschatz, Galvin and GagneOperating System Concepts
Performance of Demand PagingPerformance 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)
9.15 Silberschatz, Galvin and GagneOperating System Concepts
Demand Paging ExampleDemand Paging Example
Memory access time = 1 microsecond
50% of the time the page that is being replaced has been modified
and therefore needs to be swapped out
Swap Page Time = 10 msec = 10,000 msec
EAT = (1 – p) x 1 + p (15000)
1 + 15000P (in msec)
9.16 Silberschatz, Galvin and GagneOperating System Concepts
Process CreationProcess Creation
Virtual memory allows other benefits during process creation:
- Copy-on-Write
- Memory-Mapped Files (later)
9.17 Silberschatz, Galvin and GagneOperating System Concepts
Copy-on-WriteCopy-on-Write
Copy-on-Write (COW) allows both parent and child processes to
initially share the same pages in memory
If either process modifies a shared page, only then is the page
copied
COW allows more efficient process creation as only modified pages
are copied
Free pages are allocated from a pool of zeroed-out pages
9.18 Silberschatz, Galvin and GagneOperating System Concepts
Page ReplacementPage Replacement
Prevent over-allocation of memory by modifying page-fault service
routine to include page replacement
Use modify (dirty) bit to reduce overhead of page transfers –
only modified pages are written to disk
Page replacement completes separation between logical memory
and physical memory – large virtual memory can be provided on a
smaller physical memory
9.19 Silberschatz, Galvin and GagneOperating System Concepts
Need For Page ReplacementNeed For Page Replacement
9.20 Silberschatz, Galvin and GagneOperating System Concepts
Basic Page ReplacementBasic Page Replacement
1. Find the location of the desired page on disk
2. Find a free frame:
- If there is a free frame, use it
- If there is no free frame, use a page replacement
algorithm to select a victim frame
3. Read the desired page into the (newly) free frame. Update the
page and frame tables.
4. Restart the process
9.21 Silberschatz, Galvin and GagneOperating System Concepts
Page ReplacementPage Replacement
9.22 Silberschatz, Galvin and GagneOperating System Concepts
Page Replacement AlgorithmsPage Replacement Algorithms
Want lowest page-fault rate
Evaluate algorithm by running it on a particular string of
memory references (reference string) and computing the
number of page faults on that string
In all our examples, the reference string is
1, 2, 3, 4, 1, 2, 5, 1, 2, 3, 4, 5
9.23 Silberschatz, Galvin and GagneOperating System Concepts
Graph of Page Faults Versus The Number ofGraph of Page Faults Versus The Number of
FramesFrames
9.24 Silberschatz, Galvin and GagneOperating System Concepts
First-In-First-Out (FIFO) AlgorithmFirst-In-First-Out (FIFO) Algorithm
Reference string: 1, 2, 3, 4, 1, 2, 5, 1, 2, 3, 4, 5
3 frames (3 pages can be in memory at a time per process)
4 frames
FIFO Replacement – Belady’s Anomaly
more frames ⇒ more page faults
1
2
3
1
2
3
4
1
2
5
3
4
9 page faults
1
2
3
1
2
3
5
1
2
4
5 10 page faults
44 3
9.25 Silberschatz, Galvin and GagneOperating System Concepts
FIFO Page ReplacementFIFO Page Replacement
9.26 Silberschatz, Galvin and GagneOperating System Concepts
FIFO Illustrating Belady’s AnomalyFIFO Illustrating Belady’s Anomaly
9.27 Silberschatz, Galvin and GagneOperating System Concepts
Optimal AlgorithmOptimal Algorithm
Replace page that will not be used for longest period of time
4 frames example
1, 2, 3, 4, 1, 2, 5, 1, 2, 3, 4, 5
How do you know this?
Used for measuring how well your algorithm performs
1
2
3
4
6 page faults
4 5
9.28 Silberschatz, Galvin and GagneOperating System Concepts
Optimal Page ReplacementOptimal Page Replacement
9.29 Silberschatz, Galvin and GagneOperating System Concepts
Least Recently Used (LRU)Least Recently Used (LRU)
AlgorithmAlgorithm
Reference string: 1, 2, 3, 4, 1, 2, 5, 1, 2, 3, 4, 5
Counter implementation
Every page entry has a counter; every time page is referenced
through this entry, copy the clock into the counter
When a page needs to be changed, look at the counters to
determine which are to change
1
2
3
5
4
4 3
5
9.30 Silberschatz, Galvin and GagneOperating System Concepts
LRU Page ReplacementLRU Page Replacement
9.31 Silberschatz, Galvin and GagneOperating System Concepts
LRU Algorithm (Cont.)LRU Algorithm (Cont.)
Stack implementation – keep a stack of page numbers in a double
link form:
Page referenced:
 move it to the top
 requires 6 pointers to be changed
No search for replacement
9.32 Silberschatz, Galvin and GagneOperating System Concepts
Use Of A Stack to Record The Most Recent PageUse Of A Stack to Record The Most Recent Page
ReferencesReferences
9.33 Silberschatz, Galvin and GagneOperating System Concepts
LRU Approximation AlgorithmsLRU Approximation Algorithms
Reference bit
With each page associate a bit, initially = 0
When page is referenced bit set to 1
Replace the one which is 0 (if one exists). We do not know the
order, however.
Second chance
Need reference bit
Clock replacement
If page to be replaced (in clock order) has reference bit = 1
then:
 set reference bit 0
 leave page in memory
 replace next page (in clock order), subject to same rules
9.34 Silberschatz, Galvin and GagneOperating System Concepts
Second-Chance (clock) Page-ReplacementSecond-Chance (clock) Page-Replacement
AlgorithmAlgorithm
9.35 Silberschatz, Galvin and GagneOperating System Concepts
Counting AlgorithmsCounting Algorithms
Keep a counter of the number of references that have been
made to each page
LFU Algorithm: replaces page with smallest count
MFU Algorithm: based on the argument that the page with
the smallest count was probably just brought in and has yet
to be used
9.36 Silberschatz, Galvin and GagneOperating System Concepts
Allocation of FramesAllocation of Frames
Each process needs minimum number of pages
Example: IBM 370 – 6 pages to handle SS MOVE instruction:
instruction is 6 bytes, might span 2 pages
2 pages to handle from
2 pages to handle to
Two major allocation schemes
fixed allocation
priority allocation
9.37 Silberschatz, Galvin and GagneOperating System Concepts
Fixed AllocationFixed Allocation
Equal allocation – For example, if there are 100 frames and 5
processes, give each process 20 frames.
Proportional allocation – Allocate according to the size of process
m
S
s
pa
m
sS
ps
i
ii
i
ii
×==
=
∑=
=
forallocation
framesofnumbertotal
processofsize
5964
137
127
564
137
10
127
10
64
2
1
2
≈×=
≈×=
=
=
=
a
a
s
s
m
i
9.38 Silberschatz, Galvin and GagneOperating System Concepts
Priority AllocationPriority Allocation
Use a proportional allocation scheme using priorities rather
than size
If process Pi generates a page fault,
select for replacement one of its frames
select for replacement a frame from a process with
lower priority number
9.39 Silberschatz, Galvin and GagneOperating System Concepts
Global vs. Local AllocationGlobal vs. Local Allocation
Global replacement – process selects a replacement
frame from the set of all frames; one process can take a
frame from another
Local replacement – each process selects from only its
own set of allocated frames
9.40 Silberschatz, Galvin and GagneOperating System Concepts
ThrashingThrashing
If a process does not have “enough” pages, the page-fault rate is
very high. This leads to:
low CPU utilization
operating system thinks that it needs to increase the degree of
multiprogramming
another process added to the system
Thrashing ≡ a process is busy swapping pages in and out
9.41 Silberschatz, Galvin and GagneOperating System Concepts
Thrashing (Cont.)Thrashing (Cont.)
9.42 Silberschatz, Galvin and GagneOperating System Concepts
Demand Paging and ThrashingDemand Paging and Thrashing
Why does demand paging work?
Locality model
Process migrates from one locality to another
Localities may overlap
Why does thrashing occur?
Σ size of locality > total memory size
9.43 Silberschatz, Galvin and GagneOperating System Concepts
Locality In A Memory-Reference PatternLocality In A Memory-Reference Pattern
9.44 Silberschatz, Galvin and GagneOperating System Concepts
Working-Set ModelWorking-Set Model
∆ ≡ working-set window ≡ a fixed number of page references
Example: 10,000 instruction
WSSi (working set of Process Pi) =
total number of pages referenced in the most recent ∆ (varies
in time)
if ∆ too small will not encompass entire locality
if ∆ too large will encompass several localities
if ∆ = ∞ ⇒ will encompass entire program
D = Σ WSSi ≡ total demand frames
if D > m ⇒ Thrashing
Policy if D > m, then suspend one of the processes
9.45 Silberschatz, Galvin and GagneOperating System Concepts
Working-set modelWorking-set model
9.46 Silberschatz, Galvin and GagneOperating System Concepts
Keeping Track of the Working SetKeeping Track of the Working Set
Approximate with interval timer + a reference bit
Example: ∆ = 10,000
Timer interrupts after every 5000 time units
Keep in memory 2 bits for each page
Whenever a timer interrupts copy and sets the values of all
reference bits to 0
If one of the bits in memory = 1 ⇒ page in working set
Why is this not completely accurate?
Improvement = 10 bits and interrupt every 1000 time units
9.47 Silberschatz, Galvin and GagneOperating System Concepts
Page-Fault Frequency SchemePage-Fault Frequency Scheme
Establish “acceptable” page-fault rate
If actual rate too low, process loses frame
If actual rate too high, process gains frame
9.48 Silberschatz, Galvin and GagneOperating System Concepts
Memory-Mapped FilesMemory-Mapped Files
Memory-mapped file I/O allows file I/O to be treated as routine
memory access by mapping a disk block to a page in memory
A file is initially read using demand paging. A page-sized portion of
the file is read from the file system into a physical page.
Subsequent reads/writes to/from the file are treated as ordinary
memory accesses.
Simplifies file access by treating file I/O through memory rather
than read() write() system calls
Also allows several processes to map the same file allowing the
pages in memory to be shared
9.49 Silberschatz, Galvin and GagneOperating System Concepts
Memory Mapped FilesMemory Mapped Files
9.50 Silberschatz, Galvin and GagneOperating System Concepts
Memory-Mapped Files in JavaMemory-Mapped Files in Java
import java.io.*;
import java.nio.*;
import java.nio.channels.*;
public class MemoryMapReadOnly
{
// Assume the page size is 4 KB
public static final int PAGE SIZE = 4096;
public static void main(String args[]) throws IOException {
RandomAccessFile inFile = new RandomAccessFile(args[0],"r");
FileChannel in = inFile.getChannel();
MappedByteBuffer mappedBuffer =
in.map(FileChannel.MapMode.READ ONLY, 0, in.size());
long numPages = in.size() / (long)PAGE SIZE;
if (in.size() % PAGE SIZE > 0)
++numPages;
9.51 Silberschatz, Galvin and GagneOperating System Concepts
Memory-Mapped Files in Java (cont)Memory-Mapped Files in Java (cont)
// we will "touch" the first byte of every page
int position = 0;
for (long i = 0; i < numPages; i++) {
byte item = mappedBuffer.get(position);
position += PAGE SIZE;
}
in.close();
inFile.close();
}
}
The API for the map() method is as follows:
map(mode, position, size)
9.52 Silberschatz, Galvin and GagneOperating System Concepts
Other Issues -- PrepagingOther Issues -- Prepaging
Prepaging
To reduce the large number of page faults that occurs at process
startup
Prepage all or some of the pages a process will need, before
they are referenced
But if prepaged pages are unused, I/O and memory was wasted
Assume s pages are prepaged and α of the pages is used
 Is cost of s * α save pages faults > or < than the cost of
prepaging
s * (1- α) unnecessary pages?
 α near zero ⇒ prepaging loses
9.53 Silberschatz, Galvin and GagneOperating System Concepts
Other Issues – Page SizeOther Issues – Page Size
Page size selection must take into consideration:
fragmentation
table size
I/O overhead
locality
9.54 Silberschatz, Galvin and GagneOperating System Concepts
Other Issues – TLB ReachOther Issues – TLB Reach
TLB Reach - The amount of memory accessible from the TLB
TLB Reach = (TLB Size) X (Page Size)
Ideally, the working set of each process is stored in the TLB.
Otherwise there is a high degree of page faults.
Increase the Page Size. This may lead to an increase in
fragmentation as not all applications require a large page size
Provide Multiple Page Sizes. This allows applications that
require larger page sizes the opportunity to use them without
an increase in fragmentation.
9.55 Silberschatz, Galvin and GagneOperating System Concepts
Other Issues – Program StructureOther Issues – Program Structure
Program structure
Int[128,128] data;
Each row is stored in one page
Program 1
for (j = 0; j <128; j++)
for (i = 0; i < 128; i++)
data[i,j] = 0;
128 x 128 = 16,384 page faults
Program 2
for (i = 0; i < 128; i++)
for (j = 0; j < 128; j++)
data[i,j] = 0;
128 page faults
9.56 Silberschatz, Galvin and GagneOperating System Concepts
Other Issues – I/O interlockOther Issues – I/O interlock
I/O Interlock – Pages must sometimes be locked into
memory
Consider I/O. Pages that are used for copying a file from
a device must be locked from being selected for eviction
by a page replacement algorithm.
9.57 Silberschatz, Galvin and GagneOperating System Concepts
Reason Why Frames Used For I/O Must Be InReason Why Frames Used For I/O Must Be In
MemoryMemory
9.58 Silberschatz, Galvin and GagneOperating System Concepts
Operating System ExamplesOperating System Examples
Windows XP
Solaris
9.59 Silberschatz, Galvin and GagneOperating System Concepts
Windows XPWindows XP
Uses demand paging with clustering. Clustering brings in pages
surrounding the faulting page.
Processes are assigned working set minimum and working
set maximum
Working set minimum is the minimum number of pages the process
is guaranteed to have in memory
A process may be assigned as many pages up to its working set
maximum
When the amount of free memory in the system falls below a
threshold, automatic working set trimming is performed to
restore the amount of free memory
Working set trimming removes pages from processes that have
pages in excess of their working set minimum
9.60 Silberschatz, Galvin and GagneOperating System Concepts
SolarisSolaris
Maintains a list of free pages to assign faulting processes
Lotsfree – threshold parameter (amount of free memory) to begin
paging
Desfree – threshold parameter to increasing paging
Minfree – threshold parameter to being swapping
Paging is performed by pageout process
Pageout scans pages using modified clock algorithm
Scanrate is the rate at which pages are scanned. This ranges from
slowscan to fastscan
Pageout is called more frequently depending upon the amount of
free memory available
9.61 Silberschatz, Galvin and GagneOperating System Concepts
Solaris 2 Page ScannerSolaris 2 Page Scanner
End of Chapter 9End of Chapter 9

Contenu connexe

En vedette

Social Media and Web 2.0 for Emergency Medicine – the Luddiot’s guide
Social Media and Web 2.0 for Emergency Medicine – the Luddiot’s guideSocial Media and Web 2.0 for Emergency Medicine – the Luddiot’s guide
Social Media and Web 2.0 for Emergency Medicine – the Luddiot’s guidedreapadoirtas
 
Adhoc routing protocols
Adhoc routing protocolsAdhoc routing protocols
Adhoc routing protocolsSenthil Kanth
 
16.Distributed System Structure
16.Distributed System Structure16.Distributed System Structure
16.Distributed System StructureSenthil Kanth
 
wireless communication and networking Chapter 1
wireless communication and networking Chapter 1wireless communication and networking Chapter 1
wireless communication and networking Chapter 1Senthil Kanth
 
WAP- Wireless Application Protocol
WAP- Wireless Application ProtocolWAP- Wireless Application Protocol
WAP- Wireless Application ProtocolSenthil Kanth
 

En vedette (9)

Social Media and Web 2.0 for Emergency Medicine – the Luddiot’s guide
Social Media and Web 2.0 for Emergency Medicine – the Luddiot’s guideSocial Media and Web 2.0 for Emergency Medicine – the Luddiot’s guide
Social Media and Web 2.0 for Emergency Medicine – the Luddiot’s guide
 
14.Protection
14.Protection14.Protection
14.Protection
 
Adhoc routing protocols
Adhoc routing protocolsAdhoc routing protocols
Adhoc routing protocols
 
Ad network mediation guideline
Ad network mediation guidelineAd network mediation guideline
Ad network mediation guideline
 
5.CPU Scheduling
5.CPU Scheduling5.CPU Scheduling
5.CPU Scheduling
 
16.Distributed System Structure
16.Distributed System Structure16.Distributed System Structure
16.Distributed System Structure
 
wireless communication and networking Chapter 1
wireless communication and networking Chapter 1wireless communication and networking Chapter 1
wireless communication and networking Chapter 1
 
DSDV VS AODV
DSDV VS AODV DSDV VS AODV
DSDV VS AODV
 
WAP- Wireless Application Protocol
WAP- Wireless Application ProtocolWAP- Wireless Application Protocol
WAP- Wireless Application Protocol
 

Similaire à 9.Virtual Memory

Galvin-operating System(Ch10)
Galvin-operating System(Ch10)Galvin-operating System(Ch10)
Galvin-operating System(Ch10)dsuyal1
 
unit 4 virtual memory.ppt
unit 4 virtual memory.pptunit 4 virtual memory.ppt
unit 4 virtual memory.pptsaiPrasad758296
 
Ch10: Virtual Memory
Ch10: Virtual MemoryCh10: Virtual Memory
Ch10: Virtual MemoryAhmar Hashmi
 
advanced operating systems chapter 9 virtual memory
advanced operating systems chapter 9 virtual memoryadvanced operating systems chapter 9 virtual memory
advanced operating systems chapter 9 virtual memoryhozaifafadl
 
LecturePPT_Unit_3b_AY2021-22_TechngVrsn.ppt
LecturePPT_Unit_3b_AY2021-22_TechngVrsn.pptLecturePPT_Unit_3b_AY2021-22_TechngVrsn.ppt
LecturePPT_Unit_3b_AY2021-22_TechngVrsn.pptPhoenixEagles
 
Page Replacement Algorithms.pptx
Page Replacement Algorithms.pptxPage Replacement Algorithms.pptx
Page Replacement Algorithms.pptxinfomerlin
 
Virtualmemoryfinal 161019175858
Virtualmemoryfinal 161019175858Virtualmemoryfinal 161019175858
Virtualmemoryfinal 161019175858marangburu42
 
Virtual memoryfinal
Virtual memoryfinalVirtual memoryfinal
Virtual memoryfinalmarangburu42
 
Virtualmemorypre final-formatting-161019022904
Virtualmemorypre final-formatting-161019022904Virtualmemorypre final-formatting-161019022904
Virtualmemorypre final-formatting-161019022904marangburu42
 
Chapter 10 Operating Systems silberschatz
Chapter 10 Operating Systems silberschatzChapter 10 Operating Systems silberschatz
Chapter 10 Operating Systems silberschatzGiulianoRanauro
 

Similaire à 9.Virtual Memory (20)

Virtual memory
Virtual memoryVirtual memory
Virtual memory
 
ch9.ppt
ch9.pptch9.ppt
ch9.ppt
 
Ch9 Virtual Memory
Ch9 Virtual MemoryCh9 Virtual Memory
Ch9 Virtual Memory
 
Galvin-operating System(Ch10)
Galvin-operating System(Ch10)Galvin-operating System(Ch10)
Galvin-operating System(Ch10)
 
unit 4 virtual memory.ppt
unit 4 virtual memory.pptunit 4 virtual memory.ppt
unit 4 virtual memory.ppt
 
Ch9
Ch9Ch9
Ch9
 
Ch10: Virtual Memory
Ch10: Virtual MemoryCh10: Virtual Memory
Ch10: Virtual Memory
 
Ch08
Ch08Ch08
Ch08
 
advanced operating systems chapter 9 virtual memory
advanced operating systems chapter 9 virtual memoryadvanced operating systems chapter 9 virtual memory
advanced operating systems chapter 9 virtual memory
 
LecturePPT_Unit_3b_AY2021-22_TechngVrsn.ppt
LecturePPT_Unit_3b_AY2021-22_TechngVrsn.pptLecturePPT_Unit_3b_AY2021-22_TechngVrsn.ppt
LecturePPT_Unit_3b_AY2021-22_TechngVrsn.ppt
 
Memory Management
 Memory Management Memory Management
Memory Management
 
بيي
بييبيي
بيي
 
Page Replacement Algorithms.pptx
Page Replacement Algorithms.pptxPage Replacement Algorithms.pptx
Page Replacement Algorithms.pptx
 
Virtualmemoryfinal 161019175858
Virtualmemoryfinal 161019175858Virtualmemoryfinal 161019175858
Virtualmemoryfinal 161019175858
 
Virtual memoryfinal
Virtual memoryfinalVirtual memoryfinal
Virtual memoryfinal
 
Virtualmemorypre final-formatting-161019022904
Virtualmemorypre final-formatting-161019022904Virtualmemorypre final-formatting-161019022904
Virtualmemorypre final-formatting-161019022904
 
Ch09
Ch09Ch09
Ch09
 
Distributed Operating System_3
Distributed Operating System_3Distributed Operating System_3
Distributed Operating System_3
 
Ch8
Ch8Ch8
Ch8
 
Chapter 10 Operating Systems silberschatz
Chapter 10 Operating Systems silberschatzChapter 10 Operating Systems silberschatz
Chapter 10 Operating Systems silberschatz
 

Plus de Senthil Kanth

Wireless Communication and Networking by WilliamStallings Chap2
Wireless Communication and Networking  by WilliamStallings Chap2Wireless Communication and Networking  by WilliamStallings Chap2
Wireless Communication and Networking by WilliamStallings Chap2Senthil Kanth
 
WML Script by Shanti katta
WML Script by Shanti kattaWML Script by Shanti katta
WML Script by Shanti kattaSenthil Kanth
 
Introduction to Mobile Application Development
Introduction to Mobile Application DevelopmentIntroduction to Mobile Application Development
Introduction to Mobile Application DevelopmentSenthil Kanth
 
Introduction to wireless application protocol (wap)ogi
Introduction to wireless application protocol (wap)ogiIntroduction to wireless application protocol (wap)ogi
Introduction to wireless application protocol (wap)ogiSenthil Kanth
 
XML Programming WML by Dickson K.W. Chiu PhD, SMIEEE
XML Programming WML by Dickson K.W. Chiu PhD, SMIEEEXML Programming WML by Dickson K.W. Chiu PhD, SMIEEE
XML Programming WML by Dickson K.W. Chiu PhD, SMIEEESenthil Kanth
 
Wireless Application Protocol WAP by Alvinen
Wireless Application Protocol WAP by AlvinenWireless Application Protocol WAP by Alvinen
Wireless Application Protocol WAP by AlvinenSenthil Kanth
 
STOCK APPLICATION USING CORBA
STOCK APPLICATION USING CORBASTOCK APPLICATION USING CORBA
STOCK APPLICATION USING CORBASenthil Kanth
 
Zone Routing Protocol (ZRP)
Zone Routing Protocol (ZRP)Zone Routing Protocol (ZRP)
Zone Routing Protocol (ZRP)Senthil Kanth
 
12.mass stroage system
12.mass stroage system12.mass stroage system
12.mass stroage systemSenthil Kanth
 
11.file system implementation
11.file system implementation11.file system implementation
11.file system implementationSenthil Kanth
 
10.file system interface
10.file system interface10.file system interface
10.file system interfaceSenthil Kanth
 
6.Process Synchronization
6.Process Synchronization6.Process Synchronization
6.Process SynchronizationSenthil Kanth
 

Plus de Senthil Kanth (19)

Wireless Communication and Networking by WilliamStallings Chap2
Wireless Communication and Networking  by WilliamStallings Chap2Wireless Communication and Networking  by WilliamStallings Chap2
Wireless Communication and Networking by WilliamStallings Chap2
 
WML Script by Shanti katta
WML Script by Shanti kattaWML Script by Shanti katta
WML Script by Shanti katta
 
What is WAP?
What is WAP?What is WAP?
What is WAP?
 
Introduction to Mobile Application Development
Introduction to Mobile Application DevelopmentIntroduction to Mobile Application Development
Introduction to Mobile Application Development
 
Markup Languages
Markup Languages Markup Languages
Markup Languages
 
Introduction to wireless application protocol (wap)ogi
Introduction to wireless application protocol (wap)ogiIntroduction to wireless application protocol (wap)ogi
Introduction to wireless application protocol (wap)ogi
 
XML Programming WML by Dickson K.W. Chiu PhD, SMIEEE
XML Programming WML by Dickson K.W. Chiu PhD, SMIEEEXML Programming WML by Dickson K.W. Chiu PhD, SMIEEE
XML Programming WML by Dickson K.W. Chiu PhD, SMIEEE
 
Wireless Application Protocol WAP by Alvinen
Wireless Application Protocol WAP by AlvinenWireless Application Protocol WAP by Alvinen
Wireless Application Protocol WAP by Alvinen
 
HR QUESTIONS
HR QUESTIONSHR QUESTIONS
HR QUESTIONS
 
STOCK APPLICATION USING CORBA
STOCK APPLICATION USING CORBASTOCK APPLICATION USING CORBA
STOCK APPLICATION USING CORBA
 
RSA alogrithm
RSA alogrithmRSA alogrithm
RSA alogrithm
 
Zone Routing Protocol (ZRP)
Zone Routing Protocol (ZRP)Zone Routing Protocol (ZRP)
Zone Routing Protocol (ZRP)
 
13.IO systems
13.IO systems13.IO systems
13.IO systems
 
12.mass stroage system
12.mass stroage system12.mass stroage system
12.mass stroage system
 
11.file system implementation
11.file system implementation11.file system implementation
11.file system implementation
 
10.file system interface
10.file system interface10.file system interface
10.file system interface
 
7.Dead Locks
7.Dead Locks7.Dead Locks
7.Dead Locks
 
6.Process Synchronization
6.Process Synchronization6.Process Synchronization
6.Process Synchronization
 
4.Threads
4.Threads4.Threads
4.Threads
 

Dernier

ROLES IN A STAGE PRODUCTION in arts.pptx
ROLES IN A STAGE PRODUCTION in arts.pptxROLES IN A STAGE PRODUCTION in arts.pptx
ROLES IN A STAGE PRODUCTION in arts.pptxVanesaIglesias10
 
ANG SEKTOR NG agrikultura.pptx QUARTER 4
ANG SEKTOR NG agrikultura.pptx QUARTER 4ANG SEKTOR NG agrikultura.pptx QUARTER 4
ANG SEKTOR NG agrikultura.pptx QUARTER 4MiaBumagat1
 
Music 9 - 4th quarter - Vocal Music of the Romantic Period.pptx
Music 9 - 4th quarter - Vocal Music of the Romantic Period.pptxMusic 9 - 4th quarter - Vocal Music of the Romantic Period.pptx
Music 9 - 4th quarter - Vocal Music of the Romantic Period.pptxleah joy valeriano
 
ENG 5 Q4 WEEk 1 DAY 1 Restate sentences heard in one’s own words. Use appropr...
ENG 5 Q4 WEEk 1 DAY 1 Restate sentences heard in one’s own words. Use appropr...ENG 5 Q4 WEEk 1 DAY 1 Restate sentences heard in one’s own words. Use appropr...
ENG 5 Q4 WEEk 1 DAY 1 Restate sentences heard in one’s own words. Use appropr...JojoEDelaCruz
 
ISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITY
ISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITYISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITY
ISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITYKayeClaireEstoconing
 
Daily Lesson Plan in Mathematics Quarter 4
Daily Lesson Plan in Mathematics Quarter 4Daily Lesson Plan in Mathematics Quarter 4
Daily Lesson Plan in Mathematics Quarter 4JOYLYNSAMANIEGO
 
USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...
USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...
USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...Postal Advocate Inc.
 
Choosing the Right CBSE School A Comprehensive Guide for Parents
Choosing the Right CBSE School A Comprehensive Guide for ParentsChoosing the Right CBSE School A Comprehensive Guide for Parents
Choosing the Right CBSE School A Comprehensive Guide for Parentsnavabharathschool99
 
Influencing policy (training slides from Fast Track Impact)
Influencing policy (training slides from Fast Track Impact)Influencing policy (training slides from Fast Track Impact)
Influencing policy (training slides from Fast Track Impact)Mark Reed
 
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...Nguyen Thanh Tu Collection
 
THEORIES OF ORGANIZATION-PUBLIC ADMINISTRATION
THEORIES OF ORGANIZATION-PUBLIC ADMINISTRATIONTHEORIES OF ORGANIZATION-PUBLIC ADMINISTRATION
THEORIES OF ORGANIZATION-PUBLIC ADMINISTRATIONHumphrey A Beña
 
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...JhezDiaz1
 
Difference Between Search & Browse Methods in Odoo 17
Difference Between Search & Browse Methods in Odoo 17Difference Between Search & Browse Methods in Odoo 17
Difference Between Search & Browse Methods in Odoo 17Celine George
 
4.16.24 21st Century Movements for Black Lives.pptx
4.16.24 21st Century Movements for Black Lives.pptx4.16.24 21st Century Movements for Black Lives.pptx
4.16.24 21st Century Movements for Black Lives.pptxmary850239
 
Earth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice greatEarth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice greatYousafMalik24
 
Food processing presentation for bsc agriculture hons
Food processing presentation for bsc agriculture honsFood processing presentation for bsc agriculture hons
Food processing presentation for bsc agriculture honsManeerUddin
 
Integumentary System SMP B. Pharm Sem I.ppt
Integumentary System SMP B. Pharm Sem I.pptIntegumentary System SMP B. Pharm Sem I.ppt
Integumentary System SMP B. Pharm Sem I.pptshraddhaparab530
 
GRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTS
GRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTSGRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTS
GRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTSJoshuaGantuangco2
 

Dernier (20)

ROLES IN A STAGE PRODUCTION in arts.pptx
ROLES IN A STAGE PRODUCTION in arts.pptxROLES IN A STAGE PRODUCTION in arts.pptx
ROLES IN A STAGE PRODUCTION in arts.pptx
 
ANG SEKTOR NG agrikultura.pptx QUARTER 4
ANG SEKTOR NG agrikultura.pptx QUARTER 4ANG SEKTOR NG agrikultura.pptx QUARTER 4
ANG SEKTOR NG agrikultura.pptx QUARTER 4
 
Music 9 - 4th quarter - Vocal Music of the Romantic Period.pptx
Music 9 - 4th quarter - Vocal Music of the Romantic Period.pptxMusic 9 - 4th quarter - Vocal Music of the Romantic Period.pptx
Music 9 - 4th quarter - Vocal Music of the Romantic Period.pptx
 
ENG 5 Q4 WEEk 1 DAY 1 Restate sentences heard in one’s own words. Use appropr...
ENG 5 Q4 WEEk 1 DAY 1 Restate sentences heard in one’s own words. Use appropr...ENG 5 Q4 WEEk 1 DAY 1 Restate sentences heard in one’s own words. Use appropr...
ENG 5 Q4 WEEk 1 DAY 1 Restate sentences heard in one’s own words. Use appropr...
 
ISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITY
ISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITYISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITY
ISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITY
 
Daily Lesson Plan in Mathematics Quarter 4
Daily Lesson Plan in Mathematics Quarter 4Daily Lesson Plan in Mathematics Quarter 4
Daily Lesson Plan in Mathematics Quarter 4
 
USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...
USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...
USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...
 
YOUVE GOT EMAIL_FINALS_EL_DORADO_2024.pptx
YOUVE GOT EMAIL_FINALS_EL_DORADO_2024.pptxYOUVE GOT EMAIL_FINALS_EL_DORADO_2024.pptx
YOUVE GOT EMAIL_FINALS_EL_DORADO_2024.pptx
 
Choosing the Right CBSE School A Comprehensive Guide for Parents
Choosing the Right CBSE School A Comprehensive Guide for ParentsChoosing the Right CBSE School A Comprehensive Guide for Parents
Choosing the Right CBSE School A Comprehensive Guide for Parents
 
Influencing policy (training slides from Fast Track Impact)
Influencing policy (training slides from Fast Track Impact)Influencing policy (training slides from Fast Track Impact)
Influencing policy (training slides from Fast Track Impact)
 
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
 
THEORIES OF ORGANIZATION-PUBLIC ADMINISTRATION
THEORIES OF ORGANIZATION-PUBLIC ADMINISTRATIONTHEORIES OF ORGANIZATION-PUBLIC ADMINISTRATION
THEORIES OF ORGANIZATION-PUBLIC ADMINISTRATION
 
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...
 
Difference Between Search & Browse Methods in Odoo 17
Difference Between Search & Browse Methods in Odoo 17Difference Between Search & Browse Methods in Odoo 17
Difference Between Search & Browse Methods in Odoo 17
 
4.16.24 21st Century Movements for Black Lives.pptx
4.16.24 21st Century Movements for Black Lives.pptx4.16.24 21st Century Movements for Black Lives.pptx
4.16.24 21st Century Movements for Black Lives.pptx
 
Earth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice greatEarth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice great
 
Food processing presentation for bsc agriculture hons
Food processing presentation for bsc agriculture honsFood processing presentation for bsc agriculture hons
Food processing presentation for bsc agriculture hons
 
LEFT_ON_C'N_ PRELIMS_EL_DORADO_2024.pptx
LEFT_ON_C'N_ PRELIMS_EL_DORADO_2024.pptxLEFT_ON_C'N_ PRELIMS_EL_DORADO_2024.pptx
LEFT_ON_C'N_ PRELIMS_EL_DORADO_2024.pptx
 
Integumentary System SMP B. Pharm Sem I.ppt
Integumentary System SMP B. Pharm Sem I.pptIntegumentary System SMP B. Pharm Sem I.ppt
Integumentary System SMP B. Pharm Sem I.ppt
 
GRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTS
GRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTSGRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTS
GRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTS
 

9.Virtual Memory

  • 1. Chapter 9: Virtual MemoryChapter 9: Virtual Memory
  • 2. 9.2 Silberschatz, Galvin and GagneOperating System Concepts Chapter 9: Virtual MemoryChapter 9: Virtual Memory Background Demand Paging Process Creation Page Replacement Allocation of Frames Thrashing Demand Segmentation Operating System Examples
  • 3. 9.3 Silberschatz, Galvin and GagneOperating System Concepts BackgroundBackground Virtual memory – separation of user logical memory from physical memory. Only part of the program needs to be in memory for execution. Logical address space can therefore be much larger than physical address space. Allows address spaces to be shared by several processes. Allows for more efficient process creation. Virtual memory can be implemented via: Demand paging Demand segmentation
  • 4. 9.4 Silberschatz, Galvin and GagneOperating System Concepts Virtual Memory That is Larger Than PhysicalVirtual Memory That is Larger Than Physical MemoryMemory ⇒
  • 5. 9.5 Silberschatz, Galvin and GagneOperating System Concepts Virtual-address SpaceVirtual-address Space
  • 6. 9.6 Silberschatz, Galvin and GagneOperating System Concepts Shared Library Using Virtual MemoryShared Library Using Virtual Memory
  • 7. 9.7 Silberschatz, Galvin and GagneOperating System Concepts Demand PagingDemand Paging Bring a page into memory only when it is needed Less I/O needed Less memory needed Faster response More users Page is needed ⇒ reference to it invalid reference ⇒ abort not-in-memory ⇒ bring to memory
  • 8. 9.8 Silberschatz, Galvin and GagneOperating System Concepts Transfer of a Paged Memory to Contiguous DiskTransfer of a Paged Memory to Contiguous Disk SpaceSpace
  • 9. 9.9 Silberschatz, Galvin and GagneOperating System Concepts Valid-Invalid BitValid-Invalid Bit With each page table entry a valid–invalid bit is associated (1 ⇒ in-memory, 0 ⇒ not-in-memory) Initially valid–invalid but is set to 0 on all entries Example of a page table snapshot: During address translation, if valid–invalid bit in page table entry is 0 ⇒ page fault 1 1 1 1 0 0 0  Frame # valid-invalid bit page table
  • 10. 9.10 Silberschatz, Galvin and GagneOperating System Concepts Page Table When Some Pages Are Not in MainPage Table When Some Pages Are Not in Main MemoryMemory
  • 11. 9.11 Silberschatz, Galvin and GagneOperating System Concepts Page FaultPage Fault If there is ever a reference to a page, first reference will trap to OS ⇒ page fault OS looks at another table to decide: Invalid reference ⇒ abort. Just not in memory. Get empty frame. Swap page into frame. Reset tables, validation bit = 1. Restart instruction: Least Recently Used block move auto increment/decrement location
  • 12. 9.12 Silberschatz, Galvin and GagneOperating System Concepts Steps in Handling a Page FaultSteps in Handling a Page Fault
  • 13. 9.13 Silberschatz, Galvin and GagneOperating System Concepts What happens if there is no free frame?What happens if there is no free frame? Page replacement – find some page in memory, but not really in use, swap it out algorithm performance – want an algorithm which will result in minimum number of page faults Same page may be brought into memory several times
  • 14. 9.14 Silberschatz, Galvin and GagneOperating System Concepts Performance of Demand PagingPerformance 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)
  • 15. 9.15 Silberschatz, Galvin and GagneOperating System Concepts Demand Paging ExampleDemand Paging Example Memory access time = 1 microsecond 50% of the time the page that is being replaced has been modified and therefore needs to be swapped out Swap Page Time = 10 msec = 10,000 msec EAT = (1 – p) x 1 + p (15000) 1 + 15000P (in msec)
  • 16. 9.16 Silberschatz, Galvin and GagneOperating System Concepts Process CreationProcess Creation Virtual memory allows other benefits during process creation: - Copy-on-Write - Memory-Mapped Files (later)
  • 17. 9.17 Silberschatz, Galvin and GagneOperating System Concepts Copy-on-WriteCopy-on-Write Copy-on-Write (COW) allows both parent and child processes to initially share the same pages in memory If either process modifies a shared page, only then is the page copied COW allows more efficient process creation as only modified pages are copied Free pages are allocated from a pool of zeroed-out pages
  • 18. 9.18 Silberschatz, Galvin and GagneOperating System Concepts Page ReplacementPage Replacement Prevent over-allocation of memory by modifying page-fault service routine to include page replacement Use modify (dirty) bit to reduce overhead of page transfers – only modified pages are written to disk Page replacement completes separation between logical memory and physical memory – large virtual memory can be provided on a smaller physical memory
  • 19. 9.19 Silberschatz, Galvin and GagneOperating System Concepts Need For Page ReplacementNeed For Page Replacement
  • 20. 9.20 Silberschatz, Galvin and GagneOperating System Concepts Basic Page ReplacementBasic Page Replacement 1. Find the location of the desired page on disk 2. Find a free frame: - If there is a free frame, use it - If there is no free frame, use a page replacement algorithm to select a victim frame 3. Read the desired page into the (newly) free frame. Update the page and frame tables. 4. Restart the process
  • 21. 9.21 Silberschatz, Galvin and GagneOperating System Concepts Page ReplacementPage Replacement
  • 22. 9.22 Silberschatz, Galvin and GagneOperating System Concepts Page Replacement AlgorithmsPage Replacement Algorithms Want lowest page-fault rate Evaluate algorithm by running it on a particular string of memory references (reference string) and computing the number of page faults on that string In all our examples, the reference string is 1, 2, 3, 4, 1, 2, 5, 1, 2, 3, 4, 5
  • 23. 9.23 Silberschatz, Galvin and GagneOperating System Concepts Graph of Page Faults Versus The Number ofGraph of Page Faults Versus The Number of FramesFrames
  • 24. 9.24 Silberschatz, Galvin and GagneOperating System Concepts First-In-First-Out (FIFO) AlgorithmFirst-In-First-Out (FIFO) Algorithm Reference string: 1, 2, 3, 4, 1, 2, 5, 1, 2, 3, 4, 5 3 frames (3 pages can be in memory at a time per process) 4 frames FIFO Replacement – Belady’s Anomaly more frames ⇒ more page faults 1 2 3 1 2 3 4 1 2 5 3 4 9 page faults 1 2 3 1 2 3 5 1 2 4 5 10 page faults 44 3
  • 25. 9.25 Silberschatz, Galvin and GagneOperating System Concepts FIFO Page ReplacementFIFO Page Replacement
  • 26. 9.26 Silberschatz, Galvin and GagneOperating System Concepts FIFO Illustrating Belady’s AnomalyFIFO Illustrating Belady’s Anomaly
  • 27. 9.27 Silberschatz, Galvin and GagneOperating System Concepts Optimal AlgorithmOptimal Algorithm Replace page that will not be used for longest period of time 4 frames example 1, 2, 3, 4, 1, 2, 5, 1, 2, 3, 4, 5 How do you know this? Used for measuring how well your algorithm performs 1 2 3 4 6 page faults 4 5
  • 28. 9.28 Silberschatz, Galvin and GagneOperating System Concepts Optimal Page ReplacementOptimal Page Replacement
  • 29. 9.29 Silberschatz, Galvin and GagneOperating System Concepts Least Recently Used (LRU)Least Recently Used (LRU) AlgorithmAlgorithm Reference string: 1, 2, 3, 4, 1, 2, 5, 1, 2, 3, 4, 5 Counter implementation Every page entry has a counter; every time page is referenced through this entry, copy the clock into the counter When a page needs to be changed, look at the counters to determine which are to change 1 2 3 5 4 4 3 5
  • 30. 9.30 Silberschatz, Galvin and GagneOperating System Concepts LRU Page ReplacementLRU Page Replacement
  • 31. 9.31 Silberschatz, Galvin and GagneOperating System Concepts LRU Algorithm (Cont.)LRU Algorithm (Cont.) Stack implementation – keep a stack of page numbers in a double link form: Page referenced:  move it to the top  requires 6 pointers to be changed No search for replacement
  • 32. 9.32 Silberschatz, Galvin and GagneOperating System Concepts Use Of A Stack to Record The Most Recent PageUse Of A Stack to Record The Most Recent Page ReferencesReferences
  • 33. 9.33 Silberschatz, Galvin and GagneOperating System Concepts LRU Approximation AlgorithmsLRU Approximation Algorithms Reference bit With each page associate a bit, initially = 0 When page is referenced bit set to 1 Replace the one which is 0 (if one exists). We do not know the order, however. Second chance Need reference bit Clock replacement If page to be replaced (in clock order) has reference bit = 1 then:  set reference bit 0  leave page in memory  replace next page (in clock order), subject to same rules
  • 34. 9.34 Silberschatz, Galvin and GagneOperating System Concepts Second-Chance (clock) Page-ReplacementSecond-Chance (clock) Page-Replacement AlgorithmAlgorithm
  • 35. 9.35 Silberschatz, Galvin and GagneOperating System Concepts Counting AlgorithmsCounting Algorithms Keep a counter of the number of references that have been made to each page LFU Algorithm: replaces page with smallest count MFU Algorithm: based on the argument that the page with the smallest count was probably just brought in and has yet to be used
  • 36. 9.36 Silberschatz, Galvin and GagneOperating System Concepts Allocation of FramesAllocation of Frames Each process needs minimum number of pages Example: IBM 370 – 6 pages to handle SS MOVE instruction: instruction is 6 bytes, might span 2 pages 2 pages to handle from 2 pages to handle to Two major allocation schemes fixed allocation priority allocation
  • 37. 9.37 Silberschatz, Galvin and GagneOperating System Concepts Fixed AllocationFixed Allocation Equal allocation – For example, if there are 100 frames and 5 processes, give each process 20 frames. Proportional allocation – Allocate according to the size of process m S s pa m sS ps i ii i ii ×== = ∑= = forallocation framesofnumbertotal processofsize 5964 137 127 564 137 10 127 10 64 2 1 2 ≈×= ≈×= = = = a a s s m i
  • 38. 9.38 Silberschatz, Galvin and GagneOperating System Concepts Priority AllocationPriority Allocation Use a proportional allocation scheme using priorities rather than size If process Pi generates a page fault, select for replacement one of its frames select for replacement a frame from a process with lower priority number
  • 39. 9.39 Silberschatz, Galvin and GagneOperating System Concepts Global vs. Local AllocationGlobal vs. Local Allocation Global replacement – process selects a replacement frame from the set of all frames; one process can take a frame from another Local replacement – each process selects from only its own set of allocated frames
  • 40. 9.40 Silberschatz, Galvin and GagneOperating System Concepts ThrashingThrashing If a process does not have “enough” pages, the page-fault rate is very high. This leads to: low CPU utilization operating system thinks that it needs to increase the degree of multiprogramming another process added to the system Thrashing ≡ a process is busy swapping pages in and out
  • 41. 9.41 Silberschatz, Galvin and GagneOperating System Concepts Thrashing (Cont.)Thrashing (Cont.)
  • 42. 9.42 Silberschatz, Galvin and GagneOperating System Concepts Demand Paging and ThrashingDemand Paging and Thrashing Why does demand paging work? Locality model Process migrates from one locality to another Localities may overlap Why does thrashing occur? Σ size of locality > total memory size
  • 43. 9.43 Silberschatz, Galvin and GagneOperating System Concepts Locality In A Memory-Reference PatternLocality In A Memory-Reference Pattern
  • 44. 9.44 Silberschatz, Galvin and GagneOperating System Concepts Working-Set ModelWorking-Set Model ∆ ≡ working-set window ≡ a fixed number of page references Example: 10,000 instruction WSSi (working set of Process Pi) = total number of pages referenced in the most recent ∆ (varies in time) if ∆ too small will not encompass entire locality if ∆ too large will encompass several localities if ∆ = ∞ ⇒ will encompass entire program D = Σ WSSi ≡ total demand frames if D > m ⇒ Thrashing Policy if D > m, then suspend one of the processes
  • 45. 9.45 Silberschatz, Galvin and GagneOperating System Concepts Working-set modelWorking-set model
  • 46. 9.46 Silberschatz, Galvin and GagneOperating System Concepts Keeping Track of the Working SetKeeping Track of the Working Set Approximate with interval timer + a reference bit Example: ∆ = 10,000 Timer interrupts after every 5000 time units Keep in memory 2 bits for each page Whenever a timer interrupts copy and sets the values of all reference bits to 0 If one of the bits in memory = 1 ⇒ page in working set Why is this not completely accurate? Improvement = 10 bits and interrupt every 1000 time units
  • 47. 9.47 Silberschatz, Galvin and GagneOperating System Concepts Page-Fault Frequency SchemePage-Fault Frequency Scheme Establish “acceptable” page-fault rate If actual rate too low, process loses frame If actual rate too high, process gains frame
  • 48. 9.48 Silberschatz, Galvin and GagneOperating System Concepts Memory-Mapped FilesMemory-Mapped Files Memory-mapped file I/O allows file I/O to be treated as routine memory access by mapping a disk block to a page in memory A file is initially read using demand paging. A page-sized portion of the file is read from the file system into a physical page. Subsequent reads/writes to/from the file are treated as ordinary memory accesses. Simplifies file access by treating file I/O through memory rather than read() write() system calls Also allows several processes to map the same file allowing the pages in memory to be shared
  • 49. 9.49 Silberschatz, Galvin and GagneOperating System Concepts Memory Mapped FilesMemory Mapped Files
  • 50. 9.50 Silberschatz, Galvin and GagneOperating System Concepts Memory-Mapped Files in JavaMemory-Mapped Files in Java import java.io.*; import java.nio.*; import java.nio.channels.*; public class MemoryMapReadOnly { // Assume the page size is 4 KB public static final int PAGE SIZE = 4096; public static void main(String args[]) throws IOException { RandomAccessFile inFile = new RandomAccessFile(args[0],"r"); FileChannel in = inFile.getChannel(); MappedByteBuffer mappedBuffer = in.map(FileChannel.MapMode.READ ONLY, 0, in.size()); long numPages = in.size() / (long)PAGE SIZE; if (in.size() % PAGE SIZE > 0) ++numPages;
  • 51. 9.51 Silberschatz, Galvin and GagneOperating System Concepts Memory-Mapped Files in Java (cont)Memory-Mapped Files in Java (cont) // we will "touch" the first byte of every page int position = 0; for (long i = 0; i < numPages; i++) { byte item = mappedBuffer.get(position); position += PAGE SIZE; } in.close(); inFile.close(); } } The API for the map() method is as follows: map(mode, position, size)
  • 52. 9.52 Silberschatz, Galvin and GagneOperating System Concepts Other Issues -- PrepagingOther Issues -- Prepaging Prepaging To reduce the large number of page faults that occurs at process startup Prepage all or some of the pages a process will need, before they are referenced But if prepaged pages are unused, I/O and memory was wasted Assume s pages are prepaged and α of the pages is used  Is cost of s * α save pages faults > or < than the cost of prepaging s * (1- α) unnecessary pages?  α near zero ⇒ prepaging loses
  • 53. 9.53 Silberschatz, Galvin and GagneOperating System Concepts Other Issues – Page SizeOther Issues – Page Size Page size selection must take into consideration: fragmentation table size I/O overhead locality
  • 54. 9.54 Silberschatz, Galvin and GagneOperating System Concepts Other Issues – TLB ReachOther Issues – TLB Reach TLB Reach - The amount of memory accessible from the TLB TLB Reach = (TLB Size) X (Page Size) Ideally, the working set of each process is stored in the TLB. Otherwise there is a high degree of page faults. Increase the Page Size. This may lead to an increase in fragmentation as not all applications require a large page size Provide Multiple Page Sizes. This allows applications that require larger page sizes the opportunity to use them without an increase in fragmentation.
  • 55. 9.55 Silberschatz, Galvin and GagneOperating System Concepts Other Issues – Program StructureOther Issues – Program Structure Program structure Int[128,128] data; Each row is stored in one page Program 1 for (j = 0; j <128; j++) for (i = 0; i < 128; i++) data[i,j] = 0; 128 x 128 = 16,384 page faults Program 2 for (i = 0; i < 128; i++) for (j = 0; j < 128; j++) data[i,j] = 0; 128 page faults
  • 56. 9.56 Silberschatz, Galvin and GagneOperating System Concepts Other Issues – I/O interlockOther Issues – I/O interlock I/O Interlock – Pages must sometimes be locked into memory Consider I/O. Pages that are used for copying a file from a device must be locked from being selected for eviction by a page replacement algorithm.
  • 57. 9.57 Silberschatz, Galvin and GagneOperating System Concepts Reason Why Frames Used For I/O Must Be InReason Why Frames Used For I/O Must Be In MemoryMemory
  • 58. 9.58 Silberschatz, Galvin and GagneOperating System Concepts Operating System ExamplesOperating System Examples Windows XP Solaris
  • 59. 9.59 Silberschatz, Galvin and GagneOperating System Concepts Windows XPWindows XP Uses demand paging with clustering. Clustering brings in pages surrounding the faulting page. Processes are assigned working set minimum and working set maximum Working set minimum is the minimum number of pages the process is guaranteed to have in memory A process may be assigned as many pages up to its working set maximum When the amount of free memory in the system falls below a threshold, automatic working set trimming is performed to restore the amount of free memory Working set trimming removes pages from processes that have pages in excess of their working set minimum
  • 60. 9.60 Silberschatz, Galvin and GagneOperating System Concepts SolarisSolaris Maintains a list of free pages to assign faulting processes Lotsfree – threshold parameter (amount of free memory) to begin paging Desfree – threshold parameter to increasing paging Minfree – threshold parameter to being swapping Paging is performed by pageout process Pageout scans pages using modified clock algorithm Scanrate is the rate at which pages are scanned. This ranges from slowscan to fastscan Pageout is called more frequently depending upon the amount of free memory available
  • 61. 9.61 Silberschatz, Galvin and GagneOperating System Concepts Solaris 2 Page ScannerSolaris 2 Page Scanner
  • 62. End of Chapter 9End of Chapter 9