SlideShare a Scribd company logo
1 of 38
Virtual Memory
Dr. G. Jasmine Beulah
Kristu Jayanti College, Bengaluru
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
 Virtual memory can be implemented via:
 Demand paging
 Demand segmentation
Virtual Memory That is Larger Than
Physical Memory
Demand 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
 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, i  not-in-memory)
 Initially valid–invalid bit is set to i on all entries
 Example of a page table snapshot:
 During address translation, if valid–invalid bit in page table entry
is I  page fault
….
v
v
v
v
i
i
i
Frame # valid-invalid bit
page table
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
4. Reset tables
5. Set validation bit = v
6. Restart the instruction that caused the page fault
Steps in Handling a Page Fault
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 time(page fault overhead
+ swap page out
+ swap page in
+ restart overhead
)
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
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
3. Bring the desired page into the (newly) free frame; update the page
and frame tables
4. Restart the process
Page Replacement
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
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)
 4 frames
 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
4
4 3
FIFO Page Replacement
Optimal Page Replacement
 Basic idea
 replace the page that will not be referenced for the longest time
 This gives the lowest possible fault rate
 Impossible to implement
 Does provide a good measure for other techniques
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
 How do you know this?
 Used for measuring how well your algorithm performs
1
2
3
4
6 page faults
4 5
Optimal Page Replacement
 Page Hit=9
 Page fault= 9
 Hit Ratio= Number of page fault /No of references= 9/16= 50%
page fault ratio= 9/18=50%
LRU Page Replacement
Basic idea
replace the page in memory that has not been accessed
for the longest time
Optimal policy looking back in time
as opposed to forward in time
fortunately, programs tend to follow similar behavior
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
 Page Hit = 3
 Page fault = 12
LRU
 major solutions
 counters
 hardware clock “ticks” on every memory reference
 the page referenced is marked with this “time”
 the page with the smallest “time” value is replaced
 stack
 keep a stack of references
 on every reference to a page, move it to top of stack
 page at bottom of stack is next one to be replaced
LRU
 Stack Algorithm ( Class of page replacement algorithms)
 Optimal and LRU – stack algorithm
 No Belady anomaly
 Stack algorithm is an algorithm for which it can be shown that the set
of pages in memory for n frames is always a subset of set of pages that
would be in memory with n+1 frames
LRU Approximation page Replacement
 Hardware systems doesn’t support LRU
 Reference Bit for a page set by hardware
 Reference bits are associated with entry of
page table
 Additional Reference bits Algorithm
(reference bits are added)
 Second chance Algorithm – FIFO ,circular
queue – clock algorithm

Counting 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
Allocation of frames
 The number of frames allocated must not exceed the total number of
frames available.
 At least minimum number of frames must be allocated.
 As the number of frames allocated to each process decreases, number
of page faults increases.
Frame allocation:
 Equal allocation: divide m frames among n processes, left out frames
can be used as buffer pool.
 Proportional allocation: total frames are proportionally split among n
processes depending on their requirement
 Ai=si/S*m and S=∑si
,where size of virtual memory of process pi is si, m is total number of
frames,ai is the number of frames allocated to process pi
Global 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
Thrashing
 If a process does not have “enough” pages, the page-fault rate is
very high(high paging activity). 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
 Effect of thrashing can be reduced by local replacement algorithm.
Thrashing (Cont.)
 Locality model
 Process migrates from one locality to another, there are two
types of locality
 Spatial locality : Once memory is referenced, it is highly
possible that nearby locations will be referenced.
 Temporal locality: memory locations referenced recently are
likely to be referenced again.
 Localities may overlap
Working set model
 Set of pages the process is currently using is called its working set.
 If the page is not used then it is dropped from its working set after certain time
(∆)
 The working set accuracy depends on the value of (∆)
If (∆) is too small, it does not cover entire locality.
If (∆) is too large, it could overlap several localities.
 Usage of working set model
• OS allocates enough number of frames to working set of each process.
• If extra frames are available, another process can be started.
• If sum of working set size exceeds the total number of frames available, the OS
selects and suspends process.
• Suspended process is restarted later.
Advantages:
Prevents thrashing, optimizes CPU utilization.
Page fault frequency(PFF)
 Main reason for thrashing is high PFF
 Upper and lower bound on the desired page fault rate must be
