0% found this document useful (0 votes)
21 views

Os Unit 5 Part 2

Virtual memory allows for a larger logical memory space than physical memory by paging portions of programs between main memory and secondary storage. This is implemented through demand paging, where pages are swapped in from disk as needed. When a page is accessed that is not in memory, a page fault occurs which triggers the operating system to select a page from memory to swap out to disk, swap the requested page into memory, and resume execution. Page replacement algorithms aim to minimize page faults by selecting pages least likely to be used soon.

Uploaded by

Ansh Agrawal
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
21 views

Os Unit 5 Part 2

Virtual memory allows for a larger logical memory space than physical memory by paging portions of programs between main memory and secondary storage. This is implemented through demand paging, where pages are swapped in from disk as needed. When a page is accessed that is not in memory, a page fault occurs which triggers the operating system to select a page from memory to swap out to disk, swap the requested page into memory, and resume execution. Page replacement algorithms aim to minimize page faults by selecting pages least likely to be used soon.

Uploaded by

Ansh Agrawal
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 29

UNIT 5 : Virtual Memory

Operating System Concepts – 8th Edition Silberschatz, Galvin and Gagne ©2009
Background
● Virtual memory – involves the separation of logical memory as
perceived by users from physical memory.
● This separation allows an extremely large virtual memory to be
provided for programmers when only a smaller physical
memory is available
● Virtual memory makes the task of programming much easier,
because the programmer no longer needs to worry about the
amount of physical memory available;
● Only part of the program needs to be in memory for execution
● Logical address space can therefore be much larger than
physical address space

Operating System Concepts – 8th Edition 9.2 Silberschatz, Galvin and Gagne ©2009
● Allows address spaces to be shared by several processes
● Virtual memory can be implemented via:
● Demand paging
● Demand segmentation

Operating System Concepts – 8th Edition 9.3 Silberschatz, Galvin and Gagne ©2009
Virtual Memory That is
Larger Than Physical Memory

Operating System Concepts – 8th Edition 9.4 Silberschatz, Galvin and Gagne ©2009
Demand Paging

● Bring a page into memory only when it is needed


Less I/O needed

● Less memory needed
● Faster response (no need to wait for all pages to load)
● More users
● Page is needed ⇒ reference to it
● invalid reference ⇒ abort
● not-in-memory ⇒ bring to memory
● Lazy swapper – never swaps a page into memory unless
page will be needed
● Swapper that deals with pages is a pager

Operating System Concepts – 8th Edition 9.5 Silberschatz, Galvin and Gagne ©2009
Valid-Invalid Bit
● With each page table entry a valid–invalid bit is associated
(v ⇒ in-memory, i ⇒ not-in-memory)
● Initially valid–invalid bit is set to i on all entries
● Example of a page table snapshot:
Frame # valid-invalid bit
v
v
v
v
i
….
i
i
page table
● During address translation, if valid–invalid bit in page table entry
is I ⇒ page fault

Operating System Concepts – 8th Edition 9.6 Silberschatz, Galvin and Gagne ©2009
Page Table When Some Pages
Are Not in Main Memory

Operating System Concepts – 8th Edition 9.7 Silberschatz, Galvin and Gagne ©2009
Page Fault

● If there is a reference to a page, first reference to that


page will trap to operating system:
page fault
1. Operating system looks at another table to decide:
● Invalid reference ⇒ abort
● Just not in memory
2. Get empty frame
3. Swap page into frame
4. Reset tables
5. Set validation bit = v
6. Restart the instruction that caused the page fault

Operating System Concepts – 8th Edition 9.8 Silberschatz, Galvin and Gagne ©2009
Steps in Handling a Page Fault

Operating System Concepts – 8th Edition 9.9 Silberschatz, Galvin and Gagne ©2009
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
)(page fault service time)

