October 15, 2012
Memory Management Requirements
There are two different types of programming systems; uniprogramming and multiprogramming. In uniprogramming there is just an operating system and the program that is currently being utilized. In multiprogramming, it is just as the term says, working to accommodate multiple programs. When are there is more than one program being executed at a time, there needs to be proper protocol and system checks. There are five requirements that memory management needs to satisfy: relocation, protection, and sharing, logical and physical organization. Relocation of a program is needed if the processor needs more resources. Knowing that the main memory is shared by many different programs and processes, there will be times that some might need to be swapped out. For example, if the processor needs to swap out a program to be more efficient, the chances are that it will not be put back into the exact location therefore it would be relocated to a different area of the memory. The requirement of relocation is important because if the memory does not allow for this then the processor would not be utilized efficiently and would make your system slow and unreliable. Protection is another requirement that is needed for memory management. “Each process should be protected against unwanted interference by other processes, whether accidental or intentional” (Stallings, 308). When the program is executed it will be checked by the processor at run time to make sure that it only has the proper memory reference of that particular program. Another requirement for memory management is sharing. Sharing happens when a lot of processes are running the same program. Instead of each process having its own copy of the program, the processes share one copy that is protected. Logical organization is the fourth requirement. Programs would be written in modules, which...