chapter08 - Hardware and Control Structures Memory...

Info iconThis preview shows pages 1–4. Sign up to view the full content.

View Full Document Right Arrow Icon
1 Virtual Memory Chapter 8 Hardware and Control Structures Memory references are dynamically translated into physical addresses at run time A process may be swapped in and out of main memory such that it occupies different regions A process may be broken up into pieces that do not need to located contiguously in main memory All pieces of a process do not need to be loaded in main memory during execution If the preceding two characteristics are present, then it is not necessary that all of the pages or all of the segments of a process be in main memory during execution. Terminology Execution of a Program Operating system brings into main memory a few pieces of the program Resident set - portion of process that is in main memory An interrupt is generated when an address is needed that is not in main memory Operating system places the process in a blocking state Execution of a Program Piece of process that contains the logical address is brought into main memory Operating system issues a disk I/O Read request Another process is dispatched to run while the disk I/O takes place An interrupt is issued when disk I/O complete which causes the operating system to place the affected process in the Ready state
Background image of page 1

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
2 Advantages of Breaking up a Process More processes may be maintained in main memory Only load in some of the pieces of each process With so many processes in main memory, it is very likely a process will be in the Ready state at any particular time A process may be larger than all of main memory Types of Memory Real memory Main memory, the actual RAM Virtual memory Memory on disk Allows for effective multiprogramming and relieves the user of tight constraints of main memory Table 8.2 Characteristics of Paging and Segmentation Thrashing Swapping out a piece of a process just before that piece is needed. Thrashing is a state in which the system spends most of its time swapping pieces rather than executing user instructions. To avoid this, the operating system tries to guess, based on recent history, which pieces are least likely to be used in the near future. Principle of Locality Program and data references within a process tend to cluster Only a few pieces of a process will be needed over a short period of time Possible to make intelligent guesses about which pieces will be needed in the future Avoid thrashing This suggests that virtual memory may work efficiently Paging Behavior During the lifetime of the process, references are confined to a subset of pages
Background image of page 2
3 Support Needed for Virtual Memory Hardware must support paging and segmentation Operating system must be able to management the movement of pages and/or segments between secondary memory and main memory Paging The term virtual memory is usually associated with systems that employ paging Use of paging to achieve virtual memory was first reported for the Atlas computer
Background image of page 3

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
Image of page 4
This is the end of the preview. Sign up to access the rest of the document.

This note was uploaded on 11/26/2011 for the course CSE 410 taught by Professor Bonakdarpour during the Spring '08 term at Michigan State University.

Page1 / 15

chapter08 - Hardware and Control Structures Memory...

This preview shows document pages 1 - 4. Sign up to view the full document.

View Full Document Right Arrow Icon
Ask a homework question - tutors are online