With memory management there are certain requirements that it is intended to satisfy. Those requirements are relocation, protection, sharing, logical organization, and physical organization.
As an essential part of memory management these areas will be discussed below. RelocationThe importance of relocation according to Stallings (2012), is to maximize utilization of the processor by swapping active process in and out of memory. By doing this it provides many processes that are ready to use. By making the process accessible it means that it will not always be placed in the same area of memory. The operating system provides an address a process can be pulled from the last location it was placed.
ProtectionInterference from other processes can cause irritation and should be protected against. Thus Stallings (2012) states that programs need permission to read or write. This is checked at run time by the processor to ensure that the program refers only to the memory for that process. It is protected by the processor and not the software, because it would be too time consuming for the Operating System to check and make sure every program has access to all the information it is trying to refer to. SharingSeveral processes should have access to the same portion of protected main memory.
By sharing data it prevents processes from having their own set of the same main memory. This sharing frees up memory space for other data.Logical Organization Segmentation is recommended by Stallings (2012) for logical organization. It gives three advantages. The first is sharing on a module level, which allows the user to specify sharing desired.
The second advantage is that it allows for different degrees of protection that can be assigned to modules. Lastly, it allows a module to be written and compiled independently. Physical OrganizationStallings (2012) recommends that the physical organization be the operating systems responsibility. This will prevent two problems from occurring. Overlaying which is when a programmer wastes their time by putting programs and data in the same region of memory.
The second concern is when there is a multi-programming environment and the programmer does not know where the space will be or how much memory space is available. ConclusionRelocation, protection, sharing, local organization, and physical organization are essential to keep processes running smooth, which helps in not ticking off the user. Relocation because it allows a large pool of process to be used, protection keeps away unwanted interferences, sharing data to keep processes from having their own sets of the same data which take up memory, logical organization to keep things streamlined, and physical organization performed by an operating system to avoid wasted time and memory space. The memory management requirements, when made-the-most-of, will make users very happy.