What is Contiguous Memory Allocation?

Article By Digamber Rawat Published on

A classical memory model of allocation that assigns the process of memory blocks in consecutive is known as the contiguous memory allocation. It is one of the oldest and most popular memory allocation schemes available to the people.

When any process needs to be carried out the process requests the memory for it. The size of this very process is much more significant when compared to the contiguous main memory that has been made available to carry out the entire process.

DigitalOcean Affiliate

Once the right amount of contiguous memory allocation is found, the memory that has been allocated starts to function. Nevertheless, it is added to the line of the whole waiting process and till the sufficient memory is available for execution.

Understand contiguous memory allocation

The contiguous memory allocation scheme is proficient of being integrated into various operating systems if two registers are appointed known as base and limit registers. When the process is carrying out in the main memory, the base register of the memory contains the starting address whereas the limit register takes note of the number of bytes that have been used by the process to run.

However, no process directly refers to an original or actual register but in place uses a virtual address.

All the addresses are referred to by the virtual addresses. The Central processing unit often generates addresses both virtual and logical. It is changed into an actual address and using the MMU or Memory Management Unit, and the base address is used for the task of address translation.

Since a base register of the address can be used for translation of the address by the MMU, a physical address is calculated like –

Physical Address = Base register address + Logical address/Virtual address

The respective address of any of the contiguous memory allocation is referred by a process that checks to ensure that it does not refer to any address of the neighbouring process, but the processing security handles the underlying OS.

The memory location usually conducts a test to check if the location received has appropriate and check if there no reference point to any of the neighbouring process. The underlying operating system handles this process of the security system. The address of any memory location referenced by a method is reviewed to guarantee that it does not belong to an address of a neighbouring process. The underlying operating system handles this processing security.

Digamber Rawat
Digamber Rawat

I am a software engineer from India, love to learn and write about latest web and mobile technologies like: MongoDB, Angular 2+, Firebase, Express JS, Python, Node JS, JavaScript, RxJS etc.