SlideShare a Scribd company logo
COURSE NAME : OPERATING SYSTEM
COURSE CODE : 381CCS-3
CHAPTER 7 : VIRTUAL MEMORY
SUBJECT COORDINATOR: DR. ANAND DEVADURAI
SUBJECT TEACHER: MRS. MARIYAM AYSHA BIVI
DEPARTMENT OF COMPUTER SCIENCE
KING KHALID UNIVERSITY
ABHA, KSA.
REFERENCE DETAIL FOR CHAPTER 6
Topic Text Reference Chapter No. Page No
Virtual Memory
“Operating System
Concepts”, 10th Edition,
Abraham SilberSchatz,
Peter Baer Galvin,
Greg Gagne, Wiley, 2018
Chapter 10
389-399
401-412
2
 Background 399 (501 to 511)
 Demand Paging 10.2
 Basic Concept
 Free-Frame list
 Performance of Demand paging
 Page Replacement 10.4
 Basic Page Replacement (401 - 412 : 513 to 524)
 FIFO Page Replacement
 Optimal Page Replacement
 LRU Page Replacement
 Counting-Based Page Replacement
CHAPTER 7 : VIRTUAL MEMORY
7.1 BACKGROUND
3
 Code needs to be in memory to execute, but entire program rarely used
• Error code, unusual routines, large data structures
 Entire program code not needed at same time
 Virtual memory
• It is a scheme that allows a process to execute while it is only partially
in memory,
 Advantages of Virtual memory
• Program no longer constrained by limits of physical memory
• Logical address space will be larger than physical address space Process
size can exceed the physical memory size
• Less I/O needed
• Less memory needed
• Faster response
• More programs running concurrently
• Increased CPU utilization and throughput
 Disadvantages of Virtual memory
• Many page faults when a process is started but should decrease as
more pages are brought in
7.1 BACKGROUND(CONT…)
4
 Virtual address space: logical/virtual) view of how process is stored in memory
 start at address 0, contiguous addresses until end of space
 Physical memory is organized in page frames, assigned to a process may not be
contiguous. Memory Management Unit must map logical to physical
 The heap grow upward used for dynamic memory allocation and the stack grow
downward in memory through successive function calls.
 Virtual address spaces that include holes are known as sparse address spaces..
Figure 7.1 Virtual address space
of a process in memory Figure 7.2 Shared library using virtual memory.
7.2 DEMAND PAGING
5
 Load pages only as they are needed is known as Demand Paging, commonly
used in virtual memory systems.
7.2.1 BASIC CONCEPT
 With each page table entry a valid–invalid bit is associated
(v  in-memory – memory resident, i  not-in-memory)
 Initially valid–invalid bit is set to i on all entries
 During MMU address translation, if valid–invalid bit in is i  page fault
Figure 7.3 Page table when some pages are not in main memory.
6
STEPS IN HANDLING A PAGE FAULT
1. If there is a reference to a page, first reference to that page will trap to operating
system Page fault
2. Operating system looks at another table to decide:
Invalid reference  abort, Just not in memory
3. Find free frame
4. Swap page into frame via scheduled disk operation
5. Reset tables to indicate page now in memory, Set validation bit = v
6. Restart the instruction that caused the page fault
Figure 7.3 Page table when some pages are not in main memory.
7.2.2 FREE-FRAME LIST
7
 When a page fault occurs, the operating system must bring the desired page from
secondary storage into main memory.
 Most operating systems maintain a free-frame list -- a pool of free frames for
satisfying such requests.
 Operating system typically allocate free frames using a technique known as zero-
fill-on-demand -- the content of the frames zeroed-out before being allocated.
 When a system starts up, all available memory is placed on the free-frame list.
7.2.2 PERFORMANCE OF DEMAND PAGING
 Page Fault Rate 0  p  1,if p = 0 no page faults, if p = 1, every reference is a fault
 Effective Access Time (EAT) = (1 − p) × ma + p × page fault time.
 Example: If one access out of 1,000 causes a page fault, Memory access time =
