SlideShare a Scribd company logo
1 of 63
1
Memory Management
Chapter 4
4.1 Basic memory management
4.2 Swapping
4.3 Virtual memory
4.4 Page replacement algorithms
4.5 Modeling page replacement algorithms
4.6 Design issues for paging systems
4.7 Implementation issues
4.8 Segmentation
2
Memory Management
• Ideally programmers want memory that is
– large
– fast
– non volatile
• Memory hierarchy
– small amount of fast, expensive memory – cache
– some medium-speed, medium price main memory
– gigabytes of slow, cheap disk storage
• Memory manager handles the memory hierarchy
3
Basic Memory Management
Monoprogramming without Swapping or Paging
Three simple ways of organizing memory
- an operating system with one user process
4
Multiprogramming with Fixed Partitions
• Fixed memory partitions
– separate input queues for each partition
– single input queue
5
Modeling Multiprogramming
CPU utilization as a function of number of processes in memory
Degree of multiprogramming
6
Analysis of Multiprogramming System
Performance
• Arrival and work requirements of 4 jobs
• CPU utilization for 1 – 4 jobs with 80% I/O wait
• Sequence of events as jobs arrive and finish
– note numbers show amout of CPU time jobs get in each interval
7
Relocation and Protection
• Cannot be sure where program will be loaded in memory
– address locations of variables, code routines cannot be absolute
– must keep a program out of other processes’ partitions
• Use base and limit values
– address locations added to base value to map to physical addr
– address locations larger than limit value is an error
8
Swapping (1)
Memory allocation changes as
– processes come into memory
– leave memory
Shaded regions are unused memory
9
Swapping (2)
• Allocating space for growing data segment
• Allocating space for growing stack & data segment
10
Memory Management with Bit Maps
• Part of memory with 5 processes, 3 holes
– tick marks show allocation units
– shaded regions are free
• Corresponding bit map
• Same information as a list
11
Memory Management with Linked Lists
Four neighbor combinations for the terminating process X
12
Virtual Memory
Paging (1)
The position and function of the MMU
13
Paging (2)
The relation between
virtual addresses
and physical
memory addres-
ses given by
page table
14
Page Tables (1)
Internal operation of MMU with 16 4 KB pages
15
Page Tables (2)
• 32 bit address with 2 page table fields
• Two-level page tables
Second-level page tables
Top-level
page table
16
Page Tables (3)
Typical page table entry
17
TLBs – Translation Lookaside Buffers
A TLB to speed up paging
18
Inverted Page Tables
Comparison of a traditional page table with an inverted page table
19
Page Replacement Algorithms
• Page fault forces choice
– which page must be removed
– make room for incoming page
• Modified page must first be saved
– unmodified just overwritten
• Better not to choose an often used page
– will probably need to be brought back in soon
20
Optimal Page Replacement Algorithm
• Replace page needed at the farthest point in future
– Optimal but unrealizable
• Estimate by …
– logging page use on previous runs of process
– although this is impractical
21
Not Recently Used Page Replacement Algorithm
• Each page has Reference bit, Modified bit
– bits are set when page is referenced, modified
• Pages are classified
1. not referenced, not modified
2. not referenced, modified
3. referenced, not modified
4. referenced, modified
• NRU removes page at random
– from lowest numbered non empty class
22
FIFO Page Replacement Algorithm
• Maintain a linked list of all pages
– in order they came into memory
• Page at beginning of list replaced
• Disadvantage
– page in memory the longest may be often used
23
Second Chance Page Replacement Algorithm
• Operation of a second chance
– pages sorted in FIFO order
– Page list if fault occurs at time 20, A has R bit set
(numbers above pages are loading times)
24
The Clock Page Replacement Algorithm
25
Least Recently Used (LRU)
• Assume pages used recently will used again soon
– throw out page that has been unused for longest time
• Must keep a linked list of pages
– most recently used at front, least at rear
– update this list every memory reference !!
• Alternatively keep counter in each page table entry
– choose page with lowest value counter
– periodically zero the counter
26
Simulating LRU in Software (1)
LRU using a matrix – pages referenced in order
0,1,2,3,2,1,0,3,2,3
27
Simulating LRU in Software (2)
• The aging algorithm simulates LRU in software
• Note 6 pages for 5 clock ticks, (a) – (e)
28
The Working Set Page Replacement Algorithm (1)
• The working set is the set of pages used by the k
most recent memory references
• w(k,t) is the size of the working set at time, t
29
The Working Set Page Replacement Algorithm (2)
The working set algorithm
30
The WSClock Page Replacement Algorithm
Operation of the WSClock algorithm
31
Review of Page Replacement Algorithms
32
Modeling Page Replacement Algorithms
Belady's Anomaly
• FIFO with 3 page frames
• FIFO with 4 page frames
• P's show which page references show page faults
33
Stack Algorithms
State of memory array, M, after each item in
reference string is processed
7 4 6 5
34
The Distance String
Probability density functions for two
hypothetical distance strings
35
The Distance String
• Computation of page fault rate from distance string
– the C vector
– the F vector
36
Design Issues for Paging Systems
Local versus Global Allocation Policies (1)
• Original configuration
• Local page replacement
• Global page replacement
37
Local versus Global Allocation Policies (2)
Page fault rate as a function of the number of
page frames assigned
38
Load Control
• Despite good designs, system may still thrash
• When PFF algorithm indicates
– some processes need more memory
– but no processes need less
• Solution :
Reduce number of processes competing for memory
– swap one or more to disk, divide up pages they held
– reconsider degree of multiprogramming
39
Page Size (1)
Small page size
• Advantages
– less internal fragmentation
– better fit for various data structures, code sections
– less unused program in memory
• Disadvantages
– programs need many pages, larger page tables
40
Page Size (2)
• Overhead due to page table and internal
fragmentation
• Where
– s = average process size in bytes
– p = page size in bytes
– e = page entry
2
s e p
overhead
p

 
page table space
internal
fragmentation
Optimized when
2
p se

