1 / 10

Memory Management

Memory Management. Memory management is the art and the process of coordinating and controlling the use of memory in a computer system Why memory management? Multiple processing Relocation Protection Sharing Logical Organization Physical Organization. Three areas of memory management.

caesar
Download Presentation

Memory Management

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Memory Management • Memory management is the art and the process of coordinating and controlling the use of memory in a computer system • Why memory management? • Multiple processing • Relocation • Protection • Sharing • Logical Organization • Physical Organization

  2. Three areas of memory management • Memory management hardware • MMUs (Memory Management Unit), RAM, etc. • Operating system memory management: • Virtual memory, protection, etc. • Application memory management: • Allocation, garbage collection, etc.

  3. Memory Management Hardware • Memory management devices include RAM, MMUs, caches, disks, and processor registers • Ex. MMU • a hardware device responsible for handling memory(2) accesses requested by the main processor • translates virtual addresses to physical addresses

  4. Operating System Memory Management • Virtual Memory • Operating systems simulates having more memory than is available as main memory, by storing part of the data in backing store, typically on disk. • If the page referenced by the virtual address is not currently in main memory, a page fault occurs, triggering an operating system handler that swaps in the page. • Some other page might be swapped out to make room • Benefits

  5. Operating System Memory Management • Protection (also known as memory protection, page protection) • Operating systems can protect memory pages against a combination of read, write or execute accesses by a process. • A process which attempts a protected access will trigger a protection fault.

  6. Application Memory Management: Allocation • When the program requests a block of memory, the memory manager must allocate that blockout of the larger blocks it has received from the operating system. • The part of the memory manager that does this is known as the allocator. • Allocation techniques: • First fit • Buddy system • Suballocators

  7. Application Memory Management: Recycling • When memory blocks have been allocated, but the data they contain is no longer required by the program, then the blocks can be recycled for reuse. • There are two approaches to recycling memory: • either the programmer must decide when memory can be reused (known as manual memory management); • or the memory manager must be able to work it out (known as automatic memory management).

  8. Application memory manager constraints • CPU overhead • The additional time taken by the memory manager while the program is running • Interactive pause times • How much delay an interactive user observes • Memory overhead • How much space is wasted for administration, rounding (known as internal fragmentation), and poor layout (known as external fragmentation).

  9. Memory management problems • Premature free or dangling pointer • Memory leak • External fragmentation • Poor locality of reference • Inflexible design • Interface complexity

More Related