Chapter 7 - P ART T HREE O ne of the most difficult aspects...

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

View Full Document Right Arrow Icon

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

View Full DocumentRight Arrow Icon

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

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

Unformatted text preview: P ART T HREE O ne of the most difficult aspects of operating system design is memory man- agement. Although the cost of memory has dropped dramatically and, as a result, the size of main memory on modern machines has grown, reaching into the gigabyte range, there is never enough main memory to hold all of the pro- grams and data structures needed by active processes and by the operating system. Accordingly, a central task of the operating system is to manage memory, which in- volves bringing in and swapping out blocks of data from secondary memory. How- ever, memory I/O is a slow operation, and its speed relative to the processor's instruction cycle time lags further and further behind with each passing year. To keep the processor or processors busy and thus to maintain efficiency, the operating system must cleverly time the swapping in and swapping out to minimize the effect of memory I/O on performance. ROAD MAP FOR PART THREE Chapter 7 Memory Management Chapter 7 provides an overview of the fundamental mechanisms used in memory management. First, the basic requirements of any memory management scheme are summarized. Then the use of memory partitioning is introduced. This technique is not much used except in special cases, such as kernel memory management. Howev- er, a review of memory partitioning illuminates many of the design issues involved in memory management. The remainder of the chapter deals with two techniques that form the basic building blocks of virtually all memory management systems: paging and segmentation. Chapter 8 Virtual Memory Virtual memory, based on the use of either paging or the combination of paging and segmentation, is the almost universal approach to memory management on contemporary machines. Virtual memory is a scheme that is transparent to the application processes and allows each process to behave as if it had unlimited memory at its disposal. To achieve this, the operating system creates for each Memory 309 M07_STAL6329_06_SE_C07.QXD 2/21/08 9:30 PM Page 309 310 PART 3 / MEMORY process a virtual address space, or virtual memory, on disk. Part of the virtual memory is brought into real main memory as needed. In this way, many processes can share a relatively small amount of main memory. For virtual memory to work effectively, hardware mechanisms are needed to perform the basic paging and segmentation functions, such as address translation between virtual and real ad- dresses. Chapter 8 begins with an overview of these hardware mechanisms. The remainder of the chapter is devoted to operating system design issues relating to virtual memory. M07_STAL6329_06_SE_C07.QXD 2/21/08 9:30 PM Page 310 311 7.1 Memory Management Requirements Relocation Protection Sharing Logical Organization Physical Organization 7.2 Memory Partitioning Fixed Partitioning Dynamic Partitioning Buddy System Relocation 7.3 Paging 7.4 Segmentation 7.5 Security Issues Buffer Overflow Attacks Defending against Buffer Overflows 7.6 Summary 7.7 Recommended Reading...
View Full Document

Page1 / 36

Chapter 7 - P ART T HREE O ne of the most difficult aspects...

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