As we know that memory is that which stores the programs and these programs are used by the CPU for processing. And there are two types of memories first is the logical memory and second is the physical memory. the memory which is temporary such as ram is also known as the temporary memory and the memory which is permanent such as hard disk is also known as the physical memory of system.
When we wants to execute any programs then that programs must be brought from the physical memory into the logical memory. So that we uses the concept of the memory management. this is the responsibility of the operating system to provide the memory spaces to each and every program. Also manage which process will be executed at that time.
Operating system translates the physical address into the logical address, if he wants to perform the operation, then he must translate the physical address into the logical address. This is the also known as binding. Means when a physical address is mapped or convert into the logical address, and then this is called as the binding.
There is also a concept which is also known as the dynamic loading, in this a program doesn’t reside into the memory of the computer and we must have to load that process for processing. So that when a process is loaded only when a request has found, then it is called as the loading of the process.
The contiguous allocation means the memory spaces is divided into the small and equal size and the different process uses the various partitions for running their applications process. And when a request has found then the process will allocate the space. And in this the contiguous spaces is provided to each and every process. Means all the process will reside in the memory of the computer and when a process will request for the memory then this available memory or free memory will be allotted to him.
But there will be problem when the memory which is required by the process is not enough for him or when the size of memory is less which is required for the process. So this problem is also known as the internal fragmentation. The main reason for the internal fragmentation is, all the memory is divided into the fixed and continuous sizes. So that if a process requires large memory then that process will not be fit into the small area.
The second problem is also occurred in the continues allocation. This is also known as the external fragmentation. In this when the memory is not enough after combing the multiple parts of single memory. In this when the required memory is high after combining the various areas of memory then this is called as external fragmentation. So there are the following problems arise when we use the contiguous memory allocation.
1) Wasted memory: the wasted memory is that memory which is unused and which can’t be given to the process. When the various process comes which require memory which is not available this is called as the wasted memory.
2) Time complexity: there is also wastage of time for allocating and de-allocating the memory spaces to the process.
3) Memory access – there must be some operations those are performed for providing the memory to the processes.