established.
 If page fault rate is above upper bound then another frame is allocated
to the process.
 If page fault rate is less than lower bound, frame is taken away from
process.
 If page fault rate increases and there are no free frames then process
must be suspended.
Demand segmentation
 Memory is allocated in segments instead of pages.
 Each segment has segment descriptor which keeps track of segment
size
 Segment descriptor consist of valid bit which indicate if the segment is
in memory or not.
 If the segment is not in memory, trap is generated to OS segment fault
occurs,OS the swaps required segment.
 Accesses bit is set when segment is either read or written.

More Related Content

What's hot

Presentation on Virtual Memory concepts in computer
Presentation on Virtual Memory concepts in computer Presentation on Virtual Memory concepts in computer
Presentation on Virtual Memory concepts in computer Oshin Kandpal
 
Virtual Memory Management
Virtual Memory ManagementVirtual Memory Management
Virtual Memory Managementprimeteacher32
 
basics of virtual memory
basics of virtual memorybasics of virtual memory
basics of virtual memoryAdarsh Patel
 
Chapter 9 - Virtual Memory
Chapter 9 - Virtual MemoryChapter 9 - Virtual Memory
Chapter 9 - Virtual MemoryWayne Jones Jnr
 
Page replacement
Page replacementPage replacement
Page replacementsashi799
 
9 virtual memory management
9 virtual memory management9 virtual memory management
9 virtual memory managementDr. Loganathan R
 
Computer architecture page replacement algorithms
Computer architecture page replacement algorithmsComputer architecture page replacement algorithms
Computer architecture page replacement algorithmsMazin Alwaaly
 
Virtual Memory ,Direct memory addressing and indirect memory addressing prese...
Virtual Memory ,Direct memory addressing and indirect memory addressing prese...Virtual Memory ,Direct memory addressing and indirect memory addressing prese...
Virtual Memory ,Direct memory addressing and indirect memory addressing prese...ITM University
 
Virtual memory - Demand Paging
Virtual memory - Demand PagingVirtual memory - Demand Paging
Virtual memory - Demand Pagingjeyaperumal
 
Page replacement algorithms
Page replacement algorithmsPage replacement algorithms
Page replacement algorithmsPiyush Rochwani
 
Virtual memory presentation
Virtual memory presentationVirtual memory presentation
Virtual memory presentationRanjeet Kumar
 
Virtual memory
Virtual memoryVirtual memory
Virtual memoryMohd Arif
 

What's hot (17)

Presentation on Virtual Memory concepts in computer
Presentation on Virtual Memory concepts in computer Presentation on Virtual Memory concepts in computer
Presentation on Virtual Memory concepts in computer
 
Virtual Memory Management
Virtual Memory ManagementVirtual Memory Management
Virtual Memory Management
 
Virtual memory
Virtual memoryVirtual memory
Virtual memory
 
basics of virtual memory
basics of virtual memorybasics of virtual memory
basics of virtual memory
 
Chapter 9 - Virtual Memory
Chapter 9 - Virtual MemoryChapter 9 - Virtual Memory
Chapter 9 - Virtual Memory
 
Page replacement
Page replacementPage replacement
Page replacement
 
OSCh10
OSCh10OSCh10
OSCh10
 
virtual memory
virtual memoryvirtual memory
virtual memory
 
9 virtual memory management
9 virtual memory management9 virtual memory management
9 virtual memory management
 
Page replacement
Page replacementPage replacement
Page replacement
 
Computer architecture page replacement algorithms
Computer architecture page replacement algorithmsComputer architecture page replacement algorithms
Computer architecture page replacement algorithms
 
Virtual Memory ,Direct memory addressing and indirect memory addressing prese...
Virtual Memory ,Direct memory addressing and indirect memory addressing prese...Virtual Memory ,Direct memory addressing and indirect memory addressing prese...
Virtual Memory ,Direct memory addressing and indirect memory addressing prese...
 
Virtual memory - Demand Paging
Virtual memory - Demand PagingVirtual memory - Demand Paging
Virtual memory - Demand Paging
 