200 nanoseconds, Average page-fault service time = 8 milliseconds Compute EAT
EAT = (1 – p) x 200 + p (8 milliseconds)
= (1 – p) x 200 + p x 8,000,000
= 200 – 200 p + 8,000,000 p =
= 200 + p x 7,999,800
= 200 + (1/1000) x 7,999,800 = 8,199.8 milli Seconds
EAT = 8,199.8 /1000 = 8.2 microseconds.
7.3 PAGE REPLACEMENT
8
 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
7.3.1 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 no free frame, use a page replacement
algorithm to select a victim frame
- Write victim frame to disk if dirty
3. Bring the desired page into the (newly) free
frame; update the page and frame tables
4. Continue the process by restarting the
instruction that caused the trap
7.3.2 FIFO PAGE REPLACEMENT ALGORITHM
9
 When a page must be replaced, the oldest page is chosen.
 Reference string: 7,0,1,2,0,3,0,4,2,3,0,3,0,3,2,1,2,0,1,7,0,1
 3 frames (3 pages can be in memory at a time per process)
 Page Fault = 15
 Can vary by reference string: consider 1,2,3,4,1,2,5,1,2,3,4,5
• Adding more frames can cause more page faults!
 Belady’s Anomaly
 How to track ages of pages?
• Just use a FIFO queue
7.3.3 OPTIMAL PAGE REPLACEMENT ALGORITHM
1
0
 Replace page that will not be used for longest period of time
• 9 is optimal for the example
 How do you know this?
• Can’t read the future
 Used for measuring how well your algorithm performs
 Page Fault = 9
7.3.4 LEAST RECENTLY USED (LRU) ALGORITHM
11
 Replace page that has not been used in the most amount of time
 Associate time of last use with each page
 Page Fault = 12, Better than FIFO but worse than OPT
 Generally good algorithm and frequently used
7.3.5 COUNTING BASED PAGE REPLACEMENT ALGORITHM
 Lease Frequently Used (LFU) Algorithm:
• Replaces page with smallest count
 Most Frequently Used (MFU) Algorithm:
• Based on the argument that the page with the smallest count was
probably just brought in and has yet to be used

More Related Content

PDF
381 ccs chapter6_updated(2)
PDF
381 ccs chapter8_updated(1)
PPT
PPTX
Storage Management
PPTX
VIRTUAL MEMORY
PPTX
Demand paging
PDF
PPT
40 demand paging
381 ccs chapter6_updated(2)
381 ccs chapter8_updated(1)
Storage Management
VIRTUAL MEMORY
Demand paging
40 demand paging

What's hot (20)

PPT
Thrashing allocation frames.43
PPTX
basics of virtual memory
PPTX
Postgresql Database Administration Basic - Day1
PPTX
Forecasting database performance
PDF
Mysql database basic user guide
PPTX
Neptune Distributed Data System
PDF
An Empirical Study of Hot/Cold Data Separation Policies in Solid State Drives...
PDF
Virtual memory
PDF
MySQL database replication
PDF
PGConf.ASIA 2019 Bali - Building PostgreSQL as a Service with Kubernetes - Ta...
PPTX
Virtual memory ,Allocaton of frame & Trashing
PDF
PGConf.ASIA 2019 Bali - Tune Your LInux Box, Not Just PostgreSQL - Ibrar Ahmed
PPTX
Virtual memory and page replacement algorithm
KEY
Tek tutorial
PPT
Virtual memory
PPTX
I/O buffering & disk scheduling
PDF
Countdown to PostgreSQL v9.5 - Foriegn Tables can be part of Inheritance Tree
PPTX
Memory Hierarchy Design, Basics, Cache Optimization, Address Translation
PPTX
Project Presentation Final
PPTX
W1.1 i os in database
Thrashing allocation frames.43
basics of virtual memory
Postgresql Database Administration Basic - Day1
Forecasting database performance
Mysql database basic user guide
Neptune Distributed Data System
An Empirical Study of Hot/Cold Data Separation Policies in Solid State Drives...
Virtual memory
MySQL database replication
PGConf.ASIA 2019 Bali - Building PostgreSQL as a Service with Kubernetes - Ta...
Virtual memory ,Allocaton of frame & Trashing
PGConf.ASIA 2019 Bali - Tune Your LInux Box, Not Just PostgreSQL - Ibrar Ahmed
Virtual memory and page replacement algorithm
Tek tutorial
Virtual memory
I/O buffering & disk scheduling
Countdown to PostgreSQL v9.5 - Foriegn Tables can be part of Inheritance Tree
Memory Hierarchy Design, Basics, Cache Optimization, Address Translation
Project Presentation Final
W1.1 i os in database
Ad