Operating System Concepts – 8th Edition 9.10 Silberschatz, Galvin and Gagne ©2009
Demand Paging Example
● Memory access time = 200 nanoseconds
● Average page-fault service time = 8 milliseconds
● EAT = (1 – p) x 200 + p (8 milliseconds)
= (1 – p x 200 + p x 8,000,000
= 200 + p x 7,999,800

Suppose page fault rate=40%(p)


=0.40

Operating System Concepts – 8th Edition 9.11 Silberschatz, Galvin and Gagne ©2009
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

Operating System Concepts – 8th Edition 9.12 Silberschatz, Galvin and Gagne ©2009
Page 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

Operating System Concepts – 8th Edition 9.13 Silberschatz, Galvin and Gagne ©2009
Need For Page Replacement

Operating System Concepts – 8th Edition 9.14 Silberschatz, Galvin and Gagne ©2009
Basic 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. Bring the desired page into the (newly) free frame;
update the page and frame tables
4. Restart the process

Operating System Concepts – 8th Edition 9.15 Silberschatz, Galvin and Gagne ©2009
Page Replacement

Operating System Concepts – 8th Edition 9.16 Silberschatz, Galvin and Gagne ©2009
Page 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

Operating System Concepts – 8th Edition 9.17 Silberschatz, Galvin and Gagne ©2009
First-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)

1 1
2 2 9 page faults
3 3

1 1
2 2 10 page faults
● 4 frames
3 3

4 4

● Belady’s Anomaly: more frames ⇒ more page faults


Operating System Concepts – 8th Edition 9.18 Silberschatz, Galvin and Gagne ©2009
Graph of Expected Page Faults Versus
The Number of Frames

Operating System Concepts – 8th Edition 9.19 Silberschatz, Galvin and Gagne ©2009
FIFO Illustrating Belady’s Anomaly

Operating System Concepts – 8th Edition 9.20 Silberschatz, Galvin and Gagne ©2009
FIFO Page Replacement

Operating System Concepts – 8th Edition 9.21 Silberschatz, Galvin and Gagne ©2009
Optimal 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

2 6 page faults
3

❑ Unfortunately, the optimal page-replacement algorithm is


difficult to implement, because it requires future knowledge of
the reference string
● Used for measuring how well your algorithm performs
Operating System Concepts – 8th Edition 9.22 Silberschatz, Galvin and Gagne ©2009
Optimal Page Replacement

Operating System Concepts – 8th Edition 9.23 Silberschatz, Galvin and Gagne ©2009
Least Recently Used (LRU) Algorithm
● we can replace the page that has not been used for the longest
period of time
1 1 1 1 5

2 2 2 2 2
3 5 5 4 4
4 4 3 3 3

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

Operating System Concepts – 8th Edition 9.24 Silberschatz, Galvin and Gagne ©2009
LRU Page Replacement

Operating System Concepts – 8th Edition 9.25 Silberschatz, Galvin and Gagne ©2009
Global vs. Local Allocation

● With multiple processes competing for frames, we can


classify page-replacement algorithms into two broad
categories: Global and local Replacement
● Global replacement – process selects a replacement
frame from the set of all frames,even if that frame is
currently allocated to some other process; that is, one
process can take a frame from another.
● Local replacement – each process selects from only its
own set of allocated frames

Operating System Concepts – 8th Edition 9.26 Silberschatz, Galvin and Gagne ©2009
Thrashing
● If a process does not have “enough” pages in MM, 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
Cause of Thrashing
● High page fault rate is trashing
● Trashing occur because of increasing of degree of
multiprogramming
● a process is busy swapping pages in and out
● Lack of Frames

Operating System Concepts – 8th Edition 9.27 Silberschatz, Galvin and Gagne ©2009
Thrashing (Cont.)

Operating System Concepts – 8th Edition 9.28 Silberschatz, Galvin and Gagne ©2009
Recovery of trashing
●Instruct the long term scheduler not to bring the processes into
the memory after particular threshold
●Instruct the medium term scheduler to suspend some of the
processes so that we can recover the system from thrashing
●Increase the size of Main memory

Operating System Concepts – 8th Edition 9.29 Silberschatz, Galvin and Gagne ©2009

You might also like