Page replacement algorithms
Page replacement algorithmsPage replacement algorithms
Page replacement algorithms
 
Virtual memory presentation
Virtual memory presentationVirtual memory presentation
Virtual memory presentation
 
Virtual memory
Virtual memoryVirtual memory
Virtual memory
 
Virtual memory
Virtual memoryVirtual memory
Virtual memory
 

Similar to Mem mgt

Ch10 OS
Ch10 OSCh10 OS
Ch10 OSC.U
 
virtual memory Operating system
virtual memory Operating system virtual memory Operating system
virtual memory Operating system Shaheen kousar
 
Operating system 38 page replacement
Operating system 38 page replacementOperating system 38 page replacement
Operating system 38 page replacementVaibhav Khanna
 
Mca ii os u-4 memory management
Mca  ii  os u-4 memory managementMca  ii  os u-4 memory management
Mca ii os u-4 memory managementRai University
 
Virtual memory management in Operating System
Virtual memory management in Operating SystemVirtual memory management in Operating System
Virtual memory management in Operating SystemRashmi Bhat
 
Virtual memory This is the operating system ppt.ppt
Virtual memory This is the operating system ppt.pptVirtual memory This is the operating system ppt.ppt
Virtual memory This is the operating system ppt.pptry54321288
 
381 ccs chapter7_updated(1)
381 ccs chapter7_updated(1)381 ccs chapter7_updated(1)
381 ccs chapter7_updated(1)Rabie Masoud
 
Virtual Memory Management
Virtual Memory ManagementVirtual Memory Management
Virtual Memory ManagementRahul Jamwal
 
STORAGE MANAGEMENT AND PAGING ALGORITHMS.pptx
STORAGE MANAGEMENT AND PAGING ALGORITHMS.pptxSTORAGE MANAGEMENT AND PAGING ALGORITHMS.pptx
STORAGE MANAGEMENT AND PAGING ALGORITHMS.pptxDivyaKS18
 
understanding-operating-systems-Banu.ppt
understanding-operating-systems-Banu.pptunderstanding-operating-systems-Banu.ppt
understanding-operating-systems-Banu.pptbanu236831
 
Inverted page tables basic
Inverted page tables basicInverted page tables basic
Inverted page tables basicSanoj Kumar
 
VM Page Replacement
VM Page ReplacementVM Page Replacement
VM Page Replacementsathish sak
 
Chapter 04
Chapter 04Chapter 04
Chapter 04 Google
 

Similar to Mem mgt (20)

Ch10 OS
Ch10 OSCh10 OS
Ch10 OS
 
OS_Ch10
OS_Ch10OS_Ch10
OS_Ch10
 
Operating System
Operating SystemOperating System
Operating System
 
Distributed Operating System_3
Distributed Operating System_3Distributed Operating System_3
Distributed Operating System_3
 
virtual memory Operating system
virtual memory Operating system virtual memory Operating system
virtual memory Operating system
 
Operating system 38 page replacement
Operating system 38 page replacementOperating system 38 page replacement
Operating system 38 page replacement
 
Mca ii os u-4 memory management
Mca  ii  os u-4 memory managementMca  ii  os u-4 memory management
Mca ii os u-4 memory management
 
CH09.pdf
CH09.pdfCH09.pdf
CH09.pdf
 
Virtual memory management in Operating System
Virtual memory management in Operating SystemVirtual memory management in Operating System
Virtual memory management in Operating System
 
Virtual memory This is the operating system ppt.ppt
Virtual memory This is the operating system ppt.pptVirtual memory This is the operating system ppt.ppt
Virtual memory This is the operating system ppt.ppt
 
381 ccs chapter7_updated(1)
381 ccs chapter7_updated(1)381 ccs chapter7_updated(1)
381 ccs chapter7_updated(1)
 
Virtual Memory Management
Virtual Memory ManagementVirtual Memory Management
Virtual Memory Management
 
STORAGE MANAGEMENT AND PAGING ALGORITHMS.pptx
STORAGE MANAGEMENT AND PAGING ALGORITHMS.pptxSTORAGE MANAGEMENT AND PAGING ALGORITHMS.pptx
STORAGE MANAGEMENT AND PAGING ALGORITHMS.pptx
 