Similar to 381 ccs chapter7_updated(1) (20)

PDF
CH09.pdf
DOCX
Module4
PPT
Unit 2chapter 2 memory mgmt complete
PPT
Mca ii os u-4 memory management
PPT
Chapter 9 - Virtual Memory
PPTX
Virtual Memory Managementddddddddffffffffffffff.pptx
PDF
Distributed Operating System_3
PPT
Ch10 OS
 
PPTX
Virtual memory management in Operating System
DOCX
virtual memory
DOCX
Virtual memoryfinal
DOCX
Virtualmemoryfinal 161019175858
PPTX
CHAPTER 2 - Operating systems Virtual Memory.pptx
DOCX
Virtual memory pre-final-formatting
PPTX
Virtual Memory Management
DOCX
Virtualmemorypre final-formatting-161019022904
PPT
PPTX
Lecture 8- Virtual Memory Final.pptx
CH09.pdf
Module4
Unit 2chapter 2 memory mgmt complete
Mca ii os u-4 memory management
Chapter 9 - Virtual Memory
Virtual Memory Managementddddddddffffffffffffff.pptx
Distributed Operating System_3
Ch10 OS
 
Virtual memory management in Operating System
virtual memory
Virtual memoryfinal
Virtualmemoryfinal 161019175858
CHAPTER 2 - Operating systems Virtual Memory.pptx
Virtual memory pre-final-formatting
Virtual Memory Management
Virtualmemorypre final-formatting-161019022904
Lecture 8- Virtual Memory Final.pptx
Ad

Recently uploaded (20)