41
Separate Instruction and Data Spaces
• One address space
• Separate I and D spaces
42
Shared Pages
Two processes sharing same program sharing its page table
43
Cleaning Policy
• Need for a background process, paging daemon
– periodically inspects state of memory
• When too few frames are free
– selects pages to evict using a replacement algorithm
• It can use same circular list (clock)
– as regular page replacement algorithmbut with diff ptr
44
Implementation Issues
Operating System Involvement with Paging
Four times when OS involved with paging
1. Process creation
 determine program size
 create page table
2. Process execution
 MMU reset for new process
 TLB flushed
3. Page fault time
 determine virtual address causing fault
 swap target page out, needed page in
4. Process termination time
 release page table, pages
45
Page Fault Handling (1)
1. Hardware traps to kernel
2. General registers saved
3. OS determines which virtual page needed
4. OS checks validity of address, seeks page frame
5. If selected frame is dirty, write it to disk
46
Page Fault Handling (2)
6. OS brings schedules new page in from disk
7. Page tables updated
 Faulting instruction backed up to when it began
6. Faulting process scheduled
7. Registers restored
 Program continues
47
Instruction Backup
An instruction causing a page fault
48
Locking Pages in Memory
• Virtual memory and I/O occasionally interact
• Proc issues call for read from device into buffer
– while waiting for I/O, another processes starts up
– has a page fault
– buffer for the first proc may be chosen to be paged out
• Need to specify some pages locked
– exempted from being target pages
49
Backing Store
(a) Paging to static swap area
(b) Backing up pages dynamically
50
Separation of Policy and Mechanism
Page fault handling with an external pager
51
Segmentation (1)
• One-dimensional address space with growing tables
• One table may bump into another
52
Segmentation (2)
Allows each table to grow or shrink, independently
53
Segmentation (3)
Comparison of paging and segmentation
54
Implementation of Pure Segmentation
(a)-(d) Development of checkerboarding
(e) Removal of the checkerboarding by compaction
55
Segmentation with Paging: MULTICS (1)
• Descriptor segment points to page tables
• Segment descriptor – numbers are field lengths
56
Segmentation with Paging: MULTICS (2)
A 34-bit MULTICS virtual address
57
Segmentation with Paging: MULTICS (3)
Conversion of a 2-part MULTICS address into a main memory address
58
Segmentation with Paging: MULTICS (4)
• Simplified version of the MULTICS TLB
• Existence of 2 page sizes makes actual TLB more complicated
59
Segmentation with Paging: Pentium (1)
A Pentium selector
60
Segmentation with Paging: Pentium (2)
• Pentium code segment descriptor
• Data segments differ slightly
61
Segmentation with Paging: Pentium (3)
Conversion of a (selector, offset) pair to a linear address
62
Segmentation with Paging: Pentium (4)
Mapping of a linear address onto a physical address
63
Segmentation with Paging: Pentium (5)
Protection on the Pentium
Level

