Chapter 8 - M08_STAL6329_06_SE_C08.QXD 9:31 PM Page 345...

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

View Full Document Right Arrow Icon
V IRTUAL M EMORY 8.1 Hardware and Control Structures Locality and Virtual Memory Paging Segmentation Combined Paging and Segmentation Protection and Sharing 8.2 Operating System Software Fetch Policy Placement Policy Replacement Policy Resident Set Management Cleaning Policy Load Control 8.3 UNIX and Solaris Memory Management Paging System Kernel Memory Allocator 8.4 Linux Memory Management Linux Virtual Memory Kernel Memory Allocation 8.5 Windows Memory Management Windows Virtual Address Map Windows Paging 8.6 Summary 8.7 Recommended Reading and Web Sites 8.8 Key Terms, Review Questions, and Problems APPENDIX 8A Hash Tables 345 CHAPTER M08_STAL6329_06_SE_C08.QXD 2/21/08 9:31 PM Page 345
Background image of page 1

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

View Full Document Right Arrow Icon
346 CHAPTER 8 / VIRTUAL MEMORY Chapter 7 introduced the concepts of paging and segmentation and analyzed their shortcomings.We now move to a discussion of virtual memory.An analysis of this topic is complicated by the fact that memory management is a complex interrelationship be- tween processor hardware and operating system software.We focus first on the hard- ware aspect of virtual memory, looking at the use of paging, segmentation, and combined paging and segmentation.Then we look at the issues involved in the design of a virtual memory facility in operating systems. Table 8.1 defines some key terms related to virtual memory. 8.1 HARDWARE AND CONTROL STRUCTURES Comparing simple paging and simple segmentation, on the one hand, with fixed and dynamic partitioning, on the other, we see the foundation for a fundamental break- through in memory management. Two characteristics of paging and segmentation are the keys to this breakthrough: 1. All memory references within a process are logical addresses that are dynam- ically translated into physical addresses at run time.This means that a process may be swapped in and out of main memory such that it occupies different re- gions of main memory at different times during the course of execution. 2. A process may be broken up into a number of pieces (pages or segments) and these pieces need not be contiguously located in main memory during execu- tion.The combination of dynamic run-time address translation and the use of a page or segment table permits this. Now we come to the breakthrough. If the preceding two characteristics are pre- sent, then it is not necessary that all of the pages or all of the segments of a process be in main memory during execution. If the piece (segment or page) that holds the next instruction to be fetched and the piece that holds the next data location to be ac- cessed are in main memory, then at least for a time execution may proceed. Let us consider how this may be accomplished. For now, we can talk in general terms,and we will use the term piece to refer to either page or segment,depending on Table 8.1 Virtual Memory Terminology Virtual memory A storage allocation scheme in which secondary memory can be addressed as though it were part of main memory.The addresses a program may use to reference mem-
Background image of page 2
Image of page 3
This is the end of the preview. Sign up to access the rest of the document.

{[ snackBarMessage ]}

Page1 / 59

Chapter 8 - M08_STAL6329_06_SE_C08.QXD 9:31 PM Page 345...

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

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