PPTX
UNIT 4 Total Quality Management .pptx
PDF
Unit I ESSENTIAL OF DIGITAL MARKETING.pdf
PPTX
Foundation to blockchain - A guide to Blockchain Tech
PPTX
Infosys Presentation by1.Riyan Bagwan 2.Samadhan Naiknavare 3.Gaurav Shinde 4...
PPTX
Engineering Ethics, Safety and Environment [Autosaved] (1).pptx
PDF
PPT on Performance Review to get promotions
PDF
BMEC211 - INTRODUCTION TO MECHATRONICS-1.pdf
PPTX
M Tech Sem 1 Civil Engineering Environmental Sciences.pptx
PPTX
Current and future trends in Computer Vision.pptx
PPTX
Artificial Intelligence
PDF
PRIZ Academy - 9 Windows Thinking Where to Invest Today to Win Tomorrow.pdf
PDF
Evaluating the Democratization of the Turkish Armed Forces from a Normative P...
PPTX
Safety Seminar civil to be ensured for safe working.
PPTX
Geodesy 1.pptx...............................................
PDF
TFEC-4-2020-Design-Guide-for-Timber-Roof-Trusses.pdf
PPTX
CYBER-CRIMES AND SECURITY A guide to understanding
PDF
Enhancing Cyber Defense Against Zero-Day Attacks using Ensemble Neural Networks
PPTX
Internet of Things (IOT) - A guide to understanding
PDF
The CXO Playbook 2025 – Future-Ready Strategies for C-Suite Leaders Cerebrai...
PPTX
UNIT-1 - COAL BASED THERMAL POWER PLANTS
UNIT 4 Total Quality Management .pptx
Unit I ESSENTIAL OF DIGITAL MARKETING.pdf
Foundation to blockchain - A guide to Blockchain Tech
Infosys Presentation by1.Riyan Bagwan 2.Samadhan Naiknavare 3.Gaurav Shinde 4...
Engineering Ethics, Safety and Environment [Autosaved] (1).pptx
PPT on Performance Review to get promotions
BMEC211 - INTRODUCTION TO MECHATRONICS-1.pdf
M Tech Sem 1 Civil Engineering Environmental Sciences.pptx
Current and future trends in Computer Vision.pptx
Artificial Intelligence
PRIZ Academy - 9 Windows Thinking Where to Invest Today to Win Tomorrow.pdf
Evaluating the Democratization of the Turkish Armed Forces from a Normative P...
Safety Seminar civil to be ensured for safe working.
Geodesy 1.pptx...............................................
TFEC-4-2020-Design-Guide-for-Timber-Roof-Trusses.pdf
CYBER-CRIMES AND SECURITY A guide to understanding
Enhancing Cyber Defense Against Zero-Day Attacks using Ensemble Neural Networks
Internet of Things (IOT) - A guide to understanding
The CXO Playbook 2025 – Future-Ready Strategies for C-Suite Leaders Cerebrai...
UNIT-1 - COAL BASED THERMAL POWER PLANTS

