In Chapter 5, we showed how the CPU can be shared by a set of processes. As a result of CPU scheduling, we can improve both the utilization of the CPU and the speed of the computer’s response to its users. To realize this increase in performance, however, we must keep several processes in memory; that is, we must share memory.
In this chapter, we discuss various ways to manage memory. The memory-management algorithms vary from a primitive bare-machine approach to paging and segmentation strategies. Each approach has its own advantages and disadvantages. Selection of a memory-management method for a specific system depends on many factors, especially on the hardware design of the system. As we shall see, many algorithms require hardware support, although recent designs have closely integrated the hardware and operating system.
• To provide a detailed description of various ways of organizing memory hardware.
• To discuss various memory-management techniques, including paging and segmentation.
• To provide a detailed description of the Intel Pentium, which supports both pure segmentation and segmentation with paging.
As we saw in Chapter 1, memory is central to the operation of ...