More Related Content

What's hot

Computer memory management
Computer memory managementComputer memory management
Computer memory managementKumar
 
Os Swapping, Paging, Segmentation and Virtual Memory
Os Swapping, Paging, Segmentation and Virtual MemoryOs Swapping, Paging, Segmentation and Virtual Memory
Os Swapping, Paging, Segmentation and Virtual Memorysgpraju
 
34 single partition allocation
34 single partition allocation34 single partition allocation
34 single partition allocationmyrajendra
 
Operating Systems 1 (9/12) - Memory Management Concepts
Operating Systems 1 (9/12) - Memory Management ConceptsOperating Systems 1 (9/12) - Memory Management Concepts
Operating Systems 1 (9/12) - Memory Management ConceptsPeter Tröger
 
Chapter 8 : Memory
Chapter 8 : MemoryChapter 8 : Memory
Chapter 8 : MemoryAmin Omi
 
Storage management
Storage managementStorage management
Storage managementAtul Sharma
 
Understanding memory management
Understanding memory managementUnderstanding memory management
Understanding memory managementGokul Vasan
 
Unit iiios Storage Management
Unit iiios Storage ManagementUnit iiios Storage Management
Unit iiios Storage Managementdonny101
 
Combined paging and segmentation
Combined paging and segmentationCombined paging and segmentation
Combined paging and segmentationTech_MX
 
Deterministic Memory Abstraction and Supporting Multicore System Architecture
Deterministic Memory Abstraction and Supporting Multicore System ArchitectureDeterministic Memory Abstraction and Supporting Multicore System Architecture
Deterministic Memory Abstraction and Supporting Multicore System ArchitectureHeechul Yun
 
Memory management early_systems
Memory management early_systemsMemory management early_systems
Memory management early_systemsMybej Che
 
Ch9 OS
Ch9 OSCh9 OS
Ch9 OSC.U
 
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
 

What's hot (20)

Computer memory management
Computer memory managementComputer memory management
Computer memory management
 
Memory management
Memory managementMemory management
Memory management
 
Os Swapping, Paging, Segmentation and Virtual Memory
Os Swapping, Paging, Segmentation and Virtual MemoryOs Swapping, Paging, Segmentation and Virtual Memory
Os Swapping, Paging, Segmentation and Virtual Memory
 
Memory Management
Memory ManagementMemory Management
Memory Management
 
Memory management
Memory managementMemory management
Memory management
 
34 single partition allocation
34 single partition allocation34 single partition allocation
34 single partition allocation
 
Operating Systems 1 (9/12) - Memory Management Concepts
Operating Systems 1 (9/12) - Memory Management ConceptsOperating Systems 1 (9/12) - Memory Management Concepts
Operating Systems 1 (9/12) - Memory Management Concepts
 
Chapter 8 : Memory
Chapter 8 : MemoryChapter 8 : Memory
Chapter 8 : Memory
 
Storage management
Storage managementStorage management
Storage management
 
Understanding memory management
Understanding memory managementUnderstanding memory management
Understanding memory management
 
Unit iiios Storage Management
Unit iiios Storage ManagementUnit iiios Storage Management
Unit iiios Storage Management
 
Combined paging and segmentation
Combined paging and segmentationCombined paging and segmentation
Combined paging and segmentation
 
Deterministic Memory Abstraction and Supporting Multicore System Architecture
Deterministic Memory Abstraction and Supporting Multicore System ArchitectureDeterministic Memory Abstraction and Supporting Multicore System Architecture
Deterministic Memory Abstraction and Supporting Multicore System Architecture
 
Memory management early_systems
Memory management early_systemsMemory management early_systems
Memory management early_systems
 
Ch9 OS
Ch9 OSCh9 OS
Ch9 OS
 
Memory comp
Memory compMemory comp
Memory comp
 
Paging and segmentation
Paging and segmentationPaging and segmentation
Paging and segmentation
 
Memory management
Memory managementMemory management
Memory management
 
Ch4 memory management
Ch4 memory managementCh4 memory management
Ch4 memory management
 
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
 

