POS 355
The memory management process in operating systems proceeds under the requirements that include relocation, protection, sharing, logical organization, and physical organization. Each of these requirements is necessary in order for the operating system to correctly carry out the task of subdivision within the part of the memory where the program is being executed. Due to the complexity of memory location, multiprogramming system need to swap constantly between the main memory and the disk in order to prevent processor utilization waste. Because of this, relocation is necessary for when the program is swapped back into the main memory. It would be rather difficult and unneeded for the program to be placed in the same address as it was located before. A stack will form that will provide references for the instruction part of the program to be executed in order. When the relocation happens, the processor and the operating system are responsible for providing the current location of the program. This is used for the program code when physical addresses are needed. In order to prevent unintended interferences, the processor is responsible for protecting one process’s memory space from being accessed by another. During the run phase, the memory references of a process is to be verified that it only refers to the space allocated. Usually, the operating space allocated can never be accessed via user processes. Only in special circumstances can one process even access the allocated space of another process. Because of the mentioned circumstances, memory space needs to be held as flexible in case more than one process needs to access or execute the same program. Without the sharing feature of relocation, each process would need it own space of the same program which is an inefficient setup. While able to keep the standards to protect, the memory management system can allow access to
References: Stallings, W. (2011). Operating systems: Internals and design principles. Boston: Pearson.