understanding-operating-systems-Banu.ppt
understanding-operating-systems-Banu.pptunderstanding-operating-systems-Banu.ppt
understanding-operating-systems-Banu.ppt
 
Virtual memory
Virtual memoryVirtual memory
Virtual memory
 
LRU_Replacement-Policy.pdf
LRU_Replacement-Policy.pdfLRU_Replacement-Policy.pdf
LRU_Replacement-Policy.pdf
 
ikh311-06
ikh311-06ikh311-06
ikh311-06
 
Inverted page tables basic
Inverted page tables basicInverted page tables basic
Inverted page tables basic
 
VM Page Replacement
VM Page ReplacementVM Page Replacement
VM Page Replacement
 
Chapter 04
Chapter 04Chapter 04
Chapter 04
 

More from Dr. Jasmine Beulah Gnanadurai

More from Dr. Jasmine Beulah Gnanadurai (20)

Data Warehouse_Architecture.pptx
Data Warehouse_Architecture.pptxData Warehouse_Architecture.pptx
Data Warehouse_Architecture.pptx
 
DMQL(Data Mining Query Language).pptx
DMQL(Data Mining Query Language).pptxDMQL(Data Mining Query Language).pptx
DMQL(Data Mining Query Language).pptx
 
Stacks.pptx
Stacks.pptxStacks.pptx
Stacks.pptx
 
Quick Sort.pptx
Quick Sort.pptxQuick Sort.pptx
Quick Sort.pptx
 
KBS Architecture.pptx
KBS Architecture.pptxKBS Architecture.pptx
KBS Architecture.pptx
 
Knowledge Representation in AI.pptx
Knowledge Representation in AI.pptxKnowledge Representation in AI.pptx
Knowledge Representation in AI.pptx
 
File allocation methods (1)
File allocation methods (1)File allocation methods (1)
File allocation methods (1)
 
Segmentation in operating systems
Segmentation in operating systemsSegmentation in operating systems
Segmentation in operating systems
 
Decision tree
Decision treeDecision tree
Decision tree
 
Association rules apriori algorithm
Association rules   apriori algorithmAssociation rules   apriori algorithm
Association rules apriori algorithm
 
Big data architecture
Big data architectureBig data architecture
Big data architecture
 
Knowledge representation
Knowledge representationKnowledge representation
Knowledge representation
 
Aritificial intelligence
Aritificial intelligenceAritificial intelligence
Aritificial intelligence
 
Java threads
Java threadsJava threads
Java threads
 
Java Applets
Java AppletsJava Applets
Java Applets
 
Stacks and Queue - Data Structures
Stacks and Queue - Data StructuresStacks and Queue - Data Structures
Stacks and Queue - Data Structures
 
JavaScript Functions
JavaScript FunctionsJavaScript Functions
JavaScript Functions
 
JavaScript Operators
JavaScript OperatorsJavaScript Operators
JavaScript Operators
 
Css Text Formatting
Css Text FormattingCss Text Formatting
Css Text Formatting
 
CSS - Cascading Style Sheet
CSS - Cascading Style SheetCSS - Cascading Style Sheet
CSS - Cascading Style Sheet
 

Recently uploaded

Final demo Grade 9 for demo Plan dessert.pptx
Final demo Grade 9 for demo Plan dessert.pptxFinal demo Grade 9 for demo Plan dessert.pptx
Final demo Grade 9 for demo Plan dessert.pptxAvyJaneVismanos
 
DATA STRUCTURE AND ALGORITHM for beginners
DATA STRUCTURE AND ALGORITHM for beginnersDATA STRUCTURE AND ALGORITHM for beginners
DATA STRUCTURE AND ALGORITHM for beginnersSabitha Banu
 
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
 
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPT
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPTECONOMIC CONTEXT - LONG FORM TV DRAMA - PPT
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPTiammrhaywood
 
Hierarchy of management that covers different levels of management
Hierarchy of management that covers different levels of managementHierarchy of management that covers different levels of management
Hierarchy of management that covers different levels of managementmkooblal
 
Presiding Officer Training module 2024 lok sabha elections
Presiding Officer Training module 2024 lok sabha electionsPresiding Officer Training module 2024 lok sabha elections
Presiding Officer Training module 2024 lok sabha electionsanshu789521
 
