Sara Eisenhower
POS/355
April 13, 2014
Jim Welti
University of Phoenix
According to “Memory Management” (n.d.) “Memory management is the act of managing computer memory. In its simpler forms, this involves providing ways to allocate portions of memory to programs at their request, and freeing it for reuse when no longer needed.” Memory management is essential to computer health and safety. In broad terms, one of the essential tasks memory management needs to accomplish is that each process has to have enough memory in which to execute its tasks and it cannot run into the memory space of another process or be run into by another process. Also, the different types of memory in the system must be used in a way so that each process can be used in the most effective way possible. In regards to hardware, memory management involves such things as RAM (random access memory), chips, memory caches, and flash based SSDs (solid-state drives). At the application level, memory management ensures availability of adequate memory. Application memory management combines allocation and recycling. (What Is Memory Management?, n.d.) When a program requests a block of memory the allocator assigns that block to the program. When the program no longer needs that allocated memory those memory blocks become available for reassignment. This can be done by the programmer or by the memory manager. One requirement for memory management is sharing. Different processes often need to be able to access the same part of memory, this is called shared memory. Shared memory is essential for inter-process communication. It is essential to note that it is better to allow each process access to the same copy of the program rather than their own separate copy. Another memory management requirement is relocation. While a program is executing it can be swapped to disk and returned to the main memory at a different location. This is relocating. Programs in memory need to be able to reside in different parts of the memory at different times. Memory management in the OS should be able to relocate programs in memory so