Tyler Reeves
POS 355
August 12, 2013
Michele Gamberutti
Memory Management Requirements
For any operating system to function properly, one of the vital tasks it must be able to do is manage memory. When a program runs on a computer, it first must be loaded into memory before it can execute. There are five different requirements memory management must satisfy in order to execute the program so it runs without errors or corruption. These requirements are relocation, protection, sharing, logical organization, and physical organization.
Relocation
Relocation addresses the issue of where processes are located once they are loaded into main memory. When processes are no longer active, the system will swap them out to disc, or remove them from main memory and put them in a designated location on either secondary storage or tertiary storage. After a process gets swapped out to disc, the location it held in memory is now open to be used by other active processes. The act of swapping an inactive process out allows the system to operate faster and more efficiently. However, once the process becomes active again, the system needs to load it back into main memory. The second time the process gets loaded into main memory it is loaded into a different area of memory and this is known as relocation.
Protection
With relocation creating new addresses for processes in main memory, there is a chance other processes currently running may want to reference data in the new memory location. This is where the importance of protection comes into play. Because main memory is constantly having processes swapped in and out, all process locations in memory are considered to be variable, preventing the use of absolute memory addresses. The way this problem is handled, is by checking all memory references that a process creates at the time of execution to ensure the process is not trying to access a memory location that does not belong to it.
Sharing