Professional Documents
Culture Documents
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
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
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
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
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
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
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
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
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
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
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