1 / 47

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

ida
Download Presentation

Virtual Memory

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 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

  2. Learning Objectives After interacting with this Learning Object, the learner will be able to: • Explain the concept of virtual memory

  3. Definitions of the components/Keywords: 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. 2 3 4 5

  4. Definitions of the components/Keywords: • 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. 1 2 3 4 5

  5. Definitions of the components/Keywords: • 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. 1 2 3 4 5

  6. Definitions of the components/Keywords: 1 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. 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. 2 3 4 5

  7. Analogy 1 Person Looks for money 2 House Got enough money? No Yes 3 Goes to the Bank Need Fulfilled Bank 4 Here HOUSE acts as the physical memory and BANK acts as the backing store 5

  8. Analogy 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. 2 3 4 5

  9. Master Layout 1 1 2 3 4 • Give a PLAY button • Give PAUSE and RESTART/CLEAR buttons • Give two radio buttons FAST and SLOW 5

  10. Step 1: 1 2 3 4 5

  11. Step 2: Page 0 1 2 3 4 5

  12. Step 3: 1 2 3 4 5

  13. Step 4: 1 2 3 4 5

  14. Step 5: Page 1 1 2 3 4 5

  15. Step 6: 1 2 3 4 5

  16. Step 7: 1 2 3 4 5

  17. Step 8: 1 2 3 4 5

  18. Step 9: Page 2 1 2 3 4 5

  19. Step 10: 1 2 3 4 5

  20. Step 11: 1 2 3 4 5

  21. Step 12: Page 3 1 2 3 4 5

  22. Step 13: 1 2 3 4 5

  23. Step 14: 1 2 3 4 5

  24. Step 15: 1 2 3 4 5

  25. Step 16: Page 4 1 2 3 4 5

  26. Step 17: 1 2 3 4 5

  27. Step 18: 1 2 3 4 5

  28. Step 19: Page 5 1 2 3 4 5

  29. Step 20: 1 2 3 4 5

  30. Step 21: 1 2 3 4 5

  31. Step 22: 1 2 3 4 5

  32. Step 23: 1 2 3 4 5

  33. Step 24: 1 2 3 4 5

  34. Step 25: Page 6 1 2 3 4 5

  35. Step 26: 1 2 3 4 5

  36. Step 27: 1 2 3 4 5

  37. Step 28: 1 2 3 4 5

  38. Step 29: 1 2 3 4 5

  39. Step 30: Page 7 1 2 3 4 5

  40. Step 31: 1 2 3 4 5

  41. Step 32: 1 2 3 4 5

  42. Step 33: 1 2 3 4 5

  43. Electrical Engineering Slide 1 Slide 3 Slide 44-46 Slide 47 Introduction Definitions Analogy Test your understanding (questionnaire)‏ Lets Sum up (summary)‏ Want to know more… (Further Reading)‏ Interactivity: Try it yourself • 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 • Give page numbers in the application program as radio buttons • Give two radio buttons as FAST and SLOW 43 Credits

  44. Questionnaire 1 1. Which is bigger, virtual memory or physical memory? Answers: a) Virtual Memory b) Physical Memory c) Any of them 2 3 4 5

  45. Questionnaire 1 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 2 3 4 5

  46. Questionnaire 1 3. The advantages of virtual memory are: i) Programmer don’t need to bother about the size of the program ii) Number of processes that can reside in main memory is less iii) Less I/O would be needed to load or swap a program Answers: i & ii comment - Number of processes that can reside in main memory is more b) i & iii c) ii & iii d) None 2 3 4 5

  47. Links for further reading Reference websites: http://en.wikipedia.org/wiki/Virtual_memory http://en.wikipedia.org/wiki/Page_table Books:

More Related