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

Virtual Memory

The document provides an overview of operating systems and virtual memory. It discusses concepts like demand paging, page faults, page replacement and performance of demand paging. The document aims to help students understand fundamental concepts of operating systems and memory management.

Uploaded by

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

Virtual Memory

The document provides an overview of operating systems and virtual memory. It discusses concepts like demand paging, page faults, page replacement and performance of demand paging. The document aims to help students understand fundamental concepts of operating systems and memory management.

Uploaded by

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

APEX INSTITUTE OF ENGINEERING

DEPARTMENT OF IBM COMPUTER


SCIENCE & ENGINEERING
Bachelor of Engineering (Computer Science & Engineering)
OPERATING SYSTEM

Introduction to Operating System DISCOVER . LEARN .


EMPOWER
Operating
System
Course Objective: Students will try to learn

1 To understand a fundamental understanding of operating systems


and its functionalities.

2 To understand the working of an OS as a resource manager, file


system manager, process manager, memory manager and I/O
manager and methods used to implement the different parts of OS

3 To understand the concepts and implementation Memory


management policies and virtual memory in advance operating
system.

2
Operating
System
Course Outcomes • The student will be able to understand
CO Title Level fundamental understanding of
Number
operating systems and its
CO1 Describe the important computer system Understa
functionalities.
resources and the role of operating system nd • The student will be able to understand
in their management policies and
algorithms. the process management, various
CO2 Understand the process management Rememb scheduling algorithms, concurrency
policies and scheduling of processes by
CPU and familiar with memory
er and synchronization.
management and its allocation policies. • The student will be able to understand
memory management and virtual
CO3 Identify use and evaluate the storage Apply
management policies with respect to memory concepts in modern
different storage management Operating systems
technologies.

3
Virtual Memory
Background
• 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
• Consider ability to execute partially-loaded program
– Program no longer constrained by limits of physical memory
– Program and programs could be larger than physical memory
Background
• 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
– More programs running concurrently
– Less I/O needed to load or swap processes

• Virtual memory can be implemented via:


– Demand paging
– Demand segmentation
Virtual Memory That is
Larger Than Physical Memory
Virtual-address Space
Virtual Address Space

• Enables sparse address spaces with holes left for growth,


dynamically linked libraries, etc
• System libraries shared via mapping into virtual address
space
• Shared memory by mapping pages read-write into virtual
address space
• Pages can be shared during fork(), speeding process
creation
Shared Library Using Virtual Memory
Demand Paging
• Could bring entire process into memory at load time
• Or bring a page into memory only when it is needed
– Less I/O needed, no unnecessary I/O
– Less memory needed
– Faster response
– 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
Transfer of a Paged Memory to
Contiguous Disk Space
Valid-Invalid Bit
• 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
• 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
Page Table When Some Pages
Are Not in Main Memory
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 via scheduled disk operation
4. Reset tables to indicate page now in memory
Set validation bit = v
5. Restart the instruction that caused the page fault
Aspects of Demand Paging

• Extreme case – start process with no pages in memory


– OS sets instruction pointer to first instruction of process, non-memory-
resident -> page fault
– And for every other process pages on first access
– Pure demand paging
• Hardware support needed for demand paging
– Page table with valid / invalid bit
– Secondary memory (swap device with swap space)
– Instruction restart
Instruction Restart
• Consider an instruction that could access several different
locations
– block move

– auto increment/decrement location


– Restart the whole operation?
• What if source and destination overlap?
Steps in Handling a Page Fault
Performance of Demand Paging
• Stages in Demand Paging
1. Trap to the operating system
2. Save the user registers and process state
3. Determine that the interrupt was a page fault
4. Check that the page reference was legal and determine the location of the page on the disk
5. Issue a read from the disk to a free frame:
1. Wait in a queue for this device until the read request is serviced
2. Wait for the device seek and/or latency time
3. Begin the transfer of the page to a free frame
6. While waiting, allocate the CPU to some other user
7. Receive an interrupt from the disk I/O subsystem (I/O completed)
8. Save the registers and process state for the other user
9. Determine that the interrupt was from the disk
10. Correct the page table and other tables to show page is now in memory
11. Wait for the CPU to be allocated to this process again
12. Restore the user registers, process state, and new page table, and then resume the interrupted instruction
Performance of Demand Paging (Cont.)

• Page Fault Rate 0  p  1


– 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
)
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
• If one access out of 1,000 causes a page fault, then
EAT = 8.2 microseconds.
This is a slowdown by a factor of 40!!
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
Need For Page Replacement
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
- 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

Note now potentially 2 page transfers for page fault – increasing EAT
Page Replacement
REFERENCES
• “Galvin, Peter B., Silberchatz, A., “Operating System Concepts”, Addison
Wesley, 9th Edition.
• William Stallings, Operating Systems: Internals and Design Principles, 7th
edition Pearson Education Limited, 2014 ISBN: 1292061944,
9781292061948.
• Andrew Tananbaum, “Operating System”, PHI Learning.
• Godbole, Kahate, "Operating System: A Concept Based Approach", Tata
Mc-Graw- Hill.
E-Video Links
• https://www.youtube.com/watch?v=bkSWJJZNgf8&list=PLxCzCOWd7ai
Gz9donHRrE9I3Mwn6XdP8p
• https://www.youtube.com/watch?v=vBURTt97EkA&list=PLBlnK6fEyqRi
VhbXDGLXDk_OQAeuVcp2O
• https://nptel.ac.in/courses/106/108/106108101/
THANK YOU

For queries
Email: [email protected]

28

You might also like