Top Banner
Virtual Memory Virtual memory is a technique which gives an application program the impression that it has contiguous working memory, while in fact it may be physically fragmented and may overflow on to disk storage. Course Name: Operating Systems Level(UG/PG): UG Author(s) : Phani Swathi Chitta Mentor: Aruna Adil *The contents in this ppt are licensed under Creative Commons Attribution-NonCommercial- ShareAlike 2.5 India license
47

Virtual Memory

Mar 18, 2016

Download

Documents

Shane Gallagher

Virtual Memory. Virtual memory is a technique which gives an application program the impression that it has contiguous working memory, while in fact it may be physically fragmented and may overflow on to disk storage. Course Name: Operating Systems Level(UG/PG): UG - PowerPoint PPT Presentation
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Virtual Memory

Virtual Memory

Virtual memory is a technique which gives an application program the impression that it has contiguous working memory, while in fact it may be physically fragmented and may overflow on to disk storage.

Course Name: Operating Systems Level(UG/PG): UG Author(s) : Phani Swathi ChittaMentor: Aruna Adil

*The contents in this ppt are licensed under Creative Commons Attribution-NonCommercial-ShareAlike 2.5 India license

Page 2: Virtual Memory

Learning ObjectivesAfter interacting with this Learning Object, the learner will be able to:• Explain the concept of virtual memory

Page 3: Virtual Memory

Definitions of the components/Keywords:

5

3

2

4

1 Glossary:

• Virtual Memory: It is a technique which gives an application program the impression that it has contiguous address space but physically it is fragmented in the main memory and secondary storage devices.

• Physical Memory: It refers to the real storage and describes the total amount of memory installed in the computer. Usually consists of Random Access Memory (RAM) and hard drives.

• Page Table: A page table is the data structure used by a virtual memory system in a computer operating system to store the mapping between virtual addresses and physical addresses. It has the ability to mark an entry invalid through valid-invalid bit.

• TLB: TLB [Translation Lookaside Buffer] is a table in the processor’s memory that contains information about the pages in memory the processor has accessed recently. The table cross-references a program’s virtual addresses with the corresponding absolute addresses in physical memory that the program has most recently used.

Page 4: Virtual Memory

Definitions of the components/Keywords:

5

3

2

4

1 Glossary:• Paging: In the paging memory-management scheme, the operating system retrieves data from secondary storage in same-size blocks called pages.

•Memory Management Unit: A memory management unit (MMU), sometimes called paged memory management unit (PMMU), is a computer hardware component responsible for handling accesses to memory requested by the CPU. Its functions include translation of virtual addresses to physical addresses (i.e., virtual memory management), memory protection, cache control, bus arbitration and in simpler computer architectures (especially 8-bit systems), bank switching.

• Demand Paging: A refinement of paging in which it is not necessary to load in the entire contents of the text and data segments of a program from disk when the process is started. Instead, pages are brought into memory as they are accessed.

• Lazy Swapper: A lazy swapper never swaps a page into memory unless that page will be needed.

Page 5: Virtual Memory

Definitions of the components/Keywords:

5

3

2

4

1 Glossary:

• Virtual Address Space: The virtual address space of a process refers to the logical view of how a process is stored in memory.

• Thrashing: It is a degenerate situation where large amounts of computer resources are used to do a minimal amount of work.

• Segmentation: Segmentation is a memory management technique in which memory is divided into variable sized chunks which can be allocated to processes. Each chunk is called a segment.

Page 6: Virtual Memory

Definitions of the components/Keywords:

5

3

2

4

1Virtual Memory is a technique which gives an application

program the impression that it has contiguous working memory, while in fact it may be physically fragmented and may overflow on to disk storage.

Programs use virtual addresses than real addresses to atore data. When the program is actually executed, the virtual addresses are converted into real memory addresses.

When a process requests access to its memory, it is the responsibility of the operating system to map the virtual address to the physical address.

A page table is used to store mapping between virtual addresses and physical addresses.

Page 7: Virtual Memory

Analogy

5

3

2

4

1 Person

House

Bank Need Fulfilled

No

Looks for money

Got enough money?

Yes

Goes to the Bank

Here HOUSE acts as the physical memory and BANK acts as the backing store

Page 8: Virtual Memory