381 ccs chapter7_updated(1)

  • 1. COURSE NAME : OPERATING SYSTEM COURSE CODE : 381CCS-3 CHAPTER 7 : VIRTUAL MEMORY SUBJECT COORDINATOR: DR. ANAND DEVADURAI SUBJECT TEACHER: MRS. MARIYAM AYSHA BIVI DEPARTMENT OF COMPUTER SCIENCE KING KHALID UNIVERSITY ABHA, KSA. REFERENCE DETAIL FOR CHAPTER 6 Topic Text Reference Chapter No. Page No Virtual Memory “Operating System Concepts”, 10th Edition, Abraham SilberSchatz, Peter Baer Galvin, Greg Gagne, Wiley, 2018 Chapter 10 389-399 401-412
  • 2. 2  Background 399 (501 to 511)  Demand Paging 10.2  Basic Concept  Free-Frame list  Performance of Demand paging  Page Replacement 10.4  Basic Page Replacement (401 - 412 : 513 to 524)  FIFO Page Replacement  Optimal Page Replacement  LRU Page Replacement  Counting-Based Page Replacement CHAPTER 7 : VIRTUAL MEMORY
  • 3. 7.1 BACKGROUND 3  Code needs to be in memory to execute, but entire program rarely used • Error code, unusual routines, large data structures  Entire program code not needed at same time  Virtual memory • It is a scheme that allows a process to execute while it is only partially in memory,  Advantages of Virtual memory • Program no longer constrained by limits of physical memory • Logical address space will be larger than physical address space Process size can exceed the physical memory size • Less I/O needed • Less memory needed • Faster response • More programs running concurrently • Increased CPU utilization and throughput  Disadvantages of Virtual memory • Many page faults when a process is started but should decrease as more pages are brought in
  • 4. 7.1 BACKGROUND(CONT…) 4  Virtual address space: logical/virtual) view of how process is stored in memory  start at address 0, contiguous addresses until end of space  Physical memory is organized in page frames, assigned to a process may not be contiguous. Memory Management Unit must map logical to physical  The heap grow upward used for dynamic memory allocation and the stack grow downward in memory through successive function calls.  Virtual address spaces that include holes are known as sparse address spaces.. Figure 7.1 Virtual address space of a process in memory Figure 7.2 Shared library using virtual memory.
  • 5. 7.2 DEMAND PAGING 5  Load pages only as they are needed is known as Demand Paging, commonly used in virtual memory systems. 7.2.1 BASIC CONCEPT  With each page table entry a valid–invalid bit is associated (v  in-memory – memory resident, i  not-in-memory)  Initially valid–invalid bit is set to i on all entries  During MMU address translation, if valid–invalid bit in is i  page fault Figure 7.3 Page table when some pages are not in main memory.
  • 6. 6 STEPS IN HANDLING A PAGE FAULT 1. If there is a reference to a page, first reference to that page will trap to operating system Page fault 2. Operating system looks at another table to decide: Invalid reference  abort, Just not in memory 3. Find free frame 4. Swap page into frame via scheduled disk operation 5. Reset tables to indicate page now in memory, Set validation bit = v 6. Restart the instruction that caused the page fault Figure 7.3 Page table when some pages are not in main memory.
  • 7. 7.2.2 FREE-FRAME LIST 7  When a page fault occurs, the operating system must bring the desired page from secondary storage into main memory.  Most operating systems maintain a free-frame list -- a pool of free frames for satisfying such requests.  Operating system typically allocate free frames using a technique known as zero- fill-on-demand -- the content of the frames zeroed-out before being allocated.  When a system starts up, all available memory is placed on the free-frame list. 7.2.2 PERFORMANCE OF DEMAND PAGING  Page Fault Rate 0  p  1,if p = 0 no page faults, if p = 1, every reference is a fault  Effective Access Time (EAT) = (1 − p) × ma + p × page fault time.  Example: If one access out of 1,000 causes a page fault, Memory access time = 200 nanoseconds, Average page-fault service time = 8 milliseconds Compute EAT EAT = (1 – p) x 200 + p (8 milliseconds) = (1 – p) x 200 + p x 8,000,000 = 200 – 200 p + 8,000,000 p = = 200 + p x 7,999,800 = 200 + (1/1000) x 7,999,800 = 8,199.8 milli Seconds EAT = 8,199.8 /1000 = 8.2 microseconds.
  • 8. 7.3 PAGE REPLACEMENT 8  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 7.3.1 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 no free frame, use a page replacement algorithm to select a victim frame - Write victim frame to disk if dirty 3. Bring the desired page into the (newly) free frame; update the page and frame tables 4. Continue the process by restarting the instruction that caused the trap
  • 9. 7.3.2 FIFO PAGE REPLACEMENT ALGORITHM 9  When a page must be replaced, the oldest page is chosen.  Reference string: 7,0,1,2,0,3,0,4,2,3,0,3,0,3,2,1,2,0,1,7,0,1  3 frames (3 pages can be in memory at a time per process)  Page Fault = 15  Can vary by reference string: consider 1,2,3,4,1,2,5,1,2,3,4,5 • Adding more frames can cause more page faults!  Belady’s Anomaly  How to track ages of pages? • Just use a FIFO queue
  • 10. 7.3.3 OPTIMAL PAGE REPLACEMENT ALGORITHM 1 0  Replace page that will not be used for longest period of time • 9 is optimal for the example  How do you know this? • Can’t read the future  Used for measuring how well your algorithm performs  Page Fault = 9
  • 11. 7.3.4 LEAST RECENTLY USED (LRU) ALGORITHM 11  Replace page that has not been used in the most amount of time  Associate time of last use with each page  Page Fault = 12, Better than FIFO but worse than OPT  Generally good algorithm and frequently used 7.3.5 COUNTING BASED PAGE REPLACEMENT ALGORITHM  Lease Frequently Used (LFU) Algorithm: • Replaces page with smallest count  Most Frequently Used (MFU) Algorithm: • Based on the argument that the page with the smallest count was probably just brought in and has yet to be used