Full Stack Web Development Course for Beginners
Full Stack Web Development Course  for BeginnersFull Stack Web Development Course  for Beginners
Full Stack Web Development Course for BeginnersSabitha Banu
 
What is Model Inheritance in Odoo 17 ERP
What is Model Inheritance in Odoo 17 ERPWhat is Model Inheritance in Odoo 17 ERP
What is Model Inheritance in Odoo 17 ERPCeline George
 
Solving Puzzles Benefits Everyone (English).pptx
Solving Puzzles Benefits Everyone (English).pptxSolving Puzzles Benefits Everyone (English).pptx
Solving Puzzles Benefits Everyone (English).pptxOH TEIK BIN
 
Like-prefer-love -hate+verb+ing & silent letters & citizenship text.pdf
Like-prefer-love -hate+verb+ing & silent letters & citizenship text.pdfLike-prefer-love -hate+verb+ing & silent letters & citizenship text.pdf
Like-prefer-love -hate+verb+ing & silent letters & citizenship text.pdfMr Bounab Samir
 
AmericanHighSchoolsprezentacijaoskolama.
AmericanHighSchoolsprezentacijaoskolama.AmericanHighSchoolsprezentacijaoskolama.
AmericanHighSchoolsprezentacijaoskolama.arsicmarija21
 
Painted Grey Ware.pptx, PGW Culture of India
Painted Grey Ware.pptx, PGW Culture of IndiaPainted Grey Ware.pptx, PGW Culture of India
Painted Grey Ware.pptx, PGW Culture of IndiaVirag Sontakke
 
How to Make a Pirate ship Primary Education.pptx
How to Make a Pirate ship Primary Education.pptxHow to Make a Pirate ship Primary Education.pptx
How to Make a Pirate ship Primary Education.pptxmanuelaromero2013
 
Framing an Appropriate Research Question 6b9b26d93da94caf993c038d9efcdedb.pdf
Framing an Appropriate Research Question 6b9b26d93da94caf993c038d9efcdedb.pdfFraming an Appropriate Research Question 6b9b26d93da94caf993c038d9efcdedb.pdf
Framing an Appropriate Research Question 6b9b26d93da94caf993c038d9efcdedb.pdfUjwalaBharambe
 
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
 
MICROBIOLOGY biochemical test detailed.pptx
MICROBIOLOGY biochemical test detailed.pptxMICROBIOLOGY biochemical test detailed.pptx
MICROBIOLOGY biochemical test detailed.pptxabhijeetpadhi001
 
Gas measurement O2,Co2,& ph) 04/2024.pptx
Gas measurement O2,Co2,& ph) 04/2024.pptxGas measurement O2,Co2,& ph) 04/2024.pptx
Gas measurement O2,Co2,& ph) 04/2024.pptxDr.Ibrahim Hassaan
 
EPANDING THE CONTENT OF AN OUTLINE using notes.pptx
EPANDING THE CONTENT OF AN OUTLINE using notes.pptxEPANDING THE CONTENT OF AN OUTLINE using notes.pptx
EPANDING THE CONTENT OF AN OUTLINE using notes.pptxRaymartEstabillo3
 

Recently uploaded (20)

Final demo Grade 9 for demo Plan dessert.pptx
Final demo Grade 9 for demo Plan dessert.pptxFinal demo Grade 9 for demo Plan dessert.pptx
Final demo Grade 9 for demo Plan dessert.pptx
 
DATA STRUCTURE AND ALGORITHM for beginners
DATA STRUCTURE AND ALGORITHM for beginnersDATA STRUCTURE AND ALGORITHM for beginners
DATA STRUCTURE AND ALGORITHM for beginners
 
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
 
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPT
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPTECONOMIC CONTEXT - LONG FORM TV DRAMA - PPT
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPT
 
Hierarchy of management that covers different levels of management
Hierarchy of management that covers different levels of managementHierarchy of management that covers different levels of management
Hierarchy of management that covers different levels of management
 
Presiding Officer Training module 2024 lok sabha elections
Presiding Officer Training module 2024 lok sabha electionsPresiding Officer Training module 2024 lok sabha elections
Presiding Officer Training module 2024 lok sabha elections
 