Similar to Memory Management: Chapters 4-8 on Paging, Segmentation, and Implementation

Similar to Memory Management: Chapters 4-8 on Paging, Segmentation, and Implementation (20)

memory
memorymemory
memory
 
Memory Management-Muhammad Ahmad.ppt
Memory Management-Muhammad Ahmad.pptMemory Management-Muhammad Ahmad.ppt
Memory Management-Muhammad Ahmad.ppt
 
Chapter 04
Chapter 04Chapter 04
Chapter 04
 
Virtual Memory.pdf
Virtual Memory.pdfVirtual Memory.pdf
Virtual Memory.pdf
 
16. PagingImplementIssused.pptx
16. PagingImplementIssused.pptx16. PagingImplementIssused.pptx
16. PagingImplementIssused.pptx
 
08 operating system support
08 operating system support08 operating system support
08 operating system support
 
08 operating system support
08 operating system support08 operating system support
08 operating system support
 
Demand paging
Demand pagingDemand paging
Demand paging
 
08 operating system support
08 operating system support08 operating system support
08 operating system support
 
08 operating system support
08 operating system support08 operating system support
08 operating system support
 
Os4
Os4Os4
Os4
 
Os4
Os4Os4
Os4
 
ikh311-06
ikh311-06ikh311-06
ikh311-06
 
Lecture 8- Virtual Memory Final.pptx
Lecture 8- Virtual Memory Final.pptxLecture 8- Virtual Memory Final.pptx
Lecture 8- Virtual Memory Final.pptx
 
Chapter08
Chapter08Chapter08
Chapter08
 
Chapter07_ds.ppt
Chapter07_ds.pptChapter07_ds.ppt
Chapter07_ds.ppt
 
Linux Memory Management
Linux Memory ManagementLinux Memory Management
Linux Memory Management
 
cache
cachecache
cache
 
Computer architecture virtual memory
Computer architecture virtual memoryComputer architecture virtual memory
Computer architecture virtual memory
 
Operating system 37 demand paging
Operating system 37 demand pagingOperating system 37 demand paging
Operating system 37 demand paging
 

Recently uploaded

Crayon Activity Handout For the Crayon A
Crayon Activity Handout For the Crayon ACrayon Activity Handout For the Crayon A
Crayon Activity Handout For the Crayon AUnboundStockton
 
Introduction to AI in Higher Education_draft.pptx
Introduction to AI in Higher Education_draft.pptxIntroduction to AI in Higher Education_draft.pptx
Introduction to AI in Higher Education_draft.pptxpboyjonauth
 
CARE OF CHILD IN INCUBATOR..........pptx
CARE OF CHILD IN INCUBATOR..........pptxCARE OF CHILD IN INCUBATOR..........pptx
CARE OF CHILD IN INCUBATOR..........pptxGaneshChakor2
 
Science 7 - LAND and SEA BREEZE and its Characteristics
Science 7 - LAND and SEA BREEZE and its CharacteristicsScience 7 - LAND and SEA BREEZE and its Characteristics
Science 7 - LAND and SEA BREEZE and its CharacteristicsKarinaGenton
 
KSHARA STURA .pptx---KSHARA KARMA THERAPY (CAUSTIC THERAPY)————IMP.OF KSHARA ...
KSHARA STURA .pptx---KSHARA KARMA THERAPY (CAUSTIC THERAPY)————IMP.OF KSHARA ...KSHARA STURA .pptx---KSHARA KARMA THERAPY (CAUSTIC THERAPY)————IMP.OF KSHARA ...
KSHARA STURA .pptx---KSHARA KARMA THERAPY (CAUSTIC THERAPY)————IMP.OF KSHARA ...M56BOOKSTORE PRODUCT/SERVICE
 
URLs and Routing in the Odoo 17 Website App
URLs and Routing in the Odoo 17 Website AppURLs and Routing in the Odoo 17 Website App
URLs and Routing in the Odoo 17 Website AppCeline George
 
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
 
18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf
18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf
18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdfssuser54595a
 
The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13Steve Thomason
 
Accessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impactAccessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impactdawncurless
 
Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)eniolaolutunde
 
Interactive Powerpoint_How to Master effective communication
Interactive Powerpoint_How to Master effective communicationInteractive Powerpoint_How to Master effective communication
Interactive Powerpoint_How to Master effective communicationnomboosow
 
Mastering the Unannounced Regulatory Inspection
Mastering the Unannounced Regulatory InspectionMastering the Unannounced Regulatory Inspection
Mastering the Unannounced Regulatory InspectionSafetyChain Software
 
Employee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptxEmployee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptxNirmalaLoungPoorunde1
 
How to Configure Email Server in Odoo 17
How to Configure Email Server in Odoo 17How to Configure Email Server in Odoo 17
How to Configure Email Server in Odoo 17Celine George
 

Recently uploaded (20)

Crayon Activity Handout For the Crayon A
Crayon Activity Handout For the Crayon ACrayon Activity Handout For the Crayon A
Crayon Activity Handout For the Crayon A
 
Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝
 
Introduction to AI in Higher Education_draft.pptx
Introduction to AI in Higher Education_draft.pptxIntroduction to AI in Higher Education_draft.pptx
Introduction to AI in Higher Education_draft.pptx
 
CARE OF CHILD IN INCUBATOR..........pptx
CARE OF CHILD IN INCUBATOR..........pptxCARE OF CHILD IN INCUBATOR..........pptx
CARE OF CHILD IN INCUBATOR..........pptx
 
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
 
Science 7 - LAND and SEA BREEZE and its Characteristics
Science 7 - LAND and SEA BREEZE and its CharacteristicsScience 7 - LAND and SEA BREEZE and its Characteristics
Science 7 - LAND and SEA BREEZE and its Characteristics
 
KSHARA STURA .pptx---KSHARA KARMA THERAPY (CAUSTIC THERAPY)————IMP.OF KSHARA ...
KSHARA STURA .pptx---KSHARA KARMA THERAPY (CAUSTIC THERAPY)————IMP.OF KSHARA ...KSHARA STURA .pptx---KSHARA KARMA THERAPY (CAUSTIC THERAPY)————IMP.OF KSHARA ...
KSHARA STURA .pptx---KSHARA KARMA THERAPY (CAUSTIC THERAPY)————IMP.OF KSHARA ...
 
URLs and Routing in the Odoo 17 Website App
URLs and Routing in the Odoo 17 Website AppURLs and Routing in the Odoo 17 Website App
URLs and Routing in the Odoo 17 Website App
 
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
 
Staff of Color (SOC) Retention Efforts DDSD
Staff of Color (SOC) Retention Efforts DDSDStaff of Color (SOC) Retention Efforts DDSD
Staff of Color (SOC) Retention Efforts DDSD
 
18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf
18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf
18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf
 
The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13
 
Accessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impactAccessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impact
 
Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)
 
Interactive Powerpoint_How to Master effective communication
Interactive Powerpoint_How to Master effective communicationInteractive Powerpoint_How to Master effective communication
Interactive Powerpoint_How to Master effective communication
 
Mastering the Unannounced Regulatory Inspection
Mastering the Unannounced Regulatory InspectionMastering the Unannounced Regulatory Inspection
Mastering the Unannounced Regulatory Inspection
 
Employee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptxEmployee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptx
 
Código Creativo y Arte de Software | Unidad 1
Código Creativo y Arte de Software | Unidad 1Código Creativo y Arte de Software | Unidad 1
Código Creativo y Arte de Software | Unidad 1
 
How to Configure Email Server in Odoo 17
How to Configure Email Server in Odoo 17How to Configure Email Server in Odoo 17
How to Configure Email Server in Odoo 17
 
Model Call Girl in Bikash Puri Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Bikash Puri  Delhi reach out to us at 🔝9953056974🔝Model Call Girl in Bikash Puri  Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Bikash Puri Delhi reach out to us at 🔝9953056974🔝
 

