These Requirements of memory management are: Relocation – The available memory is generally shared among a number of processes in a multiprogramming system, so it is... Protection – There is always a danger when we have multiple programs at the same time as one program may write to the... Sharing – ...
The memory protection requirement must be satisfied by the processor rather than the operating system because the operating system can hardly control a process when it occupies the processor. Thus it is possible to check the validity of memory references.
It allocates the memory dynamically to the programs at their request and frees it for reuse when it is no longer needed. Memory management meant to satisfy some requirements that we should keep in mind.
Logical organization – Main memory is organized as linear or it can be a one-dimensional address space which consists of a sequence of bytes or words. Most of the programs can be organized into modules, some of those are unmodifiable (read-only, execute only) and some of those contain data that can be modified.
Memory management keeps track of the status of each memory location, whether it is allocated or free. It allocates the memory dynamically to the programs at their request and frees it for reuse when it is no longer needed. Memory management meant to satisfy some requirements that we should keep in mind.
The memory protection requirement must be satisfied by the processor rather than the operating system because the operating system can hardly control a process when it occupies the processor.
Physical organization – The structure of computer memory has two levels referred to as main memory and secondary memory.
It has the following advantages: Modules are written and compiled independently and all the references from one module to another module are resolved by `the system at run time. Different modules are provided with different degrees of protection. There are mechanisms by which modules can be shared among processes.
The major system concern between main memory and secondary memory is the flow of information and it is impractical for programmers to understand this for two reasons: The programmer may engage in a practice known as overlaying when the main memory available for a program and its data may be insufficient.
Allowing each processes access to the same copy of the program rather than have their own separate copy has an advantage. For example, multiple processes may use the same system file and it is natural to load one copy of the file in main memory and let it shared by those processes. It is the task of Memory management to allow controlled access ...