Full Stack Web Development Course for Beginners
Full Stack Web Development Course  for BeginnersFull Stack Web Development Course  for Beginners
Full Stack Web Development Course for Beginners
 
What is Model Inheritance in Odoo 17 ERP
What is Model Inheritance in Odoo 17 ERPWhat is Model Inheritance in Odoo 17 ERP
What is Model Inheritance in Odoo 17 ERP
 
Solving Puzzles Benefits Everyone (English).pptx
Solving Puzzles Benefits Everyone (English).pptxSolving Puzzles Benefits Everyone (English).pptx
Solving Puzzles Benefits Everyone (English).pptx
 
Like-prefer-love -hate+verb+ing & silent letters & citizenship text.pdf
Like-prefer-love -hate+verb+ing & silent letters & citizenship text.pdfLike-prefer-love -hate+verb+ing & silent letters & citizenship text.pdf
Like-prefer-love -hate+verb+ing & silent letters & citizenship text.pdf
 
AmericanHighSchoolsprezentacijaoskolama.
AmericanHighSchoolsprezentacijaoskolama.AmericanHighSchoolsprezentacijaoskolama.
AmericanHighSchoolsprezentacijaoskolama.
 
9953330565 Low Rate Call Girls In Rohini Delhi NCR
9953330565 Low Rate Call Girls In Rohini  Delhi NCR9953330565 Low Rate Call Girls In Rohini  Delhi NCR
9953330565 Low Rate Call Girls In Rohini Delhi NCR
 
Painted Grey Ware.pptx, PGW Culture of India
Painted Grey Ware.pptx, PGW Culture of IndiaPainted Grey Ware.pptx, PGW Culture of India
Painted Grey Ware.pptx, PGW Culture of India
 
How to Make a Pirate ship Primary Education.pptx
How to Make a Pirate ship Primary Education.pptxHow to Make a Pirate ship Primary Education.pptx
How to Make a Pirate ship Primary Education.pptx
 
Framing an Appropriate Research Question 6b9b26d93da94caf993c038d9efcdedb.pdf
Framing an Appropriate Research Question 6b9b26d93da94caf993c038d9efcdedb.pdfFraming an Appropriate Research Question 6b9b26d93da94caf993c038d9efcdedb.pdf
Framing an Appropriate Research Question 6b9b26d93da94caf993c038d9efcdedb.pdf
 
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
 
MICROBIOLOGY biochemical test detailed.pptx
MICROBIOLOGY biochemical test detailed.pptxMICROBIOLOGY biochemical test detailed.pptx
MICROBIOLOGY biochemical test detailed.pptx
 
TataKelola dan KamSiber Kecerdasan Buatan v022.pdf
TataKelola dan KamSiber Kecerdasan Buatan v022.pdfTataKelola dan KamSiber Kecerdasan Buatan v022.pdf
TataKelola dan KamSiber Kecerdasan Buatan v022.pdf
 
Gas measurement O2,Co2,& ph) 04/2024.pptx
Gas measurement O2,Co2,& ph) 04/2024.pptxGas measurement O2,Co2,& ph) 04/2024.pptx
Gas measurement O2,Co2,& ph) 04/2024.pptx
 
EPANDING THE CONTENT OF AN OUTLINE using notes.pptx
EPANDING THE CONTENT OF AN OUTLINE using notes.pptxEPANDING THE CONTENT OF AN OUTLINE using notes.pptx
EPANDING THE CONTENT OF AN OUTLINE using notes.pptx
 