Analogy

5

3

2

4

1 • If a person needs money, first he will check in his house.

• If he cannot find out enough money there then he will go to the bank and withdraw the money that he needs.

• Here bank is analogous to virtual storage space and house or wallet is analogous to the physical space.

Page 9: Virtual Memory

Master Layout 1

5

3

2

4

1

• Give a PLAY button• Give PAUSE and RESTART/CLEAR buttons• Give two radio buttons FAST and SLOW

Page 10: Virtual Memory

Step 1: 1

5

32

4Instruction for the animator Text to be displayed in the working area (DT)

• When the user clicks PLAY, show fig in the master layout

• The text in DT should appear in parallel to the figure

• The process of finding the page is shown in the next slides

• Follow the figures and the flow of finding the page should be accordingly

• Programs use virtual address to store data • When a program is executed, virtual address is converted to real logical

address• A page table is used to store mapping between virtual address and logical

address

Page 11: Virtual Memory

Step 2: 1

5

32

4

Page 0

Instruction for the animator Text to be displayed in the working area (DT)• The action showed in the figure must be

performed • The text in DT should appear in parallel to

the figure

• Memory Access of Page 0• Here Application program tries to access page 0• So first the TLB is checked for the virtual address 000v

Page 12: Virtual Memory

Step 3: 1

5

32

4Instruction for the animator Text to be displayed in the working area (DT)

• The action showed in the figure must be performed

• The text in DT should appear in parallel to the figure

• It exists in TLB and it means a TLB Hit which says page 0 exists in physical memory itself

• SO Page 0 can be accessed directly from physical memory

Page 13: Virtual Memory

Step 4: 1

5

32

4Instruction for the animator Text to be displayed in the working area (DT)

• The action showed in the figure must be performed

• The text in DT should appear in parallel to the figure

• Page 0 can be accessed directly from physical memory since it is found in physical memory

Page 14: Virtual Memory

Step 5: 1

5

32

4

Page 1

Instruction for the animator Text to be displayed in the working area (DT)• The action showed in the figure must be

performed • The text in DT should appear in parallel to

the figure

• Memory Access of Page 1• Here Application program tries to access page 1• So first the TLB is checked for the virtual address 111v

Page 15: Virtual Memory

Step 6: 1

5

32

4Instruction for the animator Text to be displayed in the working area (DT)

• The action showed in the figure must be performed

• The text in DT should appear in parallel to the figure

• Page 1 does not exist in TLB and it means a TLB miss• Now page table is to be checked

Page 16: Virtual Memory

Step 7: 1

5

32

4Instruction for the animator Text to be displayed in the working area (DT)

• The action showed in the figure must be performed

• The text in DT should appear in parallel to the figure

• Page table is checked for 111v and is not present which results in a page fault

• Now secondary memory is to checked for 111v

Page 17: Virtual Memory

Step 8: 1

5

32

4Instruction for the animator Text to be displayed in the working area (DT)

• The action showed in the figure must be performed

• The text in DT should appear in parallel to the figure

• Now secondary memory is checked for 111v• It exists there• Now page 1 will be shifted from secondary memory to physical memory• Appropriate updating is done in TLB and page table

Page 18: Virtual Memory

Step 9: 1

5

32

4

Page 2

Instruction for the animator Text to be displayed in the working area (DT)• The action showed in the figure must be

performed • The text in DT should appear in parallel to

the figure

• Memory Access of Page 2• Here Application program tries to access page 2• So first the TLB is checked for the virtual address 222v

Page 19: Virtual Memory

Step 10: 1

5

32

4Instruction for the animator Text to be displayed in the working area (DT)

• The action showed in the figure must be performed

• The text in DT should appear in parallel to the figure

• It exists in TLB and it means a TLB Hit which says page 2 exists in physical memory itself

• SO Page 2 can be accessed directly from physical memory

Page 20: Virtual Memory

Step 11: 1

5

32

4Instruction for the animator Text to be displayed in the working area (DT)

• The action showed in the figure must be performed

• The text in DT should appear in parallel to the figure

• Page 2 can be accessed directly from physical memory since it is found in physical memory

Page 21: Virtual Memory

Step 12: 1

5

32

4

Page 3

Instruction for the animator Text to be displayed in the working area (DT)• The action showed in the figure must be

