Besides CPU time, a very important resource to be managed by an operating system is memory, as for an effective operation it is necessary that each process, and the operating system itself, have the required memory available at any given time. Modern general-purpose operating systems manage memory through a paging mechanism, and reserve a swap space on disk to allow the pool of running processes to collectively access more memory than the available RAM, creating a virtual memory system. Therefore, the general term 'memory' actually refers to two entities, namely physical memory (RAM) and swap space. The memory management activity is generally devoted to a software kernel allocator, that interacts on one side with the running processes, and on the other with a hardware Memory Management Unit (MMU), with the overall goal of satisfying the systems' memory needs by means of RAM and swap space. To support this claim, it is interesting to briefly outline how the typical memory management systems work, and then review some of the milestones of the consolidation of such a design.
Memory management, Page 1 of 2
< Previous page Next page > /docserver/preview/fulltext/books/ce/pbce089e/PBCE089E_ch6-1.gif /docserver/preview/fulltext/books/ce/pbce089e/PBCE089E_ch6-2.gif