Q 4.2 - Memory Management

State memory management requirement that you know of.

Memory management is the form of controlling and coordinating computer memory such that running programs receives blocks that will optimize overall system performance.  Essentially then memory management is providing ways to dynamically allocate portions of memory to programs optimally.   Basic requirements for memory managements include Relocation, Protection, Sharing, Logical organization and Physical organization.

  • Relocation deals with assigning load addresses to position-dependent, but locatable code of a program.  This is done while adjusting the code and data in the program to reflect the assigned addresses.

  • Protection requires that each process should be protected against unwanted interference by other processes, whether accidental or intentional.  Thus, programs in other processes should not be able to reference memory locations in a process for reading or writing purposes without permission.

  • Sharing entails the ability of memory to be shared and a controlled access to this shared portion of the memory must be allowed.  Access to shared areas of memory must be done by the memory management process or system without compromising essential protection of data resident at this location of the memory.

  • Memory management should effectively deal with user programs and data in a module form so that they can be written and compiled independently, with all references from one module to another resolved by the system at run time,  with different degrees of protection (read only, execute only) to be given to different modules and have modules shared among processes.

  • mory management requirements in Physical Organization, should accommodate the practice of overlaying, in which the program and data are organized in such a way that various modules can be assigned the same region of memory, with a main program responsible for switching the modules in and out as needed.