performed • The text in DT should appear in parallel to

the figure

• Memory Access of Page 3• Here Application program tries to access page 3• So first the TLB is checked for the virtual address 333v

Page 22: Virtual Memory

Step 13: 1

5

32

4Instruction for the animator Text to be displayed in the working area (DT)

• The action showed in the figure must be performed

• The text in DT should appear in parallel to the figure

• Page 3 does not exist in TLB and it means a TLB miss• Now page table is to be checked

Page 23: Virtual Memory

Step 14: 1

5

32

4Instruction for the animator Text to be displayed in the working area (DT)

• The action showed in the figure must be performed

• The text in DT should appear in parallel to the figure

• Page table is checked for 333v and is not present which results in a page fault

• Now secondary memory is to checked for 333v

Page 24: Virtual Memory

Step 15: 1

5

32

4Instruction for the animator Text to be displayed in the working area (DT)

• The action showed in the figure must be performed

• The text in DT should appear in parallel to the figure

• Now secondary memory is checked for 333v• It exists there• Now page 3 will be shifted from secondary memory to physical memory• Appropriate updating is done in TLB and page table

Page 25: Virtual Memory

Step 16: 1

5

32

4

Page 4

Instruction for the animator Text to be displayed in the working area (DT)• The action showed in the figure must be

performed • The text in DT should appear in parallel to

the figure

• Memory Access of Page 4• Here Application program tries to access page 4• So first the TLB is checked for the virtual address 444v

Page 26: Virtual Memory

Step 17: 1

5

32

4 Instruction for the animator Text to be displayed in the working area (DT)• The action showed in the figure must be

performed • The text in DT should appear in parallel to

the figure

• It exists in TLB and it means a TLB Hit which says page 4 exists in physical memory itself

• SO Page 4 can be accessed directly from physical memory

Page 27: Virtual Memory

Step 18: 1

5

32

4Instruction for the animator Text to be displayed in the working area (DT)

• The action showed in the figure must be performed

• The text in DT should appear in parallel to the figure

• Page 4 can be accessed directly from physical memory since it is found in physical memory

Page 28: Virtual Memory

Step 19: 1

5

32

4

Page 5

Instruction for the animator Text to be displayed in the working area (DT)• The action showed in the figure must be

performed • The text in DT should appear in parallel to

the figure

• Memory Access of Page 5• Here Application program tries to access page 5• So first the TLB is checked for the virtual address 555v

Page 29: Virtual Memory

Step 20: 1

5

32

4Instruction for the animator Text to be displayed in the working area (DT)

• The action showed in the figure must be performed

• The text in DT should appear in parallel to the figure

• Page 5 does not exist in TLB and it means a TLB miss• Now page table is to be checked

Page 30: Virtual Memory

Step 21: 1

5

32

4Instruction for the animator Text to be displayed in the working area (DT)

• The action showed in the figure must be performed

• The text in DT should appear in parallel to the figure

• Page 5 is found in page table

Page 31: Virtual Memory

Step 22: 1

5

32

4Instruction for the animator Text to be displayed in the working area (DT)

• The action showed in the figure must be performed

• The text in DT should appear in parallel to the figure

• Now page 5 is present in page table but not in TLB• So an entry should be done in TLB• Now TLB is updated

Page 32: Virtual Memory

Step 23: 1

5

32

4Instruction for the animator Text to be displayed in the working area (DT)

• The action showed in the figure must be performed

• The text in DT should appear in parallel to the figure

• Now page 5 exists in both TLB and page table• The logical address will be got from TLB and can access page 5 from

physical memory

Page 33: Virtual Memory

Step 24: 1

5

32

4Instruction for the animator Text to be displayed in the working area (DT)

• The action showed in the figure must be performed

• The text in DT should appear in parallel to the figure

• Page 5 is found in physical memory

Page 34: Virtual Memory

Step 25: 1

5

32

4

Page 6

Instruction for the animator Text to be displayed in the working area (DT)• The action showed in the figure must be

performed • The text in DT should appear in parallel to

the figure

• Memory Access of Page 6• Here Application program tries to access page 6• So first the TLB is checked for the virtual address 666v

Page 35: Virtual Memory

Step 26: 1

5

32