Memory Management: Chapters 4-8 on Paging, Segmentation, and Implementation

  • 1. 1 Memory Management Chapter 4 4.1 Basic memory management 4.2 Swapping 4.3 Virtual memory 4.4 Page replacement algorithms 4.5 Modeling page replacement algorithms 4.6 Design issues for paging systems 4.7 Implementation issues 4.8 Segmentation
  • 2. 2 Memory Management • Ideally programmers want memory that is – large – fast – non volatile • Memory hierarchy – small amount of fast, expensive memory – cache – some medium-speed, medium price main memory – gigabytes of slow, cheap disk storage • Memory manager handles the memory hierarchy
  • 3. 3 Basic Memory Management Monoprogramming without Swapping or Paging Three simple ways of organizing memory - an operating system with one user process
  • 4. 4 Multiprogramming with Fixed Partitions • Fixed memory partitions – separate input queues for each partition – single input queue
  • 5. 5 Modeling Multiprogramming CPU utilization as a function of number of processes in memory Degree of multiprogramming
  • 6. 6 Analysis of Multiprogramming System Performance • Arrival and work requirements of 4 jobs • CPU utilization for 1 – 4 jobs with 80% I/O wait • Sequence of events as jobs arrive and finish – note numbers show amout of CPU time jobs get in each interval
  • 7. 7 Relocation and Protection • Cannot be sure where program will be loaded in memory – address locations of variables, code routines cannot be absolute – must keep a program out of other processes’ partitions • Use base and limit values – address locations added to base value to map to physical addr – address locations larger than limit value is an error
  • 8. 8 Swapping (1) Memory allocation changes as – processes come into memory – leave memory Shaded regions are unused memory
  • 9. 9 Swapping (2) • Allocating space for growing data segment • Allocating space for growing stack & data segment
  • 10. 10 Memory Management with Bit Maps • Part of memory with 5 processes, 3 holes – tick marks show allocation units – shaded regions are free • Corresponding bit map • Same information as a list
  • 11. 11 Memory Management with Linked Lists Four neighbor combinations for the terminating process X
  • 12. 12 Virtual Memory Paging (1) The position and function of the MMU
  • 13. 13 Paging (2) The relation between virtual addresses and physical memory addres- ses given by page table
  • 14. 14 Page Tables (1) Internal operation of MMU with 16 4 KB pages
  • 15. 15 Page Tables (2) • 32 bit address with 2 page table fields • Two-level page tables Second-level page tables Top-level page table
  • 16. 16 Page Tables (3) Typical page table entry
  • 17. 17 TLBs – Translation Lookaside Buffers A TLB to speed up paging
  • 18. 18 Inverted Page Tables Comparison of a traditional page table with an inverted page table
  • 19. 19 Page Replacement Algorithms • Page fault forces choice – which page must be removed – make room for incoming page • Modified page must first be saved – unmodified just overwritten • Better not to choose an often used page – will probably need to be brought back in soon
  • 20. 20 Optimal Page Replacement Algorithm • Replace page needed at the farthest point in future – Optimal but unrealizable • Estimate by … – logging page use on previous runs of process – although this is impractical
  • 21. 21 Not Recently Used Page Replacement Algorithm • Each page has Reference bit, Modified bit – bits are set when page is referenced, modified • Pages are classified 1. not referenced, not modified 2. not referenced, modified 3. referenced, not modified 4. referenced, modified • NRU removes page at random – from lowest numbered non empty class
  • 22. 22 FIFO Page Replacement Algorithm • Maintain a linked list of all pages – in order they came into memory • Page at beginning of list replaced • Disadvantage – page in memory the longest may be often used
  • 23. 23 Second Chance Page Replacement Algorithm • Operation of a second chance – pages sorted in FIFO order – Page list if fault occurs at time 20, A has R bit set (numbers above pages are loading times)
  • 24. 24 The Clock Page Replacement Algorithm
  • 25. 25 Least Recently Used (LRU) • Assume pages used recently will used again soon – throw out page that has been unused for longest time • Must keep a linked list of pages – most recently used at front, least at rear – update this list every memory reference !! • Alternatively keep counter in each page table entry – choose page with lowest value counter – periodically zero the counter
  • 26. 26 Simulating LRU in Software (1) LRU using a matrix – pages referenced in order 0,1,2,3,2,1,0,3,2,3
  • 27. 27 Simulating LRU in Software (2) • The aging algorithm simulates LRU in software • Note 6 pages for 5 clock ticks, (a) – (e)
  • 28. 28 The Working Set Page Replacement Algorithm (1) • The working set is the set of pages used by the k most recent memory references • w(k,t) is the size of the working set at time, t
  • 29. 29 The Working Set Page Replacement Algorithm (2) The working set algorithm
  • 30. 30 The WSClock Page Replacement Algorithm Operation of the WSClock algorithm
  • 31. 31 Review of Page Replacement Algorithms
  • 32. 32 Modeling Page Replacement Algorithms Belady's Anomaly • FIFO with 3 page frames • FIFO with 4 page frames • P's show which page references show page faults
  • 33. 33 Stack Algorithms State of memory array, M, after each item in reference string is processed 7 4 6 5
  • 34. 34 The Distance String Probability density functions for two hypothetical distance strings
  • 35. 35 The Distance String • Computation of page fault rate from distance string – the C vector – the F vector
  • 36. 36 Design Issues for Paging Systems Local versus Global Allocation Policies (1) • Original configuration • Local page replacement • Global page replacement
  • 37. 37 Local versus Global Allocation Policies (2) Page fault rate as a function of the number of page frames assigned
  • 38. 38 Load Control • Despite good designs, system may still thrash • When PFF algorithm indicates – some processes need more memory – but no processes need less • Solution : Reduce number of processes competing for memory – swap one or more to disk, divide up pages they held – reconsider degree of multiprogramming
  • 39. 39 Page Size (1) Small page size • Advantages – less internal fragmentation – better fit for various data structures, code sections – less unused program in memory • Disadvantages – programs need many pages, larger page tables
  • 40. 40 Page Size (2) • Overhead due to page table and internal fragmentation • Where – s = average process size in bytes – p = page size in bytes – e = page entry 2 s e p overhead p    page table space internal fragmentation Optimized when 2 p se 
  • 41. 41 Separate Instruction and Data Spaces • One address space • Separate I and D spaces
  • 42. 42 Shared Pages Two processes sharing same program sharing its page table
  • 43. 43 Cleaning Policy • Need for a background process, paging daemon – periodically inspects state of memory • When too few frames are free – selects pages to evict using a replacement algorithm • It can use same circular list (clock) – as regular page replacement algorithmbut with diff ptr
  • 44. 44 Implementation Issues Operating System Involvement with Paging Four times when OS involved with paging 1. Process creation  determine program size  create page table 2. Process execution  MMU reset for new process  TLB flushed 3. Page fault time  determine virtual address causing fault  swap target page out, needed page in 4. Process termination time  release page table, pages
  • 45. 45 Page Fault Handling (1) 1. Hardware traps to kernel 2. General registers saved 3. OS determines which virtual page needed 4. OS checks validity of address, seeks page frame 5. If selected frame is dirty, write it to disk
  • 46. 46 Page Fault Handling (2) 6. OS brings schedules new page in from disk 7. Page tables updated  Faulting instruction backed up to when it began 6. Faulting process scheduled 7. Registers restored  Program continues
  • 47. 47 Instruction Backup An instruction causing a page fault
  • 48. 48 Locking Pages in Memory • Virtual memory and I/O occasionally interact • Proc issues call for read from device into buffer – while waiting for I/O, another processes starts up – has a page fault – buffer for the first proc may be chosen to be paged out • Need to specify some pages locked – exempted from being target pages
  • 49. 49 Backing Store (a) Paging to static swap area (b) Backing up pages dynamically
  • 50. 50 Separation of Policy and Mechanism Page fault handling with an external pager
  • 51. 51 Segmentation (1) • One-dimensional address space with growing tables • One table may bump into another
  • 52. 52 Segmentation (2) Allows each table to grow or shrink, independently
  • 53. 53 Segmentation (3) Comparison of paging and segmentation
  • 54. 54 Implementation of Pure Segmentation (a)-(d) Development of checkerboarding (e) Removal of the checkerboarding by compaction
  • 55. 55 Segmentation with Paging: MULTICS (1) • Descriptor segment points to page tables • Segment descriptor – numbers are field lengths
  • 56. 56 Segmentation with Paging: MULTICS (2) A 34-bit MULTICS virtual address
  • 57. 57 Segmentation with Paging: MULTICS (3) Conversion of a 2-part MULTICS address into a main memory address
  • 58. 58 Segmentation with Paging: MULTICS (4) • Simplified version of the MULTICS TLB • Existence of 2 page sizes makes actual TLB more complicated
  • 59. 59 Segmentation with Paging: Pentium (1) A Pentium selector
  • 60. 60 Segmentation with Paging: Pentium (2) • Pentium code segment descriptor • Data segments differ slightly
  • 61. 61 Segmentation with Paging: Pentium (3) Conversion of a (selector, offset) pair to a linear address
  • 62. 62 Segmentation with Paging: Pentium (4) Mapping of a linear address onto a physical address
  • 63. 63 Segmentation with Paging: Pentium (5) Protection on the Pentium Level