Mem mgt

  • 1. Virtual Memory Dr. G. Jasmine Beulah Kristu Jayanti College, Bengaluru
  • 2. 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  Virtual memory can be implemented via:  Demand paging  Demand segmentation
  • 3. Virtual Memory That is Larger Than Physical Memory
  • 4. Demand 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  Lazy swapper – never swaps a page into memory unless page will be needed  Swapper that deals with pages is a pager
  • 5. Transfer of a Paged Memory to Contiguous Disk Space
  • 6. 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:  During address translation, if valid–invalid bit in page table entry is I  page fault …. v v v v i i i Frame # valid-invalid bit page table
  • 7. Page Table When Some Pages Are Not in Main Memory
  • 8. 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
  • 9. Steps in Handling a Page Fault
  • 10. 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 time(page fault overhead + swap page out + swap page in + restart overhead )
  • 11. 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
  • 12. 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
  • 13. Need For Page Replacement
  • 14. 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
  • 16. 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
  • 17. 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)  4 frames  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 4 4 3
  • 19. Optimal Page Replacement  Basic idea  replace the page that will not be referenced for the longest time  This gives the lowest possible fault rate  Impossible to implement  Does provide a good measure for other techniques
  • 20. 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  How do you know this?  Used for measuring how well your algorithm performs 1 2 3 4 6 page faults 4 5
  • 22.  Page Hit=9  Page fault= 9  Hit Ratio= Number of page fault /No of references= 9/16= 50% page fault ratio= 9/18=50%
  • 24. Basic idea replace the page in memory that has not been accessed for the longest time Optimal policy looking back in time as opposed to forward in time fortunately, programs tend to follow similar behavior
  • 25. 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
  • 26.  Page Hit = 3  Page fault = 12
  • 27. LRU  major solutions  counters  hardware clock “ticks” on every memory reference  the page referenced is marked with this “time”  the page with the smallest “time” value is replaced  stack  keep a stack of references  on every reference to a page, move it to top of stack  page at bottom of stack is next one to be replaced
  • 28. LRU  Stack Algorithm ( Class of page replacement algorithms)  Optimal and LRU – stack algorithm  No Belady anomaly  Stack algorithm is an algorithm for which it can be shown that the set of pages in memory for n frames is always a subset of set of pages that would be in memory with n+1 frames
  • 29. LRU Approximation page Replacement  Hardware systems doesn’t support LRU  Reference Bit for a page set by hardware  Reference bits are associated with entry of page table  Additional Reference bits Algorithm (reference bits are added)  Second chance Algorithm – FIFO ,circular queue – clock algorithm 
  • 30. Counting 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
  • 31. Allocation of frames  The number of frames allocated must not exceed the total number of frames available.  At least minimum number of frames must be allocated.  As the number of frames allocated to each process decreases, number of page faults increases. Frame allocation:  Equal allocation: divide m frames among n processes, left out frames can be used as buffer pool.  Proportional allocation: total frames are proportionally split among n processes depending on their requirement  Ai=si/S*m and S=∑si ,where size of virtual memory of process pi is si, m is total number of frames,ai is the number of frames allocated to process pi
  • 32. Global 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
  • 33. Thrashing  If a process does not have “enough” pages, the page-fault rate is very high(high paging activity). 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  Effect of thrashing can be reduced by local replacement algorithm.
  • 35.  Locality model  Process migrates from one locality to another, there are two types of locality  Spatial locality : Once memory is referenced, it is highly possible that nearby locations will be referenced.  Temporal locality: memory locations referenced recently are likely to be referenced again.  Localities may overlap
  • 36. Working set model  Set of pages the process is currently using is called its working set.  If the page is not used then it is dropped from its working set after certain time (∆)  The working set accuracy depends on the value of (∆) If (∆) is too small, it does not cover entire locality. If (∆) is too large, it could overlap several localities.  Usage of working set model • OS allocates enough number of frames to working set of each process. • If extra frames are available, another process can be started. • If sum of working set size exceeds the total number of frames available, the OS selects and suspends process. • Suspended process is restarted later. Advantages: Prevents thrashing, optimizes CPU utilization.
  • 37. Page fault frequency(PFF)  Main reason for thrashing is high PFF  Upper and lower bound on the desired page fault rate must be established.  If page fault rate is above upper bound then another frame is allocated to the process.  If page fault rate is less than lower bound, frame is taken away from process.  If page fault rate increases and there are no free frames then process must be suspended.
  • 38. Demand segmentation  Memory is allocated in segments instead of pages.  Each segment has segment descriptor which keeps track of segment size  Segment descriptor consist of valid bit which indicate if the segment is in memory or not.  If the segment is not in memory, trap is generated to OS segment fault occurs,OS the swaps required segment.  Accesses bit is set when segment is either read or written.