4Instruction for the animator Text to be displayed in the working area (DT)

• The action showed in the figure must be performed

• The text in DT should appear in parallel to the figure

• Page 6 does not exist in TLB and it means a TLB miss• Now page table is to be checked

Page 36: Virtual Memory

Step 27: 1

5

32

4Instruction for the animator Text to be displayed in the working area (DT)

• The action showed in the figure must be performed

• The text in DT should appear in parallel to the figure

• Page 6 is not present in page table which results in a page fault. Now secondary memory is to be checked for 666v

Page 37: Virtual Memory

Step 28: 1

5

32

4Instruction for the animator Text to be displayed in the working area (DT)

• The action showed in the figure must be performed

• The text in DT should appear in parallel to the figure

• 666v is present in secondary memory. Now it has to be moved to physical memory

• But physical memory is full. So we have to make use of some replacement algorithm to make room available for page 6

Page 38: Virtual Memory

Step 29: 1

5

32

4Instruction for the animator Text to be displayed in the working area (DT)

• The action showed in the figure must be performed

• The text in DT should appear in parallel to the figure

• Here LRU [Least Recently Used] algorithm is used• Then page 0 which is least recently used, is moved to secondary memory

and page 6 is now present in physical memory• Appropriate updates are done in TLB, page table and secondary memory

Page 39: Virtual Memory

Step 30: 1

5

32

4

Page 7

Instruction for the animator Text to be displayed in the working area (DT)• The action showed in the figure must be

performed • The text in DT should appear in parallel to

the figure

• Memory Access of Page 7• Here Application program tries to access page 7• So first the TLB is checked for the virtual address 777v

Page 40: Virtual Memory

Step 31: 1

5

32

4Instruction for the animator Text to be displayed in the working area (DT)

• The action showed in the figure must be performed

• The text in DT should appear in parallel to the figure

• Page 7 does not exist there and it means a TLB miss• So page table is to be checked

Page 41: Virtual Memory

Step 32: 1

5

32

4Instruction for the animator Text to be displayed in the working area (DT)

• The action showed in the figure must be performed

• The text in DT should appear in parallel to the figure

• Page 7 is not present in page table also and which results in a page fault• Now secondary memory is to be checked for 777v

Page 42: Virtual Memory

Step 33: 1

5

32

4Instruction for the animator Text to be displayed in the working area (DT)

• The action showed in the figure must be performed

• The text in DT should appear in parallel to the figure

• Page 7 is not present in secondary memory too.• Now 777v exists in neither page table nor in secondary memory• It means no translation is available for 777v – that is page 7 is not present

anywhere• It may be due to some program error. So either system will provide some

error message or OS will use some techniques to handle the ________

Page 43: Virtual Memory

Introduction

Credits

43

Definitions Test your understanding (questionnaire) Lets Sum up (summary) Want to know more…

(Further Reading)

Try it yourself

Interactivity:

Analogy

Slide 1

Slide 3

Slide 44-46

Slide 47

Electrical Engineering

• Give page numbers in the application program as radio buttons• Give two radio buttons as FAST and SLOW

•The same algorithm as in demo is followed• When a page is selected, show the process how the page is found• The layout must be the same as in slide 10

Page 44: Virtual Memory

Questionnaire1. Which is bigger, virtual memory or physical memory?

Answers: a) Virtual Memory b) Physical Memory c) Any of them

1

5

2

4

3

Page 45: Virtual Memory

Questionnaire

2. How are the pages actually kept in the physical memory which are referenced in the virtual memory?

Answers: a) Contiguously Pages are kept non-contiguously in physical memory b) Non-contiguously c) Can’t say Pages are kept non-contiguously in physical memory

1

5

2

4

3

Page 46: Virtual Memory

Questionnaire3. The advantages of virtual memory are:

i) Programmer don’t need to bother about the size of the programii) Number of processes that can reside in main memory is less

iii) Less I/O would be needed to load or swap a programAnswers: a) i & iicomment - Number of processes that can reside in main

memory is moreb) i & iiic) ii & iii d) None

1

5

2

4

3

Page 47: Virtual Memory

Links for further readingReference websites:http://en.wikipedia.org/wiki/Virtual_memoryhttp://en.wikipedia.org/wiki/Page_table

Books: